Message ID | 20240705170210.3236-1-jszhang@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 5c178472af247c7b50f962495bb7462ba453b9fb |
Headers | show |
Series | [v2] riscv: define ILLEGAL_POINTER_VALUE for 64bit | expand |
On Sat, Jul 06, 2024 at 01:02:10AM +0800, Jisheng Zhang wrote: > This is used in poison.h for poison pointer offset. Based on current > SV39, SV48 and SV57 vm layout, 0xdead000000000000 is a proper value > that is not mappable, this can avoid potentially turning an oops to > an expolit. Maybe I also need to cc stable? This is a secure hole fix patch. > > Signed-off-by: Jisheng Zhang <jszhang@kernel.org> > --- > > Since v1: > - fix typo:s/SV59/SV57 > > arch/riscv/Kconfig | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig > index c51b32a8ddff..c992eabbd002 100644 > --- a/arch/riscv/Kconfig > +++ b/arch/riscv/Kconfig > @@ -313,6 +313,11 @@ config GENERIC_HWEIGHT > config FIX_EARLYCON_MEM > def_bool MMU > > +config ILLEGAL_POINTER_VALUE > + hex > + default 0 if 32BIT > + default 0xdead000000000000 if 64BIT > + > config PGTABLE_LEVELS > int > default 5 if 64BIT > -- > 2.43.0 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
On Fri, 05 Jul 2024 17:50:10 PDT (-0700), jszhang@kernel.org wrote: > On Sat, Jul 06, 2024 at 01:02:10AM +0800, Jisheng Zhang wrote: >> This is used in poison.h for poison pointer offset. Based on current >> SV39, SV48 and SV57 vm layout, 0xdead000000000000 is a proper value >> that is not mappable, this can avoid potentially turning an oops to >> an expolit. > > Maybe I also need to cc stable? This is a secure hole fix patch. Ya, and I guess it's just been broken forever? I stuck a Fixes: fbe934d69eb7 ("RISC-V: Build Infrastructure") it should show up on for-next, assuming the tests pass... > >> >> Signed-off-by: Jisheng Zhang <jszhang@kernel.org> >> --- >> >> Since v1: >> - fix typo:s/SV59/SV57 >> >> arch/riscv/Kconfig | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig >> index c51b32a8ddff..c992eabbd002 100644 >> --- a/arch/riscv/Kconfig >> +++ b/arch/riscv/Kconfig >> @@ -313,6 +313,11 @@ config GENERIC_HWEIGHT >> config FIX_EARLYCON_MEM >> def_bool MMU >> >> +config ILLEGAL_POINTER_VALUE >> + hex >> + default 0 if 32BIT >> + default 0xdead000000000000 if 64BIT >> + >> config PGTABLE_LEVELS >> int >> default 5 if 64BIT >> -- >> 2.43.0 >> >> >> _______________________________________________ >> linux-riscv mailing list >> linux-riscv@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-riscv
Hello: This patch was applied to riscv/linux.git (for-next) by Palmer Dabbelt <palmer@rivosinc.com>: On Sat, 6 Jul 2024 01:02:10 +0800 you wrote: > This is used in poison.h for poison pointer offset. Based on current > SV39, SV48 and SV57 vm layout, 0xdead000000000000 is a proper value > that is not mappable, this can avoid potentially turning an oops to > an expolit. > > Signed-off-by: Jisheng Zhang <jszhang@kernel.org> > > [...] Here is the summary with links: - [v2] riscv: define ILLEGAL_POINTER_VALUE for 64bit https://git.kernel.org/riscv/c/5c178472af24 You are awesome, thank you!
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index c51b32a8ddff..c992eabbd002 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -313,6 +313,11 @@ config GENERIC_HWEIGHT config FIX_EARLYCON_MEM def_bool MMU +config ILLEGAL_POINTER_VALUE + hex + default 0 if 32BIT + default 0xdead000000000000 if 64BIT + config PGTABLE_LEVELS int default 5 if 64BIT
This is used in poison.h for poison pointer offset. Based on current SV39, SV48 and SV57 vm layout, 0xdead000000000000 is a proper value that is not mappable, this can avoid potentially turning an oops to an expolit. Signed-off-by: Jisheng Zhang <jszhang@kernel.org> --- Since v1: - fix typo:s/SV59/SV57 arch/riscv/Kconfig | 5 +++++ 1 file changed, 5 insertions(+)