diff options
| author | Song Liu <[email protected]> | 2023-09-06 10:52:15 -0700 | 
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2023-09-06 23:49:12 +0200 | 
| commit | 65e710899fd19f435f40268f3a92dfaa11f14470 (patch) | |
| tree | 162b657c93198c07c64b448ba4f95e2cb133c737 /drivers/gpu/drm/amd/amdgpu/amdgpu_job.h | |
| parent | 3f874c9b2aae8e30463efc1872bea4baa9ed25dc (diff) | |
x86/build: Fix linker fill bytes quirk/incompatibility for ld.lld
With ":text =0xcccc", ld.lld fills unused text area with 0xcccc0000.
Example objdump -D output:
	ffffffff82b04203:       00 00                   add    %al,(%rax)
	ffffffff82b04205:       cc                      int3
	ffffffff82b04206:       cc                      int3
	ffffffff82b04207:       00 00                   add    %al,(%rax)
	ffffffff82b04209:       cc                      int3
	ffffffff82b0420a:       cc                      int3
Replace it with ":text =0xcccccccc", so we get the following instead:
	ffffffff82b04203:       cc                      int3
	ffffffff82b04204:       cc                      int3
	ffffffff82b04205:       cc                      int3
	ffffffff82b04206:       cc                      int3
	ffffffff82b04207:       cc                      int3
	ffffffff82b04208:       cc                      int3
gcc/ld doesn't seem to have the same issue. The generated code stays the
same for gcc/ld.
Signed-off-by: Song Liu <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Reviewed-by: Kees Cook <[email protected]>
Acked-by: Peter Zijlstra (Intel) <[email protected]>
Fixes: 7705dc855797 ("x86/vmlinux: Use INT3 instead of NOP for linker fill bytes")
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_job.h')
0 files changed, 0 insertions, 0 deletions