Details
-
Task
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
3
-
9223372036854775807
Description
struct obd_device has a number of bitfields that are supposed to be protected by a spinlock.
Implementation of this spinlock is very inconsistent and as updating a bitfield is not atomic this can lead to bitfields being involuntarily modified when two different fields are updated concurrently.
Migrate all of the bitfields in obd_device into a DECLARE_BITMAP and use atomic set/clear/test functions to access them.
Leave the locking as-is for now to reduce risk as that will require careful audit of where it is safe to remove and where it is not.
Attachments
Issue Links
- is related to
-
LU-17022 Clean up flags and locking in struct obd_device
-
- Open
-