x86/asm: Make some functions local labels
Boris suggests to make a local label (prepend ".L") to these functions to eliminate them from the symbol table. These are functions with very local names and really should not be visible anywhere. Note that objtool won't see these functions anymore (to generate ORC debug info). But all the functions are not annotated with ENDPROC, so they won't have objtool's attention anyway. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Andy Lutomirski <luto@kernel.org> Cc: Cao jin <caoj.fnst@cn.fujitsu.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steve Winslow <swinslow@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Wei Huang <wei@redhat.com> Cc: x86-ml <x86@kernel.org> Cc: Xiaoyao Li <xiaoyao.li@linux.intel.com> Link: https://lkml.kernel.org/r/20190906075550.23435-2-jslaby@suse.cz
This commit is contained in:

committed by
Borislav Petkov

parent
559ceeed62
commit
98ededb61f
@@ -33,7 +33,7 @@
|
||||
102:
|
||||
.section .fixup,"ax"
|
||||
103: addl %ecx,%edx /* ecx is zerorest also */
|
||||
jmp copy_user_handle_tail
|
||||
jmp .Lcopy_user_handle_tail
|
||||
.previous
|
||||
|
||||
_ASM_EXTABLE_UA(100b, 103b)
|
||||
@@ -113,7 +113,7 @@ ENTRY(copy_user_generic_unrolled)
|
||||
40: leal (%rdx,%rcx,8),%edx
|
||||
jmp 60f
|
||||
50: movl %ecx,%edx
|
||||
60: jmp copy_user_handle_tail /* ecx is zerorest also */
|
||||
60: jmp .Lcopy_user_handle_tail /* ecx is zerorest also */
|
||||
.previous
|
||||
|
||||
_ASM_EXTABLE_UA(1b, 30b)
|
||||
@@ -177,7 +177,7 @@ ENTRY(copy_user_generic_string)
|
||||
.section .fixup,"ax"
|
||||
11: leal (%rdx,%rcx,8),%ecx
|
||||
12: movl %ecx,%edx /* ecx is zerorest also */
|
||||
jmp copy_user_handle_tail
|
||||
jmp .Lcopy_user_handle_tail
|
||||
.previous
|
||||
|
||||
_ASM_EXTABLE_UA(1b, 11b)
|
||||
@@ -210,7 +210,7 @@ ENTRY(copy_user_enhanced_fast_string)
|
||||
|
||||
.section .fixup,"ax"
|
||||
12: movl %ecx,%edx /* ecx is zerorest also */
|
||||
jmp copy_user_handle_tail
|
||||
jmp .Lcopy_user_handle_tail
|
||||
.previous
|
||||
|
||||
_ASM_EXTABLE_UA(1b, 12b)
|
||||
@@ -231,7 +231,7 @@ EXPORT_SYMBOL(copy_user_enhanced_fast_string)
|
||||
* eax uncopied bytes or 0 if successful.
|
||||
*/
|
||||
ALIGN;
|
||||
copy_user_handle_tail:
|
||||
.Lcopy_user_handle_tail:
|
||||
movl %edx,%ecx
|
||||
1: rep movsb
|
||||
2: mov %ecx,%eax
|
||||
@@ -239,7 +239,7 @@ copy_user_handle_tail:
|
||||
ret
|
||||
|
||||
_ASM_EXTABLE_UA(1b, 2b)
|
||||
END(copy_user_handle_tail)
|
||||
END(.Lcopy_user_handle_tail)
|
||||
|
||||
/*
|
||||
* copy_user_nocache - Uncached memory copy with exception handling
|
||||
@@ -364,7 +364,7 @@ ENTRY(__copy_user_nocache)
|
||||
movl %ecx,%edx
|
||||
.L_fixup_handle_tail:
|
||||
sfence
|
||||
jmp copy_user_handle_tail
|
||||
jmp .Lcopy_user_handle_tail
|
||||
.previous
|
||||
|
||||
_ASM_EXTABLE_UA(1b, .L_fixup_4x8b_copy)
|
||||
|
@@ -115,7 +115,7 @@ ENDPROC(__get_user_8)
|
||||
EXPORT_SYMBOL(__get_user_8)
|
||||
|
||||
|
||||
bad_get_user_clac:
|
||||
.Lbad_get_user_clac:
|
||||
ASM_CLAC
|
||||
bad_get_user:
|
||||
xor %edx,%edx
|
||||
@@ -123,7 +123,7 @@ bad_get_user:
|
||||
ret
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
bad_get_user_8_clac:
|
||||
.Lbad_get_user_8_clac:
|
||||
ASM_CLAC
|
||||
bad_get_user_8:
|
||||
xor %edx,%edx
|
||||
@@ -132,12 +132,12 @@ bad_get_user_8:
|
||||
ret
|
||||
#endif
|
||||
|
||||
_ASM_EXTABLE_UA(1b, bad_get_user_clac)
|
||||
_ASM_EXTABLE_UA(2b, bad_get_user_clac)
|
||||
_ASM_EXTABLE_UA(3b, bad_get_user_clac)
|
||||
_ASM_EXTABLE_UA(1b, .Lbad_get_user_clac)
|
||||
_ASM_EXTABLE_UA(2b, .Lbad_get_user_clac)
|
||||
_ASM_EXTABLE_UA(3b, .Lbad_get_user_clac)
|
||||
#ifdef CONFIG_X86_64
|
||||
_ASM_EXTABLE_UA(4b, bad_get_user_clac)
|
||||
_ASM_EXTABLE_UA(4b, .Lbad_get_user_clac)
|
||||
#else
|
||||
_ASM_EXTABLE_UA(4b, bad_get_user_8_clac)
|
||||
_ASM_EXTABLE_UA(5b, bad_get_user_8_clac)
|
||||
_ASM_EXTABLE_UA(4b, .Lbad_get_user_8_clac)
|
||||
_ASM_EXTABLE_UA(5b, .Lbad_get_user_8_clac)
|
||||
#endif
|
||||
|
@@ -37,7 +37,7 @@
|
||||
ENTRY(__put_user_1)
|
||||
ENTER
|
||||
cmp TASK_addr_limit(%_ASM_BX),%_ASM_CX
|
||||
jae bad_put_user
|
||||
jae .Lbad_put_user
|
||||
ASM_STAC
|
||||
1: movb %al,(%_ASM_CX)
|
||||
xor %eax,%eax
|
||||
@@ -51,7 +51,7 @@ ENTRY(__put_user_2)
|
||||
mov TASK_addr_limit(%_ASM_BX),%_ASM_BX
|
||||
sub $1,%_ASM_BX
|
||||
cmp %_ASM_BX,%_ASM_CX
|
||||
jae bad_put_user
|
||||
jae .Lbad_put_user
|
||||
ASM_STAC
|
||||
2: movw %ax,(%_ASM_CX)
|
||||
xor %eax,%eax
|
||||
@@ -65,7 +65,7 @@ ENTRY(__put_user_4)
|
||||
mov TASK_addr_limit(%_ASM_BX),%_ASM_BX
|
||||
sub $3,%_ASM_BX
|
||||
cmp %_ASM_BX,%_ASM_CX
|
||||
jae bad_put_user
|
||||
jae .Lbad_put_user
|
||||
ASM_STAC
|
||||
3: movl %eax,(%_ASM_CX)
|
||||
xor %eax,%eax
|
||||
@@ -79,7 +79,7 @@ ENTRY(__put_user_8)
|
||||
mov TASK_addr_limit(%_ASM_BX),%_ASM_BX
|
||||
sub $7,%_ASM_BX
|
||||
cmp %_ASM_BX,%_ASM_CX
|
||||
jae bad_put_user
|
||||
jae .Lbad_put_user
|
||||
ASM_STAC
|
||||
4: mov %_ASM_AX,(%_ASM_CX)
|
||||
#ifdef CONFIG_X86_32
|
||||
@@ -91,16 +91,16 @@ ENTRY(__put_user_8)
|
||||
ENDPROC(__put_user_8)
|
||||
EXPORT_SYMBOL(__put_user_8)
|
||||
|
||||
bad_put_user_clac:
|
||||
.Lbad_put_user_clac:
|
||||
ASM_CLAC
|
||||
bad_put_user:
|
||||
.Lbad_put_user:
|
||||
movl $-EFAULT,%eax
|
||||
RET
|
||||
|
||||
_ASM_EXTABLE_UA(1b, bad_put_user_clac)
|
||||
_ASM_EXTABLE_UA(2b, bad_put_user_clac)
|
||||
_ASM_EXTABLE_UA(3b, bad_put_user_clac)
|
||||
_ASM_EXTABLE_UA(4b, bad_put_user_clac)
|
||||
_ASM_EXTABLE_UA(1b, .Lbad_put_user_clac)
|
||||
_ASM_EXTABLE_UA(2b, .Lbad_put_user_clac)
|
||||
_ASM_EXTABLE_UA(3b, .Lbad_put_user_clac)
|
||||
_ASM_EXTABLE_UA(4b, .Lbad_put_user_clac)
|
||||
#ifdef CONFIG_X86_32
|
||||
_ASM_EXTABLE_UA(5b, bad_put_user_clac)
|
||||
_ASM_EXTABLE_UA(5b, .Lbad_put_user_clac)
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user