NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/51731: {mustek,scanjet}_read insufficient locking

>Number:         51731
>Category:       kern
>Synopsis:       {mustek,scanjet}_read insufficient locking
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Dec 20 21:20:00 +0000 2016
>Originator:     coypu
>Release:        NetBSD 7.99.51
NetBSD box 7.99.51 NetBSD 7.99.51 (GENERIC) #0: Sun Dec 18 07:53:19 IST 2016  fly@box:/usr/amd64/sys/arch/amd64/compile/GENERIC amd64

This is not the most critical bug right now (the code seems to be for extremely old hardware), but it's subtle and hard to spot in the current code, so I report this bug as a reminder for its existence.

mustek_read calls scsipi_make_xs_locked with XS_CTL_NOSLEEP, apparently without holding chan_mtx.

this means scsipi_make_xs_locked will not attempt to lock and assumes that the lock is already held.

Please add assertions for mutex_owned.
It may not trigger 100% of the times, but it's likely enough to happen that the problem will be spotted.

Home | Main Index | Thread Index | Old Index