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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 10 Mar 2008 19:12:44 -0700
From:	Hiroshi Shimamoto <h-shimamoto@...jp.nec.com>
To:	Peter Zijlstra <peterz@...radead.org>
Cc:	Ingo Molnar <mingo@...e.hu>, linux-kernel@...r.kernel.org,
	linux-rt-users@...r.kernel.org, hpj@...la.net,
	stable <stable@...nel.org>
Subject: Re: [PATCH] sched: fix race in schedule

Peter Zijlstra wrote:
> On Mon, 2008-03-10 at 13:01 -0700, Hiroshi Shimamoto wrote:
> 
>> thanks, your patch looks nice to me.
>> I had focused setprio, on_rq=0 and running=1 situation, it makes me to
>> fix these functions.
>> But one point, I've just noticed. I'm not sure on same situation against
>> sched_rt. I think the pre_schedule() of rt has chance to drop rq lock.
>> Is it OK?
> 
> Ah, you are quite right, that'll teach me to rush out a patch just
> because dinner is ready :-). 
> 
> How about we submit the following patch for mainline and CC -stable to
> fix .23 and .24:
> 

Unfortunately, I encountered similar panic with this patch on -rt.
I'll look into this, again. I might have missed something...

Unable to handle kernel NULL pointer dereference at 0000000000000128 RIP:
 [<ffffffff802297f5>] pick_next_task_fair+0x2d/0x42
PGD 13dbb2067 PUD 15146a067 PMD 0
Oops: 0000 [1] PREEMPT SMP
CPU 3
Modules linked in:
Pid: 31981, comm: dbench Not tainted 2.6.24.3-rt3 #1
RIP: 0010:[<ffffffff802297f5>]  [<ffffffff802297f5>] pick_next_task_fair+0x2d/0x42
RSP: 0018:ffff8101d75b5b38  EFLAGS: 00010046
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000639
RDX: ffff810005009680 RSI: 0000000000000003 RDI: ffff8100050216e0
RBP: ffff8101d75b5b48 R08: ffff81000501dac0 R09: 0000000000000002
R10: ffff8101d75b5b08 R11: ffff81000501dac0 R12: ffff810005009680
R13: 0000000000000000 R14: ffff810005021680 R15: 00000001002ee6d0
FS:  00002b93ea5fe6f0(0000) GS:ffff81022fd28bc0(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000128 CR3: 000000013dbca000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process dbench (pid: 31981, threadinfo ffff8101d75b4000, task ffff8101515f4100)
Stack:  ffff8101d75b5b48 0000000000000000 ffff8101d75b5bd8 ffffffff804d98d5
 ffff8101d75b5ba0 ffffffff8022f2b6 00000003e9550280 ffff8101515f4100
 ffff8101d75b5b98 ffff8101515f4440 00000000000000ff ffffffff804db74f
Call Trace:
 [<ffffffff804d98d5>] __schedule+0x414/0x775
 [<ffffffff8022f2b6>] add_preempt_count+0x18/0xb2
 [<ffffffff804db74f>] __spin_unlock+0x14/0x2e
 [<ffffffff804d9f30>] schedule+0xdf/0xff
 [<ffffffff804da77d>] rt_spin_lock_slowlock+0xf9/0x19e
 [<ffffffff804db100>] __rt_spin_lock+0x6b/0x70
 [<ffffffff804db10e>] rt_spin_lock+0x9/0xb
 [<ffffffff802de7f0>] journal_invalidatepage+0xdd/0x282
 [<ffffffff802d149f>] ext3_invalidatepage+0x38/0x3a
 [<ffffffff8026e6cf>] do_invalidatepage+0x23/0x25
 [<ffffffff8026ecf5>] truncate_complete_page+0x30/0x4e
 [<ffffffff8026eddb>] truncate_inode_pages_range+0xc8/0x302
 [<ffffffff8026f022>] truncate_inode_pages+0xd/0xf
 [<ffffffff802d1956>] ext3_delete_inode+0x18/0xd8
 [<ffffffff802d193e>] ext3_delete_inode+0x0/0xd8
 [<ffffffff8029d307>] generic_delete_inode+0x7b/0xfb
 [<ffffffff8029d39e>] generic_drop_inode+0x17/0x16f
 [<ffffffff8029c898>] iput+0x7c/0x80
 [<ffffffff8029433b>] do_unlinkat+0xf5/0x150
 [<ffffffff8028d8a6>] sys_newstat+0x31/0x3c
 [<ffffffff802943a7>] sys_unlink+0x11/0x13
 [<ffffffff8020c19e>] system_call+0x7e/0x83
Code: 48 8b bb 28 01 00 00 48 85 ff 75 dd 48 8d 43 b8 41 58 5b 5d
RIP  [<ffffffff802297f5>] pick_next_task_fair+0x2d/0x42
 RSP <ffff8101d75b5b38>

thanks,
Hiroshi Shimamoto
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists