FEX-Emu / FEX-Emu/FEX

32-bit Linux syscalls use `SanitizeIOCount` a bit too excessively

Open
#5,729 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.