linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* A potential data race in drivers/iio/adc/berlin2-adc.ko
@ 2021-03-18  8:07 Pavel Andrianov
  2021-03-18  8:27 ` Lars-Peter Clausen
  0 siblings, 1 reply; 4+ messages in thread
From: Pavel Andrianov @ 2021-03-18  8:07 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Lars-Peter Clausen, ldv-project, Peter Meerwald-Stadler,
	Alexandru Ardelean, linux-iio, linux-kernel

Hi,

berlin2_adc_probe [1] registers two interrupt handlers: berlin2_adc_irq [2]
and berlin2_adc_tsen_irq [3]. The interrupt handlers operate with the 
same data, for example, modify
priv->data with different masks:

priv->data &= BERLIN2_SM_ADC_MASK;
and
priv->data &= BERLIN2_SM_TSEN_MASK;

If the two interrupt handlers are executed simultaneously, a potential 
data race takes place. So, the question is if the situation is possible. 
For example, in the case of the handlers are executed on different CPU 
cores.

Best regards,
Pavel

[1] 
https://elixir.bootlin.com/linux/latest/source/drivers/iio/adc/berlin2-adc.c#L283 

[2] 
https://elixir.bootlin.com/linux/latest/source/drivers/iio/adc/berlin2-adc.c#L239 

[3] 
https://elixir.bootlin.com/linux/latest/source/drivers/iio/adc/berlin2-adc.c#L259


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-03-20 14:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-18  8:07 A potential data race in drivers/iio/adc/berlin2-adc.ko Pavel Andrianov
2021-03-18  8:27 ` Lars-Peter Clausen
2021-03-18  8:47   ` Lars-Peter Clausen
2021-03-20 14:53     ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).