-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'riscv-for-linus-6.11-rc7' of git://git.kernel.org/pub/scm/…
…linux/kernel/git/riscv/linux Pull RISC-V fixes from Palmer Dabbelt: - A revert for the mmap() change that ties the allocation range to the hint adress, as what we tried to do ended up regressing on other userspace workloads. - A fix to avoid a kernel memory leak when emulating misaligned accesses from userspace. - A Kconfig fix for toolchain vector detection, which now correctly detects vector support on toolchains where the V extension depends on the M extension. - A fix to avoid failing the linear mapping bootmem bounds check on NOMMU systems. - A fix for early alternatives on relocatable kernels. * tag 'riscv-for-linus-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: riscv: Fix RISCV_ALTERNATIVE_EARLY riscv: Do not restrict memory size because of linear mapping on nommu riscv: Fix toolchain vector detection riscv: misaligned: Restrict user access to kernel memory riscv: mm: Do not restrict mmap address based on hint riscv: selftests: Remove mmap hint address checks Revert "RISC-V: mm: Document mmap changes"
- Loading branch information
Showing
12 changed files
with
79 additions
and
181 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
// SPDX-License-Identifier: GPL-2.0 | ||
/* Copyright (c) 2024 Rivos Inc. */ | ||
|
||
#include <asm/sbi.h> | ||
#define CREATE_TRACE_POINTS | ||
#include <asm/trace.h> | ||
|
||
long __sbi_base_ecall(int fid) | ||
{ | ||
struct sbiret ret; | ||
|
||
ret = sbi_ecall(SBI_EXT_BASE, fid, 0, 0, 0, 0, 0, 0); | ||
if (!ret.error) | ||
return ret.value; | ||
else | ||
return sbi_err_map_linux_errno(ret.error); | ||
} | ||
EXPORT_SYMBOL(__sbi_base_ecall); | ||
|
||
struct sbiret __sbi_ecall(unsigned long arg0, unsigned long arg1, | ||
unsigned long arg2, unsigned long arg3, | ||
unsigned long arg4, unsigned long arg5, | ||
int fid, int ext) | ||
{ | ||
struct sbiret ret; | ||
|
||
trace_sbi_call(ext, fid); | ||
|
||
register uintptr_t a0 asm ("a0") = (uintptr_t)(arg0); | ||
register uintptr_t a1 asm ("a1") = (uintptr_t)(arg1); | ||
register uintptr_t a2 asm ("a2") = (uintptr_t)(arg2); | ||
register uintptr_t a3 asm ("a3") = (uintptr_t)(arg3); | ||
register uintptr_t a4 asm ("a4") = (uintptr_t)(arg4); | ||
register uintptr_t a5 asm ("a5") = (uintptr_t)(arg5); | ||
register uintptr_t a6 asm ("a6") = (uintptr_t)(fid); | ||
register uintptr_t a7 asm ("a7") = (uintptr_t)(ext); | ||
asm volatile ("ecall" | ||
: "+r" (a0), "+r" (a1) | ||
: "r" (a2), "r" (a3), "r" (a4), "r" (a5), "r" (a6), "r" (a7) | ||
: "memory"); | ||
ret.error = a0; | ||
ret.value = a1; | ||
|
||
trace_sbi_return(ext, ret.error, ret.value); | ||
|
||
return ret; | ||
} | ||
EXPORT_SYMBOL(__sbi_ecall); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,8 +7,6 @@ | |
TEST(infinite_rlimit) | ||
{ | ||
EXPECT_EQ(BOTTOM_UP, memory_layout()); | ||
|
||
TEST_MMAPS; | ||
} | ||
|
||
TEST_HARNESS_MAIN |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,8 +7,6 @@ | |
TEST(default_rlimit) | ||
{ | ||
EXPECT_EQ(TOP_DOWN, memory_layout()); | ||
|
||
TEST_MMAPS; | ||
} | ||
|
||
TEST_HARNESS_MAIN |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters