Hi!

There is a potential data race in drivers/scsi/megaraid.ko
Regards such case:

Thread 1                                        Thread 2
...                                             ...
-> megaraid_probe_one                                
   -> request_irq    - now an interrupt may arise
   -> mega_query_adapter
     -> issue_scb_block
                        interrupt comes         
                                                -> megaraid_isr_iomapped
                                                  -> mega_runpendq
                                                    -> __mega_runpendq
                                                      -> issue_skb

In this case the structure 'mbox' is modified from two threads simultaneously. Or, more correct, the first modification is interrupted by the second one. Likely, the first thread should acquire the same spinlock adapter->lock as the second one.

--
Pavel Andrianov
Linux Verification Center, ISPRAS
web: http://linuxtesting.org
e-mail: andria...@ispras.ru

Reply via email to