Skip to content

Commit

Permalink
powerpc/vdso: Add missing includes and clean vdso_setup_syscall_map()
Browse files Browse the repository at this point in the history
Instead of including extern references locally in
vdso_setup_syscall_map(), add the missing headers.

sys_ni_syscall() being a function, cast its address to
an unsigned long instead of declaring it as a fake
unsigned long object.

At the same time, remove a comment which paraphrases the
function name.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/b4afedce748ed2858299ceab5ae29b52109263ef.1601197618.git.christophe.leroy@csgroup.eu
  • Loading branch information
chleroy authored and mpe committed Dec 3, 2020
1 parent 7fe2de2 commit bc9d5bf
Showing 1 changed file with 5 additions and 12 deletions.
17 changes: 5 additions & 12 deletions arch/powerpc/kernel/vdso.c
Expand Up @@ -17,8 +17,10 @@
#include <linux/elf.h>
#include <linux/security.h>
#include <linux/memblock.h>
#include <linux/syscalls.h>
#include <vdso/datapage.h>

#include <asm/syscall.h>
#include <asm/processor.h>
#include <asm/mmu.h>
#include <asm/mmu_context.h>
Expand Down Expand Up @@ -639,24 +641,18 @@ static __init int vdso_setup(void)
static void __init vdso_setup_syscall_map(void)
{
unsigned int i;
extern unsigned long *sys_call_table;
#ifdef CONFIG_PPC64
extern unsigned long *compat_sys_call_table;
#endif
extern unsigned long sys_ni_syscall;


for (i = 0; i < NR_syscalls; i++) {
#ifdef CONFIG_PPC64
if (sys_call_table[i] != sys_ni_syscall)
if (sys_call_table[i] != (unsigned long)&sys_ni_syscall)
vdso_data->syscall_map_64[i >> 5] |=
0x80000000UL >> (i & 0x1f);
if (IS_ENABLED(CONFIG_COMPAT) &&
compat_sys_call_table[i] != sys_ni_syscall)
compat_sys_call_table[i] != (unsigned long)&sys_ni_syscall)
vdso_data->syscall_map_32[i >> 5] |=
0x80000000UL >> (i & 0x1f);
#else /* CONFIG_PPC64 */
if (sys_call_table[i] != sys_ni_syscall)
if (sys_call_table[i] != (unsigned long)&sys_ni_syscall)
vdso_data->syscall_map_32[i >> 5] |=
0x80000000UL >> (i & 0x1f);
#endif /* CONFIG_PPC64 */
Expand Down Expand Up @@ -738,9 +734,6 @@ static int __init vdso_init(void)
#endif


/*
* Setup the syscall map in the vDOS
*/
vdso_setup_syscall_map();

/*
Expand Down

0 comments on commit bc9d5bf

Please sign in to comment.