On 8 Mar 2023 15:08:21 +0100 Mirsad Todorovac <mirsad.todorovac@xxxxxxxxxxxx>
Please see the bug reports from the kernel log:
https://domac.alu.hr/~mtodorov/linux/bugreports/integrity/20230308_123748.jpg
https://domac.alu.hr/~mtodorov/linux/bugreports/integrity/20230308_123752.jpg
The kernel is Linux 6.2.0-mg-andy-devres-12485-gf3a2439f20d9-dirty x86_64
on a LENOVO_MT_10TX_BU_Lenovo_FM_V530S-07ICB running AlmaLinux 8.7.
Only in case no support from your linux vendor, take a look at the debug/fix
diffs below.
I was unable to reproduce on the other Lenovo laptop box, for the kernel
refused to boot, unable to find root drive on NVMe (other kernels w/o
CONFIG_DEBUG_KOBJECT=y run smoothly).
Config used is:
https://domac.alu.hr/~mtodorov/linux/bugreports/integrity/config-6.2.0-mg-andy-devres-12485-gf3a2439f20d9-dirty
As I already said to Andy, this might not be a critical bug, for it happens
only at shutdown AFAICS. However, it can be a sign of some more serious problem
in the code. :-/
Hope this helps.
Regards,
Mirsad
--
Mirsad Goran Todorovac
Sistem inženjer
Grafički fakultet | Akademija likovnih umjetnosti
Sveučilište u Zagrebu
System engineer
Faculty of Graphic Arts | Academy of Fine Arts
University of Zagreb, Republic of Croatia
Add a dummy release callback to the integrity ktype in order to
quiesce kobj warning.
--- 6.2/block/blk-integrity.c
+++ b/block/blk-integrity.c
@@ -356,7 +356,11 @@ static const struct sysfs_ops integrity_
.store = &integrity_attr_store,
};
+static void blk_integrity_kobj_release(struct kobject *kobj)
+{
+}
static const struct kobj_type integrity_ktype = {
+ .release = blk_integrity_kobj_release,
.default_groups = integrity_groups,
.sysfs_ops = &integrity_ops,
};
--
Add debug info to catch invalid kobj type.
--- 6.2/lib/kobject.c
+++ b/lib/kobject.c
@@ -443,6 +443,8 @@ int kobject_init_and_add(struct kobject
va_list args;
int retval;
+ if (WARN_ON(!ktype || !ktype->release))
+ return -EINVAL;
kobject_init(kobj, ktype);
va_start(args, fmt);
--