• Daniel Borkmann's avatar
    x86, um: actually mark system call tables readonly · f465346b
    Daniel Borkmann authored
    commit b485342b upstream.
    
    Commit a074335a ("x86, um: Mark system call tables readonly") was
    supposed to mark the sys_call_table in UML as RO by adding the const,
    but it doesn't have the desired effect as it's nevertheless being placed
    into the data section since __cacheline_aligned enforces sys_call_table
    being placed into .data..cacheline_aligned instead. We need to use
    the ____cacheline_aligned version instead to fix this issue.
    
    Before:
    
    $ nm -v arch/x86/um/sys_call_table_64.o | grep -1 "sys_call_table"
                     U sys_writev
    0000000000000000 D sys_call_table
    0000000000000000 D syscall_table_size
    
    After:
    
    $ nm -v arch/x86/um/sys_call_table_64.o | grep -1 "sys_call_table"
                     U sys_writev
    0000000000000000 R sys_call_table
    0000000000000000 D syscall_table_size
    
    Fixes: a074335a ("x86, um: Mark system call tables readonly")
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
    Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
    Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
    f465346b
sys_call_table_64.c 1.51 KB