Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753628Ab3JAOFe (ORCPT ); Tue, 1 Oct 2013 10:05:34 -0400 Received: from mail-pd0-f172.google.com ([209.85.192.172]:39111 "EHLO mail-pd0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753099Ab3JAOFM (ORCPT ); Tue, 1 Oct 2013 10:05:12 -0400 MIME-Version: 1.0 In-Reply-To: <5249BA20.1040402@lwfinger.net> References: <5249BA20.1040402@lwfinger.net> From: Catalin Marinas Date: Tue, 1 Oct 2013 15:04:48 +0100 X-Google-Sender-Auth: 2kMG8TmyhLDtpQUJ6AcqQXsmiyU Message-ID: Subject: Re: 3.12-rc3 memory leak in module memstick To: Larry Finger Cc: Alex Dubov , LKML Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1694 Lines: 35 On 30 September 2013 18:51, Larry Finger wrote: > On 3.12-rc3, I detected a memory leak in module memstick. The kmemleak > results are listed below. The second output is after memstick was unloaded, > which shows that it is not a false positive from kmemleak. > > larrylap:~ # echo scan > /sys/kernel/debug/kmemleak > larrylap:~ # cat /sys/kernel/debug/kmemleak > unreferenced object 0xffff8800ae85c190 (size 16): > comm "kworker/u4:3", pid 685, jiffies 4294916336 (age 2831.760s) > hex dump (first 16 bytes): > 6d 65 6d 73 74 69 63 6b 30 00 00 00 00 00 00 00 memstick0....... > backtrace: > [] kmemleak_alloc+0x21/0x50 > [] __kmalloc_track_caller+0x160/0x2f0 > [] kvasprintf+0x5b/0x90 > [] kobject_set_name_vargs+0x21/0x60 > [] dev_set_name+0x3c/0x40 > [] memstick_check+0xb8/0x340 [memstick] > [] process_one_work+0x1d2/0x670 > [] worker_thread+0x11a/0x370 > [] kthread+0xd6/0xe0 > [] ret_from_fork+0x7c/0xb0 The leak is most likely coming from memstick_alloc_card() on the error path. Commit 0252c3b4f0 (memstick: struct device - replace bus_id with dev_name(), dev_set_name()) sets allocates the device name but 'card' is freed on the error path without freeing the name. -- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/