Subject: Re: BUG: soft lockup detected on CPU#0! (2.6.18.2 plus hacks)

From: Jarek Poplawski <[email-masked]>
Date: Thu, 11 Jan 2007 09:35:26 +0100

On Thu, Jan 11, 2007 at 09:29:58AM +0100, Jarek Poplawski wrote:
> On Wed, Jan 10, 2007 at 11:40:35PM -0800, David Miller wrote:
> > From: Jarek Poplawski <[email-masked]>
> > Date: Thu, 11 Jan 2007 08:24:28 +0100
> > 
> > > Yesterday I did what I should do earlier - checked
> > > this simple way, with printk, and now I have no doubts
> > > it's a bug: if you add or remove vlan devices with
> > > vconfig, register_vlan_device and unregister_vlan_dev
> > > are called by ioctl and they use and change rcu
> > > procetded data without preemption disabled so vlan
> > > rcu hash lists could become corrupted or find results
> > > could be wrong.
> > 
> > Those two operations do their modifications and changes under the RTNL
> > semaphore, via rtnl_lock() and rtnl_unlock() which guarentees that no
> > other modifications can occur.
> 
> Sure, but is this even legal to be preempted during

I should even say:

"... is this even legal to be blocked during ..."

> reading or modifying rcu list? Doesn't this disturb
> rcu cycle and make possible memory release problems?

Jarek P.