32-bit Linux syscalls use `SanitizeIOCount` a bit too excessively
Open
- Dominant language
- C++
- Stars
- 8k
- Forks
- 351
- Avg merge
- 12h 31m
- Merged PRs (30d)
- 102
Description
This function only sanitizes large signed values, but FEX is using for `uint32_t` types as well which may or may not be correct depending on how the kernel is interpreting these values.
Go through all the implementations and ensure what behaviour is expected when someone is passing in `0x8000'0000` iovec.
Contributor guide
Research direction
Start by locating SanitizeIOCount and every 32-bit Linux syscall implementation that uses it. Compare the handling of a 0x8000'0000 iovec with the Linux kernel's expected interpretation, then verify that each implementation applies the correct behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100