lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <230722105714.M0104460@vega.pgw.jp>
Date:   Sat, 22 Jul 2023 10:57:14 +0900
From:   <kkabe@...a.pgw.jp>
To:     rostedt@...dmis.org
Cc:     linux-kernel@...r.kernel.org, amd-gfx@...ts.freedesktop.org,
        kkabe@...a.pgw.jp
Subject: Re: radeon.ko/i586: BUG: kernel NULL pointerdereference,address:00000004

rostedt@...dmis.org sed in <20230717112138.1fd48cca@...dalf.local.home>

>> On Sat, 15 Jul 2023 11:39:11 +0900
>> <kkabe@...a.pgw.jp> wrote:
>> 
>> 
>> > Yes, this is puzzling. That's why I need other people's opinion on this.
>> > Does it matter the DUT is a slow machine (Pentium 120MHz)?
>> > 
>> 
>> Hmm, I wonder because the workqueue is running __init functions, could it
>> possibly be that it didn't finish before the end of boot, where it frees
>> all the functions? It shouldn't do that because there's code to make sure
>> it's done before it continues further.
>> 
>> But just in case something isn't working as planned, you could try this
>> patch to see if the bug goes away.
>> 
>> -- Steve
>> 
>> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
>> index 05c0024815bf..af5a40ef3be4 100644
>> --- a/kernel/trace/ftrace.c
>> +++ b/kernel/trace/ftrace.c
>> @@ -3771,13 +3771,13 @@ static int test_for_valid_rec(struct dyn_ftrace *rec)
>>  	return 1;
>>  }
>>  
>> -static struct workqueue_struct *ftrace_check_wq __initdata;
>> -static struct work_struct ftrace_check_work __initdata;
>> +static struct workqueue_struct *ftrace_check_wq;
>> +static struct work_struct ftrace_check_work;
>>  
>>  /*
>>   * Scan all the mcount/fentry entries to make sure they are valid.
>>   */
>> -static __init void ftrace_check_work_func(struct work_struct *work)
>> +static void ftrace_check_work_func(struct work_struct *work)
>>  {
>>  	struct ftrace_page *pg;
>>  	struct dyn_ftrace *rec;
>> 

Just in case I tried this patch too;
no banana, it panics (vblank->worker == NULL check fires)

-- 
kabe

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ