[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5bc5f54b-ce6a-4834-86d4-5014d44c7217@linaro.org>
Date: Tue, 15 Apr 2025 10:14:05 +0100
From: James Clark <james.clark@...aro.org>
To: Oliver Sang <oliver.sang@...el.com>, Peter Zijlstra <peterz@...radead.org>
Cc: oe-lkp@...ts.linux.dev, lkp@...el.com, linux-kernel@...r.kernel.org,
x86@...nel.org, Ravi Bangoria <ravi.bangoria@....com>,
linux-perf-users@...r.kernel.org, Mark Rutland <mark.rutland@....com>
Subject: Re: [tip:perf/core] [perf] da916e96e2:
BUG:KASAN:null-ptr-deref_in_put_event
On 15/04/2025 5:46 am, Oliver Sang wrote:
> hi, Peter Zijlstra,
>
> On Mon, Apr 14, 2025 at 09:01:38PM +0200, Peter Zijlstra wrote:
>> On Mon, Apr 14, 2025 at 09:59:25AM +0800, kernel test robot wrote:
>>>
>>>
>>> Hello,
>>>
>>> kernel test robot noticed "BUG:KASAN:null-ptr-deref_in_put_event" on:
>>>
>>> commit: da916e96e2dedcb2d40de77a7def833d315b81a6 ("perf: Make perf_pmu_unregister() useable")
>>> https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git perf/core
>>>
>>> [test failed on linux-next/master 29e7bf01ed8033c9a14ed0dc990dfe2736dbcd18]
>>>
>>> in testcase: trinity
>>> version: trinity-x86_64-ba2360ed-1_20241228
>>> with following parameters:
>>>
>>> runtime: 300s
>>> group: group-02
>>> nr_groups: 5
>>>
>>>
>>>
>>> config: x86_64-randconfig-078-20250407
>>> compiler: clang-20
>>> test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
>>>
>>> (please refer to attached dmesg/kmsg for entire log/backtrace)
>>>
>>>
>>>
>>> If you fix the issue in a separate patch/commit (i.e. not just a new version of
>>> the same patch/commit), kindly add following tags
>>> | Reported-by: kernel test robot <oliver.sang@...el.com>
>>> | Closes: https://lore.kernel.org/oe-lkp/202504131701.941039cd-lkp@intel.com
>>>
>>
>> Does this help?
>
> yes, below patch fixes the issues we observed for da916e96e2. thanks
>
> Tested-by: kernel test robot <oliver.sang@...el.com>
>
Also fixes the same issues we were seeing:
Tested-by: James Clark <james.clark@...aro.org>
>>
>> ---
>> diff --git a/kernel/events/core.c b/kernel/events/core.c
>> index 2eb9cd5d86a1..528b679aaf7e 100644
>> --- a/kernel/events/core.c
>> +++ b/kernel/events/core.c
>> @@ -5687,7 +5687,7 @@ static void put_event(struct perf_event *event)
>> _free_event(event);
>>
>> /* Matches the refcount bump in inherit_event() */
>> - if (parent)
>> + if (parent && parent != EVENT_TOMBSTONE)
>> put_event(parent);
>> }
>>
>
Powered by blists - more mailing lists