diff options
author | Mark Rutland <mark.rutland@arm.com> | 2023-03-14 15:36:59 +0000 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2023-03-28 21:13:25 +0100 |
commit | 4a3f806eca09f2ac042c42db0d6468f5a81ab666 (patch) | |
tree | e24223eab043d3d62b1487010893ac389f101632 /scripts/gdb/linux/modules.py | |
parent | 39c8275de81cf7fb524e2ff067aa175447412284 (diff) |
arm64: uaccess: permit put_{user,kernel} to use zero register
Currently the asm constraints for __put_mem_asm() require that the value
is placed in a "real" GPR (i.e. one other than [XW]ZR or SP). This means
that for cases such as:
__put_user(0, addr)
... the compiler has to move '0' into "real" GPR, e.g.
mov xN, #0
sttr xN, [<addr>]
This is unfortunate, as using the zero register would require fewer
instructions and save a "real" GPR for other usage, allowing the
compiler to generate:
sttr xzr, [<addr>]
Modify the asm constaints for __put_mem_asm() to permit the use of the
zero register for the value.
There should be no functional change as a result of this patch.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20230314153700.787701-4-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'scripts/gdb/linux/modules.py')
0 files changed, 0 insertions, 0 deletions