Fix lockdep warning on insmod
sysfs_attr_init() is required to make lockdep happy for dynamically allocated sysfs attributes. This fixed #8868 on Fedora 29 running kernel-debug. This requirement was introduced in 2.6.34. See include/linux/sysfs.h for what it actually does. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Olaf Faaland <faaland1@llnl.gov> Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com> Closes #8868 Closes #8884
This commit is contained in:
parent
d9b4bf0665
commit
daddbdc7cc
|
@ -144,6 +144,10 @@ zfs_kobj_release(struct kobject *kobj)
|
|||
zkobj->zko_attr_count = 0;
|
||||
}
|
||||
|
||||
#ifndef sysfs_attr_init
|
||||
#define sysfs_attr_init(attr) do {} while (0)
|
||||
#endif
|
||||
|
||||
static void
|
||||
zfs_kobj_add_attr(zfs_mod_kobj_t *zkobj, int attr_num, const char *attr_name)
|
||||
{
|
||||
|
@ -154,6 +158,7 @@ zfs_kobj_add_attr(zfs_mod_kobj_t *zkobj, int attr_num, const char *attr_name)
|
|||
zkobj->zko_attr_list[attr_num].name = attr_name;
|
||||
zkobj->zko_attr_list[attr_num].mode = 0444;
|
||||
zkobj->zko_default_attrs[attr_num] = &zkobj->zko_attr_list[attr_num];
|
||||
sysfs_attr_init(&zkobj->zko_attr_list[attr_num]);
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
Loading…
Reference in New Issue