Page MenuHomeFreeBSD

linux(4): Replace casuword32 by casueword32 in handle_futex_death().
ClosedPublic

Authored by dchagin on Jul 21 2021, 7:40 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 10, 6:39 AM
Unknown Object (File)
Wed, Apr 8, 12:36 AM
Unknown Object (File)
Tue, Apr 7, 3:14 AM
Unknown Object (File)
Mon, Apr 6, 4:51 PM
Unknown Object (File)
Mon, Apr 6, 6:11 AM
Unknown Object (File)
Sun, Apr 5, 1:15 PM
Unknown Object (File)
Sun, Apr 5, 11:25 AM
Unknown Object (File)
Sat, Apr 4, 12:02 PM
Subscribers

Diff Detail

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

Event Timeline

kib added inline comments.
sys/compat/linux/linux_futex.c
1004–1005

This is fine as the step, but please look at 30b3018d48e4441083b483

This revision is now accepted and ready to land.Jul 21 2021, 8:05 AM
sys/compat/linux/linux_futex.c
1004–1005

sure, did I understand correctly that on ll/sc architectures casueword can fails as there are two operations,
and exceptional events between this operations can lead the second operation (store-conditional) to spuriously fail.
So before repeating we need a check for stops etc...?
If so, I need to revise all of new futex code ))

sys/compat/linux/linux_futex.c
1004–1005

Right. Generally casueword is allowed to spuriously fail on all arches, same as cmpset/fcmpset.

Follow the r349951 (30b3018d), add check to react to stops and requests
to terminate between retries.

This revision now requires review to proceed.Jul 21 2021, 7:06 PM
kib added inline comments.
sys/compat/linux/linux_futex.c
1002

error != 0

This revision is now accepted and ready to land.Jul 21 2021, 7:36 PM
This revision was automatically updated to reflect the committed changes.