mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-07 13:53:24 +00:00
896842284c
fadvise64_64() has two 64-bit arguments at the wrong alignment for hexagon, which turns them into a 7-argument syscall that is not supported by Linux. The downstream musl port for hexagon actually asks for a 6-argument version the same way we do it on arm, csky, powerpc, so make the kernel do it the same way to avoid having to change both. Link: https://github.com/quic/musl/blob/hexagon/arch/hexagon/syscall_arch.h#L78 Cc: stable@vger.kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
27 lines
629 B
C
27 lines
629 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* System call table for Hexagon
|
|
*
|
|
* Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
|
|
*/
|
|
|
|
#include <linux/syscalls.h>
|
|
#include <linux/signal.h>
|
|
#include <linux/unistd.h>
|
|
|
|
#include <asm/syscall.h>
|
|
|
|
#undef __SYSCALL
|
|
#define __SYSCALL(nr, call) [nr] = (call),
|
|
|
|
SYSCALL_DEFINE6(hexagon_fadvise64_64, int, fd, int, advice,
|
|
SC_ARG64(offset), SC_ARG64(len))
|
|
{
|
|
return ksys_fadvise64_64(fd, SC_VAL64(loff_t, offset), SC_VAL64(loff_t, len), advice);
|
|
}
|
|
#define sys_fadvise64_64 sys_hexagon_fadvise64_64
|
|
|
|
void *sys_call_table[__NR_syscalls] = {
|
|
#include <asm/unistd.h>
|
|
};
|