summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO22
-rw-r--r--0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch2
-rw-r--r--0002-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch2
-rw-r--r--0003-soundwire-intel-Initialize-clock-stop-timeout.patch2
-rw-r--r--0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch6
-rw-r--r--0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch2
-rw-r--r--0006-drm-i915-Fix-unhandled-deadlock-in-grab_vma.patch223
-rw-r--r--PKGBUILD18
-rw-r--r--config12
9 files changed, 258 insertions, 31 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 30f7d394c89e..1a72e73002a0 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
pkgbase = linux-ck
- pkgver = 6.0.9
+ pkgver = 6.0.10
pkgrel = 1
url = https://wiki.archlinux.org/index.php/Linux-ck
arch = x86_64
@@ -11,8 +11,8 @@ pkgbase = linux-ck
makedepends = tar
makedepends = xz
options = !strip
- source = https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.0.9.tar.xz
- source = https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.0.9.tar.sign
+ source = https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.0.10.tar.xz
+ source = https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.0.10.tar.sign
source = config
source = more-uarches-20221104.tar.gz::https://github.com/graysky2/kernel_compiler_patch/archive/20221104.tar.gz
source = ck-hrtimer-5be918e798e2c2cc94fa7dd0f6f031921a4f7598.tar.gz::https://github.com/graysky2/linux-patches/archive/5be918e798e2c2cc94fa7dd0f6f031921a4f7598.tar.gz
@@ -21,18 +21,20 @@ pkgbase = linux-ck
source = 0003-soundwire-intel-Initialize-clock-stop-timeout.patch
source = 0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch
source = 0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch
+ source = 0006-drm-i915-Fix-unhandled-deadlock-in-grab_vma.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
- sha256sums = 6114a208e82739b4a1ab059ace35262be2a83be34cd1ae23cb8a09337db831c7
+ sha256sums = 39e57fcd84cd70bfa3e1a4185d3aa0ed7f1432f24c6548d16326b0c3c9541dd0
sha256sums = SKIP
- sha256sums = 05168cbbeb6378eec6c84fe3300cede4fa5cf6130c39fb8af95040529bd390a6
+ sha256sums = 848ccd048f91b17f0e0192d2900c462986eeacf78bb578b2de9498c4a0526983
sha256sums = 3a8f397b89bad95c46f42c0f80ede7536a4a45a28621e00ed486918a55f905ed
sha256sums = 85b197dbe033264925b4803b3c8907ed73b967061c098e269eacd5575d6da34b
- sha256sums = ff9076ecd73cc7725d2c9c0d9d381904b9bcc75cffc0da7ecccc0886c99b02a2
- sha256sums = b9a998b084cd583dac4cc755aab79e8810013c4c0d6d9f5e4fa78d2939314ced
- sha256sums = 757cb209f1b1759f4c9efcc77501be9ee73676db069d0440104255ab35c4cdd0
- sha256sums = a3ffe9f133029d60bf8fa66775cee64e160ddf33c265e7807eb3dea7d1981ac4
- sha256sums = 26669e4925ac1869eeb53a7d9578c8af742c6a7e8cdcdb9af2c081774581a032
+ sha256sums = 05a9b754ff501c45833238db1f304533a3b0aec3f9281cb8381c580066a2eff5
+ sha256sums = 800804877e411394cd7aa77884054e0447da51b5fb010e3f3f992bfe41e41fba
+ sha256sums = 3f5a6fc58ae54bcfd95e147a2156c501eecfd9fcf2a9ceed056df87d59954af8
+ sha256sums = 9aeaddde2dd4bca54ee00ee11a53677a3afe82c61543c416708edaa0f27097c9
+ sha256sums = 5d22887375ab7a8615b7ad84445d5c62350be23873396222c48f6e39dd64161c
+ sha256sums = 966f24db411f100a2c7028c7e26814fa34a742f55a236df5df5357174404750a
pkgname = linux-ck
pkgdesc = The Linux kernel and modules with ck's hrtimer patches
diff --git a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
index 729a9b92202a..a53367407193 100644
--- a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
+++ b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
@@ -1,4 +1,4 @@
-From d6cebe6cf6f0f344134326a02131a281f507c437 Mon Sep 17 00:00:00 2001
+From f763c5f50435a3eb7e9ebf2bdc98c6f42d76eb34 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Mon, 16 Sep 2019 04:53:20 +0200
Subject: [PATCH 1/7] ZEN: Add sysctl and CONFIG to disallow unprivileged
diff --git a/0002-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch b/0002-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch
index 0dc77994236f..95bb2f11106d 100644
--- a/0002-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch
+++ b/0002-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch
@@ -1,4 +1,4 @@
-From 3289d1b987742ac1a7fdabdc91db1849844e8713 Mon Sep 17 00:00:00 2001
+From a6f5827368ab235751c4af71b3c27c601ff803f1 Mon Sep 17 00:00:00 2001
From: Johannes Weiner <hannes@cmpxchg.org>
Date: Tue, 2 Aug 2022 12:28:11 -0400
Subject: [PATCH 2/7] mm: vmscan: fix extreme overreclaim and swap floods
diff --git a/0003-soundwire-intel-Initialize-clock-stop-timeout.patch b/0003-soundwire-intel-Initialize-clock-stop-timeout.patch
index fd8c8abd0cd1..46502e56099e 100644
--- a/0003-soundwire-intel-Initialize-clock-stop-timeout.patch
+++ b/0003-soundwire-intel-Initialize-clock-stop-timeout.patch
@@ -1,4 +1,4 @@
-From 6daf906d3fd4818ba9be0a806df94f7a4c20f263 Mon Sep 17 00:00:00 2001
+From 5ee238d09efc2243473b0eaa14496c18e1d1c924 Mon Sep 17 00:00:00 2001
From: Sjoerd Simons <sjoerd@collabora.com>
Date: Sat, 8 Oct 2022 21:57:51 +0200
Subject: [PATCH 3/7] soundwire: intel: Initialize clock stop timeout
diff --git a/0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch b/0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch
index 8f58ced64ba3..51063a433be4 100644
--- a/0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch
+++ b/0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch
@@ -1,4 +1,4 @@
-From 3a3573ec2d5f7453819ff0c2701501e753a71907 Mon Sep 17 00:00:00 2001
+From 0f134b2b1903b238d7bd126c45c59242025fd823 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Fri, 7 Oct 2022 09:51:13 +0200
Subject: [PATCH 4/7] drm/sched: add DRM_SCHED_FENCE_DONT_PIPELINE flag
@@ -17,10 +17,10 @@ Signed-off-by: Christian König <christian.koenig@amd.com>
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler/sched_entity.c
-index 6b25b2f4f5a3..6137537aaea4 100644
+index 7ef1a086a6fb..4b913dbb7d7b 100644
--- a/drivers/gpu/drm/scheduler/sched_entity.c
+++ b/drivers/gpu/drm/scheduler/sched_entity.c
-@@ -385,7 +385,8 @@ static bool drm_sched_entity_add_dependency_cb(struct drm_sched_entity *entity)
+@@ -389,7 +389,8 @@ static bool drm_sched_entity_add_dependency_cb(struct drm_sched_entity *entity)
}
s_fence = to_drm_sched_fence(fence);
diff --git a/0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch b/0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch
index b6a85f9e4d21..291fee74396f 100644
--- a/0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch
+++ b/0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch
@@ -1,4 +1,4 @@
-From 5d9fceb0e65b7ac6aa6426fc6957e999f1cc2b9f Mon Sep 17 00:00:00 2001
+From 6e755c436e31374e96be923e96d4bc81a8a13f6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Fri, 7 Oct 2022 10:59:58 +0200
Subject: [PATCH 5/7] drm/amdgpu: use DRM_SCHED_FENCE_DONT_PIPELINE for VM
diff --git a/0006-drm-i915-Fix-unhandled-deadlock-in-grab_vma.patch b/0006-drm-i915-Fix-unhandled-deadlock-in-grab_vma.patch
new file mode 100644
index 000000000000..cecf8b9caa8e
--- /dev/null
+++ b/0006-drm-i915-Fix-unhandled-deadlock-in-grab_vma.patch
@@ -0,0 +1,223 @@
+From f7f83dfc74d55e134cc85668089d66d4d6df2107 Mon Sep 17 00:00:00 2001
+From: Mani Milani <mani@chromium.org>
+Date: Thu, 10 Nov 2022 16:31:33 +1100
+Subject: [PATCH 6/7] drm/i915: Fix unhandled deadlock in grab_vma()
+
+At present, the gpu thread crashes at times when grab_vma() attempts to
+acquire a gem object lock when in a deadlock state.
+
+Problems:
+I identified the following 4 issues in the current code:
+1. Since grab_vma() calls i915_gem_object_trylock(), which consequently
+ calls ww_mutex_trylock(), to acquire lock, it does not perform any
+ -EDEADLK handling; And -EALREADY handling is also unreliable,
+ according to the description of ww_mutex_trylock().
+2. Since the return value of grab_vma() is a boolean showing
+ success/failure, it does not provide any extra information on the
+ failure reason, and therefore does not provide any mechanism to its
+ caller to take any action to fix a potential deadlock.
+3. Current grab_vma() implementation produces inconsistent behaviour
+ depending on the refcount value, without informing the caller. If
+ refcount is already zero, grab_vma() neither acquires lock nor
+ increments the refcount, but still returns 'true' for success! This
+ means that grab_vma() returning true (for success) does not always
+ mean that the gem obj is actually safely accessible.
+4. Currently, calling "i915_gem_object_lock(obj,ww)" is meant to be
+ followed by a consequent "i915_gem_object_unlock(obj)" ONLY if the
+ original 'ww' object pointer was NULL, or otherwise not be called and
+ leave the houskeeping to "i915_gem_ww_ctx_fini(ww)". There are a few
+ issues with this:
+ - This is not documented anywhere in the code (that I could find),
+ but only explained in an older commit message.
+ - This produces an inconsistent usage of the lock/unlock functions,
+ increasing the chance of mistakes and issues.
+ - This is not a clean design as it requires any new code that calls
+ these lock/unlock functions to know their internals, as well as the
+ internals of the functions calling the new code being added.
+
+Fix:
+To fix the issues above, this patch:
+1. Changes grab_vma() to call i915_gem_object_lock() instead of
+ i915_gem_object_trylock(), to handle -EDEADLK and -EALREADY cases.
+ This should not cause any issue since the PIN_NONBLOCK flag is
+ checked beforehand in the 2 cases grab_vma() is called.
+2. Changes grab_vma() to return the actual error code, instead of bool.
+3. Changes grab_vma() to behave consistently when returning success, by
+ both incrementing the refcount and acquiring lock at all times.
+4. Changes i915_gem_object_unlock() to pair with i915_gem_object_lock()
+ nicely in all cases and do the housekeeping without the need for the
+ caller to do anything other than simply calling lock and unlock.
+5. Ensures the gem obj->obj_link is initialized and deleted from the ww
+ list such that it can be tested for emptiness using list_empty().
+
+Signed-off-by: Mani Milani <mani@chromium.org>
+For: https://gitlab.freedesktop.org/drm/intel/-/issues/7570
+---
+ drivers/gpu/drm/i915/gem/i915_gem_object.c | 2 +
+ drivers/gpu/drm/i915/gem/i915_gem_object.h | 10 ++++-
+ drivers/gpu/drm/i915/i915_gem_evict.c | 48 ++++++++++++----------
+ drivers/gpu/drm/i915/i915_gem_ww.c | 8 ++--
+ 4 files changed, 41 insertions(+), 27 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
+index 85482a04d158..0caf171b37d9 100644
+--- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
++++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
+@@ -78,6 +78,8 @@ void i915_gem_object_init(struct drm_i915_gem_object *obj,
+
+ INIT_LIST_HEAD(&obj->mm.link);
+
++ INIT_LIST_HEAD(&obj->obj_link);
++
+ INIT_LIST_HEAD(&obj->lut_list);
+ spin_lock_init(&obj->lut_lock);
+
+diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
+index 6f0a3ce35567..fe634aebc067 100644
+--- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
++++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
+@@ -219,7 +219,7 @@ static inline bool i915_gem_object_trylock(struct drm_i915_gem_object *obj,
+ return ww_mutex_trylock(&obj->base.resv->lock, &ww->ctx);
+ }
+
+-static inline void i915_gem_object_unlock(struct drm_i915_gem_object *obj)
++static inline void __i915_gem_object_unlock(struct drm_i915_gem_object *obj)
+ {
+ if (obj->ops->adjust_lru)
+ obj->ops->adjust_lru(obj);
+@@ -227,6 +227,14 @@ static inline void i915_gem_object_unlock(struct drm_i915_gem_object *obj)
+ dma_resv_unlock(obj->base.resv);
+ }
+
++static inline void i915_gem_object_unlock(struct drm_i915_gem_object *obj)
++{
++ if (list_empty(&obj->obj_link))
++ __i915_gem_object_unlock(obj);
++ else
++ i915_gem_ww_unlock_single(obj);
++}
++
+ static inline void
+ i915_gem_object_set_readonly(struct drm_i915_gem_object *obj)
+ {
+diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c
+index f025ee4fa526..3eb514b4eddc 100644
+--- a/drivers/gpu/drm/i915/i915_gem_evict.c
++++ b/drivers/gpu/drm/i915/i915_gem_evict.c
+@@ -55,29 +55,33 @@ static int ggtt_flush(struct intel_gt *gt)
+ return intel_gt_wait_for_idle(gt, MAX_SCHEDULE_TIMEOUT);
+ }
+
+-static bool grab_vma(struct i915_vma *vma, struct i915_gem_ww_ctx *ww)
++static int grab_vma(struct i915_vma *vma, struct i915_gem_ww_ctx *ww)
+ {
++ int err;
++
++ /* Dead objects don't need pins */
++ if (dying_vma(vma))
++ atomic_and(~I915_VMA_PIN_MASK, &vma->flags);
++
++ err = i915_gem_object_lock(vma->obj, ww);
++
+ /*
+ * We add the extra refcount so the object doesn't drop to zero until
+- * after ungrab_vma(), this way trylock is always paired with unlock.
++ * after ungrab_vma(), this way lock is always paired with unlock.
+ */
+- if (i915_gem_object_get_rcu(vma->obj)) {
+- if (!i915_gem_object_trylock(vma->obj, ww)) {
+- i915_gem_object_put(vma->obj);
+- return false;
+- }
+- } else {
+- /* Dead objects don't need pins */
+- atomic_and(~I915_VMA_PIN_MASK, &vma->flags);
+- }
++ if (!err)
++ i915_gem_object_get(vma->obj);
+
+- return true;
++ return err;
+ }
+
+ static void ungrab_vma(struct i915_vma *vma)
+ {
+- if (dying_vma(vma))
++ if (dying_vma(vma)) {
++ /* Dead objects don't need pins */
++ atomic_and(~I915_VMA_PIN_MASK, &vma->flags);
+ return;
++ }
+
+ i915_gem_object_unlock(vma->obj);
+ i915_gem_object_put(vma->obj);
+@@ -93,10 +97,11 @@ mark_free(struct drm_mm_scan *scan,
+ if (i915_vma_is_pinned(vma))
+ return false;
+
+- if (!grab_vma(vma, ww))
++ if (grab_vma(vma, ww))
+ return false;
+
+ list_add(&vma->evict_link, unwind);
++
+ return drm_mm_scan_add_block(scan, &vma->node);
+ }
+
+@@ -284,10 +289,12 @@ i915_gem_evict_something(struct i915_address_space *vm,
+ vma = container_of(node, struct i915_vma, node);
+
+ /* If we find any non-objects (!vma), we cannot evict them */
+- if (vma->node.color != I915_COLOR_UNEVICTABLE &&
+- grab_vma(vma, ww)) {
+- ret = __i915_vma_unbind(vma);
+- ungrab_vma(vma);
++ if (vma->node.color != I915_COLOR_UNEVICTABLE) {
++ ret = grab_vma(vma, ww);
++ if (!ret) {
++ ret = __i915_vma_unbind(vma);
++ ungrab_vma(vma);
++ }
+ } else {
+ ret = -ENOSPC;
+ }
+@@ -382,10 +389,9 @@ int i915_gem_evict_for_node(struct i915_address_space *vm,
+ break;
+ }
+
+- if (!grab_vma(vma, ww)) {
+- ret = -ENOSPC;
++ ret = grab_vma(vma, ww);
++ if (ret)
+ break;
+- }
+
+ /*
+ * Never show fear in the face of dragons!
+diff --git a/drivers/gpu/drm/i915/i915_gem_ww.c b/drivers/gpu/drm/i915/i915_gem_ww.c
+index 3f6ff139478e..937b279f50fc 100644
+--- a/drivers/gpu/drm/i915/i915_gem_ww.c
++++ b/drivers/gpu/drm/i915/i915_gem_ww.c
+@@ -19,16 +19,14 @@ static void i915_gem_ww_ctx_unlock_all(struct i915_gem_ww_ctx *ww)
+ struct drm_i915_gem_object *obj;
+
+ while ((obj = list_first_entry_or_null(&ww->obj_list, struct drm_i915_gem_object, obj_link))) {
+- list_del(&obj->obj_link);
+- i915_gem_object_unlock(obj);
+- i915_gem_object_put(obj);
++ i915_gem_ww_unlock_single(obj);
+ }
+ }
+
+ void i915_gem_ww_unlock_single(struct drm_i915_gem_object *obj)
+ {
+- list_del(&obj->obj_link);
+- i915_gem_object_unlock(obj);
++ list_del_init(&obj->obj_link);
++ __i915_gem_object_unlock(obj);
+ i915_gem_object_put(obj);
+ }
+
+--
+2.38.1
+
diff --git a/PKGBUILD b/PKGBUILD
index 46afd5e6cbc2..db0015fcc293 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -68,7 +68,7 @@ _subarch=
### IMPORTANT: Do no edit below this line unless you know what you're doing
pkgbase=linux-ck
-pkgver=6.0.9
+pkgver=6.0.10
pkgrel=1
arch=(x86_64)
url="https://wiki.archlinux.org/index.php/Linux-ck"
@@ -95,21 +95,23 @@ source=(
0003-soundwire-intel-Initialize-clock-stop-timeout.patch
0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch
0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch
+ 0006-drm-i915-Fix-unhandled-deadlock-in-grab_vma.patch
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
-sha256sums=('6114a208e82739b4a1ab059ace35262be2a83be34cd1ae23cb8a09337db831c7'
+sha256sums=('39e57fcd84cd70bfa3e1a4185d3aa0ed7f1432f24c6548d16326b0c3c9541dd0'
'SKIP'
- '05168cbbeb6378eec6c84fe3300cede4fa5cf6130c39fb8af95040529bd390a6'
+ '848ccd048f91b17f0e0192d2900c462986eeacf78bb578b2de9498c4a0526983'
'3a8f397b89bad95c46f42c0f80ede7536a4a45a28621e00ed486918a55f905ed'
'85b197dbe033264925b4803b3c8907ed73b967061c098e269eacd5575d6da34b'
- 'ff9076ecd73cc7725d2c9c0d9d381904b9bcc75cffc0da7ecccc0886c99b02a2'
- 'b9a998b084cd583dac4cc755aab79e8810013c4c0d6d9f5e4fa78d2939314ced'
- '757cb209f1b1759f4c9efcc77501be9ee73676db069d0440104255ab35c4cdd0'
- 'a3ffe9f133029d60bf8fa66775cee64e160ddf33c265e7807eb3dea7d1981ac4'
- '26669e4925ac1869eeb53a7d9578c8af742c6a7e8cdcdb9af2c081774581a032')
+ '05a9b754ff501c45833238db1f304533a3b0aec3f9281cb8381c580066a2eff5'
+ '800804877e411394cd7aa77884054e0447da51b5fb010e3f3f992bfe41e41fba'
+ '3f5a6fc58ae54bcfd95e147a2156c501eecfd9fcf2a9ceed056df87d59954af8'
+ '9aeaddde2dd4bca54ee00ee11a53677a3afe82c61543c416708edaa0f27097c9'
+ '5d22887375ab7a8615b7ad84445d5c62350be23873396222c48f6e39dd64161c'
+ '966f24db411f100a2c7028c7e26814fa34a742f55a236df5df5357174404750a')
prepare() {
cd linux-${pkgver}
diff --git a/config b/config
index ffc1c82956a6..4ce2c413ed6b 100644
--- a/config
+++ b/config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 6.0.5-arch1 Kernel Configuration
+# Linux/x86 6.0.10-arch2 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0"
CONFIG_CC_IS_GCC=y
@@ -4470,7 +4470,7 @@ CONFIG_IPMI_IPMB=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_IPMB_DEVICE_INTERFACE=m
-CONFIG_HW_RANDOM=m
+CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
@@ -4497,10 +4497,10 @@ CONFIG_DEVPORT=y
CONFIG_HPET=y
# CONFIG_HPET_MMAP is not set
CONFIG_HANGCHECK_TIMER=m
-CONFIG_TCG_TPM=m
+CONFIG_TCG_TPM=y
CONFIG_HW_RANDOM_TPM=y
-CONFIG_TCG_TIS_CORE=m
-CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_CORE=y
+CONFIG_TCG_TIS=y
CONFIG_TCG_TIS_SPI=m
CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_I2C=m
@@ -4512,7 +4512,7 @@ CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
CONFIG_TCG_XEN=m
-CONFIG_TCG_CRB=m
+CONFIG_TCG_CRB=y
CONFIG_TCG_VTPM_PROXY=m
CONFIG_TCG_TIS_ST33ZP24=m
CONFIG_TCG_TIS_ST33ZP24_I2C=m