From: Rusty Russell <rusty@rustcorp.com.au>
To: lkp@lists.01.org
Subject: Re: [params] RIP: 0010:[<ffffffff811c1a04>] [<ffffffff811c1a04>] sysfs_add_file_mode_ns+0x64/0x1f0
Date: Tue, 13 Jan 2015 13:38:11 +1030 [thread overview]
Message-ID: <871tmzz8bo.fsf@rustcorp.com.au> (raw)
In-Reply-To: <1421030743.6201.154.camel@intel.com>
[-- Attachment #1: Type: text/plain, Size: 1310 bytes --]
Huang Ying <ying.huang@intel.com> 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 <ying.huang@intel.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
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;
WARNING: multiple messages have this Message-ID (diff)
From: Rusty Russell <rusty@rustcorp.com.au>
To: Huang Ying <ying.huang@intel.com>
Cc: LKML <linux-kernel@vger.kernel.org>, LKP ML <lkp@01.org>,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [LKP] [params] RIP: 0010:[<ffffffff811c1a04>] [<ffffffff811c1a04>] sysfs_add_file_mode_ns+0x64/0x1f0
Date: Tue, 13 Jan 2015 13:38:11 +1030 [thread overview]
Message-ID: <871tmzz8bo.fsf@rustcorp.com.au> (raw)
In-Reply-To: <1421030743.6201.154.camel@intel.com>
Huang Ying <ying.huang@intel.com> 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 <ying.huang@intel.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
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;
next prev parent reply other threads:[~2015-01-13 3:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-12 2:45 [params] RIP: 0010:[<ffffffff811c1a04>] [<ffffffff811c1a04>] sysfs_add_file_mode_ns+0x64/0x1f0 Huang Ying
2015-01-13 3:08 ` Rusty Russell [this message]
2015-01-13 3:08 ` [LKP] " Rusty Russell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871tmzz8bo.fsf@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=lkp@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.