Skip to content

Fix missing syscall clobbers#3666

Merged
sporksmith merged 6 commits intoshadow:mainfrom
sporksmith:fix-syscall-clobbers
Sep 25, 2025
Merged

Fix missing syscall clobbers#3666
sporksmith merged 6 commits intoshadow:mainfrom
sporksmith:fix-syscall-clobbers

Conversation

@sporksmith
Copy link
Copy Markdown
Contributor

Fixes #3654

I believe this fixes the root cause of shadow#3654
This fixes undefined behavior, though I'm not aware of us having hit it
in practice.
This fixes undefined behavior, though I'm not aware of us having hit in
practice.
@github-actions github-actions bot added Component: Libraries Support functions like LD_PRELOAD and logging Component: Testing Unit and integration tests and frameworks Component: Build Build/install tools and dependencies labels Sep 25, 2025
@github-actions github-actions bot added the Component: Documentation In-repository documentation, under docs/ label Sep 25, 2025
@sporksmith
Copy link
Copy Markdown
Contributor Author

Locally tested a release build using rust 1.89.0, first reproducing #3654 and then verifying that adding the missing clobbers in the shim's native_syscall function fixed the issue, and that it was still fixed after the other changes as well.

Copy link
Copy Markdown
Contributor

@stevenengler stevenengler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice find!! I can confirm that the tests pass for me when using this branch built with RUSTUP_TOOLCHAIN=1.89 ./setup build --test.

@sporksmith sporksmith merged commit ccb78ce into shadow:main Sep 25, 2025
23 of 24 checks passed
@sporksmith sporksmith deleted the fix-syscall-clobbers branch September 25, 2025 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: Build Build/install tools and dependencies Component: Documentation In-repository documentation, under docs/ Component: Libraries Support functions like LD_PRELOAD and logging Component: Testing Unit and integration tests and frameworks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Shadow fails when built with rust 1.89.0 in release mode

2 participants