Re: Badness in local_bh_enable by [PATCH] fix uidhash_lock <-> RCU deadlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm also seeing a similar issue on an embedded PowerPC.  Makes my serial 
port seem to lose characters or require extra ones.  Through a slightly 
different path than Alexey:

Badness in local_bh_enable at kernel/softirq.c:140
Call Trace:
[C0673D10] [C0007620] show_stack+0x40/0x194 (unreliable)
[C0673D40] [C000C21C] program_check_exception+0x3c4/0x518
[C0673D80] [C000D588] ret_from_except_full+0x0/0x4c
--- Exception: 700 at local_bh_enable+0x1c/0x84
    LR = free_uid+0x5c/0xb4
[C0673E40] [00800144] 0x800144 (unreliable)
[C0673E50] [C0025540] free_uid+0x5c/0xb4
[C0673E60] [C00259FC] flush_sigqueue+0x84/0xb0
[C0673E80] [C0025E10] __exit_signal+0x214/0x250
[C0673EA0] [C001A6A0] release_task+0x94/0x1d0
[C0673EC0] [C001D164] do_wait+0xc44/0xff4
[C0673F40] [C000CEE8] ret_from_syscall+0x0/0x38
--- Exception: c01 at 0xfe68680
    LR = 0x10023c28

- kumar

> On Wed, 1 Feb 2006, Alexey Dobriyan wrote:
> >
> > Flooding boot logs with
> > 
> > Badness in local_bh_enable at kernel/softirq.c:140
> 
> Ok, looks bad. It's through
> 
>     __dequeue_signal():
> 	collect_signal():
> 	    __sigqueue_free():
> 		free_uid()
> 
> where we hold the sigqueue lock. We do _not_ want to do BH processing 
> there with the lock held and interrupts disabled, so the warning is 
> correct, and that uidhash_lock patch potentially causes more problems than 
> it fixes.
> 
> Perhaps the easiest solution is to just make them irq-safe instead 
> of bh-safe? An alternative might be to make __sigqueue_free() do its work 
> through RCU callbacks too, but that seems wrong.
> 
> Comments? Ingo?
> 
> 		Linus
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux