[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGXu5jLG6SpO9KawHx44-da7ftE5zbywbw4Ba7vBc4WFLY4EuA@mail.gmail.com>
Date: Thu, 8 Dec 2016 13:17:45 -0800
From: Kees Cook <keescook@...omium.org>
To: "Luis R. Rodriguez" <mcgrof@...nel.org>
Cc: shuah@...nel.org, Jessica Yu <jeyu@...hat.com>,
Rusty Russell <rusty@...tcorp.com.au>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Arnaldo Carvalho de Melo <acme@...hat.com>,
Jonathan Corbet <corbet@....net>, martin.wilck@...e.com,
Michal Marek <mmarek@...e.com>, Petr Mladek <pmladek@...e.com>,
hare <hare@...e.com>, rwright@....com,
Jeff Mahoney <jeffm@...e.com>, DSterba@...e.com,
Filipe Manana <fdmanana@...e.com>, NeilBrown <neilb@...e.com>,
Guenter Roeck <linux@...ck-us.net>, rgoldwyn@...e.com,
subashab@...eaurora.org, Heinrich Schuchardt <xypron.glpk@....de>,
Aaron Tomlin <atomlin@...hat.com>,
Miroslav Benes <mbenes@...e.cz>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Dan Williams <dan.j.williams@...el.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
"David S. Miller" <davem@...emloft.net>,
Ingo Molnar <mingo@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
linux-kselftest@...r.kernel.org,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [RFC 02/10] module: fix memory leak on early load_module() failures
On Thu, Dec 8, 2016 at 1:10 PM, Luis R. Rodriguez <mcgrof@...nel.org> wrote:
> On Thu, Dec 8, 2016 at 2:30 PM, Kees Cook <keescook@...omium.org> wrote:
>> On Thu, Dec 8, 2016 at 11:48 AM, Luis R. Rodriguez <mcgrof@...nel.org> wrote:
>>> While looking for early possible module loading failures I was
>>> able to reproduce a memory leak possible with kmemleak. There
>>> are a few rare ways to trigger a failure:
>>>
>>> o we've run into a failure while processing kernel parameters
>>> (parse_args() returns an error)
>>> o mod_sysfs_setup() fails
>>> o we're a live patch module and copy_module_elf() fails
>>>
>>> Chances of running into this issue is really low.
>>>
>>> kmemleak splat:
>>>
>>> unreferenced object 0xffff9f2c4ada1b00 (size 32):
>>> comm "kworker/u16:4", pid 82, jiffies 4294897636 (age 681.816s)
>>> hex dump (first 32 bytes):
>>> 6d 65 6d 73 74 69 63 6b 30 00 00 00 00 00 00 00 memstick0.......
>>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
>>> backtrace:
>>> [<ffffffff8c6cfeba>] kmemleak_alloc+0x4a/0xa0
>>> [<ffffffff8c200046>] __kmalloc_track_caller+0x126/0x230
>>> [<ffffffff8c1bc581>] kstrdup+0x31/0x60
>>> [<ffffffff8c1bc5d4>] kstrdup_const+0x24/0x30
>>> [<ffffffff8c3c23aa>] kvasprintf_const+0x7a/0x90
>>> [<ffffffff8c3b5481>] kobject_set_name_vargs+0x21/0x90
>>> [<ffffffff8c4fbdd7>] dev_set_name+0x47/0x50
>>> [<ffffffffc07819e5>] memstick_check+0x95/0x33c [memstick]
>>> [<ffffffff8c09c893>] process_one_work+0x1f3/0x4b0
>>> [<ffffffff8c09cb98>] worker_thread+0x48/0x4e0
>>> [<ffffffff8c0a2b79>] kthread+0xc9/0xe0
>>> [<ffffffff8c6dab5f>] ret_from_fork+0x1f/0x40
>>> [<ffffffffffffffff>] 0xffffffffffffffff
>>>
>>> Signed-off-by: Luis R. Rodriguez <mcgrof@...nel.org>
>>
>> Acked-by: Kees Cook <keescook@...omium.org>
>>
>> Is this worth sending through -stable too?
>
> Yes, for some reason git-send e-mail complained to me about
> stable@...nel.org not being a valid local address, so I had to remove
> it, but indeed. I'll try to fix this e-mail issue later and add your
> tag.
Yup, you want stable@...r.kernel.org. :)
-Kees
--
Kees Cook
Nexus Security
Powered by blists - more mailing lists