Page MenuHomeFreeBSD

lio_listio: Don't post a completion notification if none was requested
ClosedPublic

Authored by markj on Jul 15 2021, 6:11 PM.
Tags
None
Referenced Files
F164201494: D31197.id.diff
Wed, Jul 29, 2:50 PM
F164149356: D31197.diff
Wed, Jul 29, 4:18 AM
Unknown Object (File)
Fri, Jul 24, 3:37 PM
Unknown Object (File)
Wed, Jul 22, 11:48 PM
Unknown Object (File)
Tue, Jul 21, 3:43 AM
Unknown Object (File)
Tue, Jul 21, 12:23 AM
Unknown Object (File)
Fri, Jul 3, 1:50 PM
Unknown Object (File)
Thu, Jul 2, 10:16 AM
Subscribers

Details

Summary

One is allowed to use LIO_NOWAIT without specifying a sigevent. In this
case, lj->lioj_signal is left uninitialized, but several code paths
examine liov_signal.sigev_notify to figure out which notification to
post. Unconditionally initialize that field to SIGEV_NONE.

Add a dumb test case which triggers the bug.

Reported by: KMSAN+syzkaller
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable