A potential race in drivers/atm/eni.ko
From: Pavel Andrianov
Date: Mon Aug 08 2016 - 04:17:08 EST
Hi!
There is a potential race in drivers/atm/eni.ko.
In the interrupt handler eni_int the field eni_dev->events is masked
(line 1519) with a spinlock protection. In eni_start eni_dev->events is
initialized (line 1844), but it is done after interrupts are requested
(line 1813). Thus, the interrupt may occur while initialization is not
finishing and the new value of events will be lost. Moreover, the
spinlock, which is used in the interrupt handler, is also initialized
(line 1842) after request_irq (line 1813).
--
Pavel Andrianov
Linux Verification Center, ISPRAS
web: http://linuxtesting.org
e-mail: andrianov@xxxxxxxxx