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
F133130210: D31254.id92935.diff
Thu, Oct 23, 5:22 AM
Unknown Object (File)
Mon, Oct 13, 11:58 AM
Unknown Object (File)
Mon, Oct 13, 11:07 AM
Unknown Object (File)
Mon, Oct 13, 6:16 AM
Unknown Object (File)
Mon, Oct 13, 5:43 AM
Unknown Object (File)
Mon, Oct 13, 4:50 AM
Unknown Object (File)
Mon, Oct 13, 2:51 AM
Unknown Object (File)
Sun, Oct 12, 11:40 AM
Subscribers

Diff Detail

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

Event Timeline

kib added inline comments.
sys/compat/linux/linux_futex.c
1001

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
1001

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
1001

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.