Page MenuHomeFreeBSD

sound: Hold the topology lock across dsp_oss_audioinfo()
AbandonedPublic

Authored by christos on Thu, Oct 8, 1:10 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Oct 17, 3:09 AM
Unknown Object (File)
Fri, Oct 16, 11:13 PM
Unknown Object (File)
Thu, Oct 15, 10:24 PM
Unknown Object (File)
Thu, Oct 15, 9:39 AM
Unknown Object (File)
Wed, Oct 14, 6:23 PM
Unknown Object (File)
Mon, Oct 12, 7:56 PM
Unknown Object (File)
Mon, Oct 12, 6:50 PM
Unknown Object (File)
Mon, Oct 12, 5:32 AM
Subscribers

Details

Reviewers
markj
emaste
kib
Summary

dsp_oss_audioinfo() drops the topology lock and then dereferences the
softc, which device_detach() may have freed in the meantime.

Hold the topology lock for the whole function, like the other
SNDCTL_*INFO handlers do. Busying the device instead is not an option,
because dsp_ioctl() has already busied the one the ioctl was issued on,
which may be the same.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 77848
Build 74731: arc lint + arc unit