rcu_do_batch: rcu_data->qlen is not irq safe

From: Oleg Nesterov
Date: Sun Sep 10 2006 - 11:18:22 EST


rcu_do_batch() decrements rdp->qlen with irqs enabled.
This is not good, it can also be modified by call_rcu()
from interrupt.

So, is it worth fixing? The problem is mostly theoretical.

If yes, is it ok to use local_t ? Iirc, the were some
problems with local_t on some arches. Sometimes it is
just atomic_t ...

Otherwise, we can update ->qlen after the main loop,

local_irq_disable();
rdp->qlen -= count;
local_irq_enable();

What dou you think?

Oleg.

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