diff options
| author | Florian Fuchs <fuchsfl@gmail.com> | 2026-07-16 18:53:29 +0200 |
|---|---|---|
| committer | John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> | 2026-10-06 09:53:49 +0200 |
| commit | eb549e808390eeecf07618b8c3a82a6f2a887e70 (patch) | |
| tree | fcb60626a0bca9c6338fca96e84071654cd280a1 /tools/lib/python/__init__.py | |
| parent | fec3356dce4541e49dbdd67dafbcfab040bf20fe (diff) | |
| download | linux-next-eb549e808390eeecf07618b8c3a82a6f2a887e70.tar.gz linux-next-eb549e808390eeecf07618b8c3a82a6f2a887e70.zip | |
sh: uaccess: Require offsettable operands for 64-bit user access
The 64-bit __get_user_u64()/__put_user_u64() paths address the memory
operand as %T2 (base+4). This base+4 requires an offsettable address,
but "m" also allows the indexed mode @(R0,Rn) (e.g. for a variable-
indexed array element), which has no displacement field for the +4.
Depending on optimization this build fails with "invalid 'asm'" or an
ICE in GCC's change_address_1.
Require an offsettable memory operand, allowing GCC to reload an
unsuitable indexed address into an appropriate form.
Fixes: 2d2b308a8b7d ("sh: Implement __get_user_u64() required for 64-bit get_user()")
Signed-off-by: Florian Fuchs <fuchsfl@gmail.com>
Reviewed-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Diffstat (limited to 'tools/lib/python/__init__.py')
0 files changed, 0 insertions, 0 deletions
