OSDN Git Service

Merge branch 'Fix the incorrect register read for syscalls on x86_64'
authorAndrii Nakryiko <andrii@kernel.org>
Tue, 25 Jan 2022 04:55:27 +0000 (20:55 -0800)
committerAndrii Nakryiko <andrii@kernel.org>
Tue, 25 Jan 2022 05:04:10 +0000 (21:04 -0800)
commit74bb0f0c299cdc9c68cb3bc8f452e5812aa9eab0
treecf3c2cd0d9ca08edbf4893bacca420a3418554b5
parentfc76387003d6907e298fd6b87f13847c4edddab1
parent77fc0330dfe5abf9b7ec336f173d2e1fd7258cd5
Merge branch 'Fix the incorrect register read for syscalls on x86_64'

Kenta Tada says:

====================
Currently, rcx is read as the fourth parameter of syscall on x86_64.
But x86_64 Linux System Call convention uses r10 actually.
This commit adds the wrapper for users who want to access to
syscall params to analyze the user space.

Changelog:
----------
v1 -> v2:
- Rebase to current bpf-next
https://lore.kernel.org/bpf/20211222213924.1869758-1-andrii@kernel.org/

v2 -> v3:
- Modify the definition of SYSCALL macros for only targeted archs.
- Define __BPF_TARGET_MISSING variants for completeness.
- Remove CORE variants. These macros will not be used.
- Add a selftest.

v3 -> v4:
- Modify a selftest not to use serial tests.
- Modify a selftest to use ASSERT_EQ().
- Extract syscall wrapper for all the other tests.
- Add CORE variants.

v4 -> v5:
- Modify the CORE variant macro not to read memory directly.
- Remove the unnecessary comment.
- Add a selftest for the CORE variant.
====================

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>