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:	Sun, 23 Nov 2008 04:32:30 +0100
From:	Eric Dumazet <dada1@...mosbay.com>
To:	Ilpo Järvinen <ilpo.jarvinen@...sinki.fi>,
	David Miller <davem@...emloft.net>
CC:	Netdev <netdev@...r.kernel.org>
Subject: Re: net-next/unix: BUG: using smp_processor_id() in preemptible

Ilpo Järvinen a écrit :
> I got plenty of these from sock_prot_inuse_add:
> 
> BUG: using smp_processor_id() in preemptible [00000000] code: rcS/1146
> 
> caller is sock_prot_inuse_add+0x24/0x42
> Pid: 1146, comm: rcS Not tainted 2.6.28-rc6-01121-g89a2f15 #76
> Call Trace:
>  [<ffffffff80365767>] debug_smp_processor_id+0xd3/0xe8
>  [<ffffffff80485a0f>] sock_prot_inuse_add+0x24/0x42
>  [<ffffffff80514cdd>] unix_create1+0x161/0x176
>  [<ffffffff80514d52>] unix_create+0x60/0x6b
>  [<ffffffff80483f66>] __sock_create+0x144/0x1bd
>  [<ffffffff80483edb>] ? __sock_create+0xb9/0x1bd
>  [<ffffffff8048402d>] sock_create+0x2d/0x2f
>  [<ffffffff80484274>] sys_socket+0x29/0x5b
>  [<ffffffff8020c10a>] system_call_fastpath+0x16/0x1b
> 
> 

Thanks Ilpo for this report

I guess the following is necessary.

Once Christopher and Rusty work on percpu variables is finished,
the preempt_enable()/disable() wont be necessary anymore, so
its a temporary workaround anyway.

[PATCH] net: make sock_prot_inuse_add() preempt safe

Ilpo Järvinen reported that commit a8076d8db98de6da61394b2e942320e4612643ac
(net: af_unix should update its inuse counter) was triggering
a warning in smp_processor_id(), being called in a preemptible code.

Fix is to make sock_prot_inuse_add() safe in this regard. This fix
can be reverted when new percpu infrastructure is ready, allowing
a cpu to safely do a increment/decrement on a percpu var.

Signed-off-by: Eric Dumazet <dada1@...mosbay.com>

View attachment "prot_inuse.patch" of type "text/plain" (823 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ