Messages in this thread Patch in this message | | | Subject | [tip:urgent] fix kfifo_out_locked race bug | From | Stefani Seibold <> | Date | Tue, 05 Jan 2010 14:38:35 +0100 |
| |
This patch fix a wrong optimization in include/linux/kfifo.h which could cause a race in kfifo_out_locked.
Please apply it to the 2.6.33-rc* tree.
Signed-off-by: Stefani Seibold <stefani@seibold.net> --- kfifo.h | 7 ------- 1 file changed, 7 deletions(-)
--- linux-2.6.33-rc2.orig/include/linux/kfifo.h 2009-12-27 23:37:04.921185257 +0100 +++ kfifo.h 2010-01-05 14:32:31.414316321 +0100 @@ -228,13 +228,6 @@ static inline __must_check unsigned int ret = kfifo_out(fifo, to, n); - /* - * optimization: if the FIFO is empty, set the indices to 0 - * so we don't wrap the next time - */ - if (kfifo_is_empty(fifo)) - kfifo_reset(fifo); - spin_unlock_irqrestore(lock, flags); return ret;
| |