[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <565B460D.9080002@imap.cc>
Date: Sun, 29 Nov 2015 19:38:05 +0100
From: Tilman Schmidt <tilman@...p.cc>
To: Peter Hurley <peter@...leysoftware.com>,
Sasha Levin <sasha.levin@...cle.com>
Cc: pebolle@...cali.nl, isdn@...ux-pingi.de, davem@...emloft.net,
gigaset307x-common@...ts.sourceforge.net,
LKML <linux-kernel@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
syzkaller <syzkaller@...glegroups.com>
Subject: Re: gigaset: freeing an active object
Am 29.11.2015 um 19:22 schrieb Peter Hurley:
> On 11/29/2015 10:30 AM, Tilman Schmidt wrote:
>>
>> Judging from the backtrace below this must be the call
>>
>> kfree(cs->hw.ser);
>>
>> in drivers/isdn/gigaset/ser-gigaset.c line 375.
>> cs->hw.ser is of type struct ser_cardstate *.
>> struct ser_cardstate consists of a struct platform_device, a struct
>> completion, an atomic_t and a pointer. No timer_list.
[...]
>
> The platform_device embedded in struct ser_cardstate hasn't been released when
> you kfree() the memory it's in.
How so? The kfree() call quoted above is immediately preceded by:
platform_device_unregister(&cs->hw.ser->dev);
Thanks,
Tilman
--
Tilman Schmidt E-Mail: tilman@...p.cc
Bonn, Germany
Nous, on a des fleurs et des bougies pour nous protéger.
Download attachment "signature.asc" of type "application/pgp-signature" (474 bytes)
Powered by blists - more mailing lists