Page MenuHomeFreeBSD

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

Authored by dchagin on Tue, Jul 20, 2:16 PM.

Details

Summary

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

Diff Detail

Repository
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

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

sys/compat/linux/linux_futex.c
712

Should this casuword32 replaced by casueword32?

This revision is now accepted and ready to land.Tue, Jul 20, 4:33 PM
sys/compat/linux/linux_futex.c
707–708

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
707–708

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