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)
Mar 17 2024, 3:23 PM
Unknown Object (File)
Feb 9 2024, 5:05 PM
Unknown Object (File)
Jan 28 2024, 3:44 AM
Unknown Object (File)
Jan 14 2024, 4:47 AM
Unknown Object (File)
Dec 20 2023, 3:46 AM
Unknown Object (File)
Dec 18 2023, 8:40 PM
Unknown Object (File)
Oct 31 2023, 9:28 PM
Unknown Object (File)
Oct 12 2023, 8:40 AM
Subscribers

Diff Detail

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

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.