Page MenuHomeFreeBSD

linux(4): Replace copyin() by fueword32() in handle_futex_death().
ClosedPublic

Authored by dchagin on Jul 20 2021, 2:16 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jul 6, 9:52 AM
Unknown Object (File)
Sun, Jul 5, 6:26 AM
Unknown Object (File)
Fri, Jul 3, 8:21 AM
Unknown Object (File)
Thu, Jul 2, 8:40 PM
Unknown Object (File)
Thu, Jul 2, 1:53 AM
Unknown Object (File)
Fri, Jun 26, 2:17 PM
Unknown Object (File)
Mon, Jun 22, 4:48 PM
Unknown Object (File)
Mon, Jun 22, 3:17 AM
Subscribers

Details

Summary

According to fetch(9) fueword facility designed to fetch atomically
small amount of data from user space.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 40558
Build 37447: arc lint + arc unit

Event Timeline

I think on ARM there exist the same problem we fixed for umtx in 30b3018d48e4441083b

sys/compat/linux/linux_futex.c
711

Should this casuword32 replaced by casueword32?

This revision is now accepted and ready to land.Jul 20 2021, 4:33 PM
sys/compat/linux/linux_futex.c
706

How do we know that uaddr is aligned? release_futexes does not validate futex_offset after copying it in...

sys/compat/linux/linux_futex.c
706

yes, you are right, I plan some handle_futex_death improvement: add a for special case for regular futexes and check unaligned access too