Huang Ying <[email protected]> writes: > FYI, we noticed the below changes on > > commit 18eb74fa94161380c1acc9cf562cb835c4e54a25 ("params: cleanup sysfs > allocation")
Thanks! This is caused by CONFIG_DEBUG_LOCK_ALLOC, which adds fields to 'struct attribute'. In particular ignore_lockdep is never initialized. If we memset to 0 before calling sysfs_attr_init() (which doesn't actually initialize the attribute!), this is fixed. Cheers, Rusty. Subject: param: fix uninitialized read with CONFIG_DEBUG_LOCK_ALLOC ignore_lockdep is uninitialized, and sysfs_attr_init() doesn't initialize it, so memset to 0. Reported-by: Huang Ying <[email protected]> Cc: Eric W. Biederman <[email protected]> Signed-off-by: Rusty Russell <[email protected]> diff --git a/kernel/params.c b/kernel/params.c index bd65d136a470..728e05b167de 100644 --- a/kernel/params.c +++ b/kernel/params.c @@ -642,6 +642,7 @@ static __modinit int add_sysfs_param(struct module_kobject *mk, mk->mp->grp.attrs = new_attrs; /* Tack new one on the end. */ + memset(&mk->mp->attrs[mk->mp->num], 0, sizeof(mk->mp->attrs[0])); sysfs_attr_init(&mk->mp->attrs[mk->mp->num].mattr.attr); mk->mp->attrs[mk->mp->num].param = kp; mk->mp->attrs[mk->mp->num].mattr.show = param_attr_show; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

