Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753805AbcLHVKz (ORCPT ); Thu, 8 Dec 2016 16:10:55 -0500 Received: from mail.kernel.org ([198.145.29.136]:54390 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753706AbcLHVKx (ORCPT ); Thu, 8 Dec 2016 16:10:53 -0500 MIME-Version: 1.0 In-Reply-To: References: <20161208184801.1689-1-mcgrof@kernel.org> <20161208194802.2438-1-mcgrof@kernel.org> From: "Luis R. Rodriguez" Date: Thu, 8 Dec 2016 15:10:26 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC 02/10] module: fix memory leak on early load_module() failures To: Kees Cook Cc: shuah@kernel.org, Jessica Yu , Rusty Russell , "Eric W. Biederman" , Dmitry Torokhov , Arnaldo Carvalho de Melo , Jonathan Corbet , martin.wilck@suse.com, Michal Marek , Petr Mladek , hare , rwright@hpe.com, Jeff Mahoney , DSterba@suse.com, Filipe Manana , NeilBrown , Guenter Roeck , rgoldwyn@suse.com, subashab@codeaurora.org, Heinrich Schuchardt , Aaron Tomlin , Miroslav Benes , "Paul E. McKenney" , Dan Williams , Josh Poimboeuf , "David S. Miller" , Ingo Molnar , Andrew Morton , Linus Torvalds , linux-kselftest@vger.kernel.org, "linux-doc@vger.kernel.org" , LKML Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1994 Lines: 47 On Thu, Dec 8, 2016 at 2:30 PM, Kees Cook wrote: > On Thu, Dec 8, 2016 at 11:48 AM, Luis R. Rodriguez 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: >> [] kmemleak_alloc+0x4a/0xa0 >> [] __kmalloc_track_caller+0x126/0x230 >> [] kstrdup+0x31/0x60 >> [] kstrdup_const+0x24/0x30 >> [] kvasprintf_const+0x7a/0x90 >> [] kobject_set_name_vargs+0x21/0x90 >> [] dev_set_name+0x47/0x50 >> [] memstick_check+0x95/0x33c [memstick] >> [] process_one_work+0x1f3/0x4b0 >> [] worker_thread+0x48/0x4e0 >> [] kthread+0xc9/0xe0 >> [] ret_from_fork+0x1f/0x40 >> [] 0xffffffffffffffff >> >> Signed-off-by: Luis R. Rodriguez > > Acked-by: Kees Cook > > Is this worth sending through -stable too? Yes, for some reason git-send e-mail complained to me about stable@kernel.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. Luis