Possible bug in cypress_m8.ko
From: Anton Volkov
Date: Tue Aug 22 2017 - 08:11:32 EST
Hello.
Judging by the code of cypress_m8.c some functions are considered to be
capable of working concurrently with other functions, e.g. cypress_open.
There are, however, entities that are protected by the locks at one
place and not protected in another. Lines are given using the info from
Linux kernel v4.12. Example:
cypress_send
spin_lock_irqsave
priv->write_urb_in_use = 1;
spin_lock_irqrestore
(cypress_m8.c: lines 761-763)
...
if (result) {
priv->write_urb_in_use = 0; //without lock protection
(cypress_m8.c: line 783)
}
Is it a bug?
Thank you for your time.
-- Anton Volkov
Linux Verification Center, ISPRAS
web: http://linuxtesting.org
e-mail: avolkov@xxxxxxxxx