Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix vdso_get_symbols_info() assertion for ARM64 #24

Closed
wants to merge 1 commit into from

Conversation

bjoernd
Copy link
Contributor

@bjoernd bjoernd commented Sep 14, 2023

On ARM64 I have been seeing test failures:

test vdso::tests::vdso_can_find_symbols_info ... FAILED
test vdso::tests::vdso_patch_info_is_valid ... FAILED

Looking closer, this was caused by the debug assertion in vdso_get_symbols_info() which asserts that all symbols found in the VDSO are ELF STT_FUNC symbols. Unfortunately, this is not the case on ARM64, because the VDSO's __kernel_rt_sigreturn is special and does appear as STT_NONE symbol.

Fixup the debug assertion by special-casing for this special function.

Note: I shortly considered adding an expected symbol type to the VDSO_SYMBOLS hashes, but that didn't seem to make sense just to fix this one special case.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Sep 14, 2023
On ARM64 I have been seeing test failures:

```
test vdso::tests::vdso_can_find_symbols_info ... FAILED
test vdso::tests::vdso_patch_info_is_valid ... FAILED
```

Looking closer, this was caused by the debug assertion in
vdso_get_symbols_info() which asserts that all symbols found in the VDSO
are ELF STT_FUNC symbols. Unfortunately, this is not the case on ARM64,
because the VDSO's `__kernel_rt_sigreturn` is special and does appear
as STT_NONE symbol.

Fixup the debug assertion by special-casing for this special function.

Signed-off-by: Bjoern Doebel <[email protected]>
@facebook-github-bot
Copy link
Contributor

@jasonwhite has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link
Contributor

@jasonwhite merged this pull request in 626198d.

@jasonwhite
Copy link
Contributor

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants