On Mon, Aug 10, 2020 at 06:37:17PM +0200, Pavel Machek wrote:
Hi!
commit 80982c7e834e5d4e325b6ce33757012ecafdf0bb upstream.
Some ioctls via OSS sequencer API may race and lead to UAF when the port create and delete are performed concurrently, as spotted by a couple of syzkaller cases. This patch is an attempt to address it by serializing the ioctls with the existing register_mutex.
Basically OSS sequencer API is an obsoleted interface and was designed without much consideration of the concurrency. There are very few applications with it, and the concurrent performance isn't asked, hence this "big hammer" approach should be good enough.
That really is a "big hammer". And I believe it is too big.
Please discuss code architecture decisions on the mailing list for the subsystem/patch. Doing it in random stable backports does not help out as all of the developers involved are not copied here.
thanks,
greg k-h