Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e105057 authored by Stefani Seibold's avatar Stefani Seibold Committed by Linus Torvalds
Browse files

kfifo: fix kfifo_out_locked race bug



Fix a wrong optimization in include/linux/kfifo.h which could cause a race
in kfifo_out_locked.

Signed-off-by: default avatarStefani Seibold <stefani@seibold.net>
Reported-by: default avatarJohan Hovold <jhovold@gmail.com>
Cc: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 33f724eb
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -228,13 +228,6 @@ static inline __must_check unsigned int kfifo_out_locked(struct kfifo *fifo,

	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;