This was suggested in the syzkaller thread as a fix for a bunch of issues. It seems in line with what other architectures are doing, and while I haven't personally figured out how to reproduce the issues they seem believable enough to just change it.
Fixes: 7db91e57a0ac ("RISC-V: Task implementation") Cc: stable@vger.kernel.org Signed-off-by: Palmer Dabbelt palmerdabbelt@google.com --- I've put this on fixes as I don't see a patch from anyone on that thread, and it seems straight-forward enough to just do it. If there's any issues I'm happy to listen, otherwise this is going up later this week. --- arch/riscv/include/asm/thread_info.h | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/riscv/include/asm/thread_info.h b/arch/riscv/include/asm/thread_info.h index 1dd12a0cbb2b..2026076b1d30 100644 --- a/arch/riscv/include/asm/thread_info.h +++ b/arch/riscv/include/asm/thread_info.h @@ -12,7 +12,11 @@ #include <linux/const.h>
/* thread information allocation */ +#if defined(CONFIG_32BIT) #define THREAD_SIZE_ORDER (1) +#elif defined(CONFIG_64BIT) +#define THREAD_SIZE_ORDER (2) +#endif #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
#ifndef __ASSEMBLY__
On Jul 13 2020, Palmer Dabbelt wrote:
This was suggested in the syzkaller thread as a fix for a bunch of issues. It seems in line with what other architectures are doing, and while I haven't personally figured out how to reproduce the issues they seem believable enough to just change it.
Fixes: 7db91e57a0ac ("RISC-V: Task implementation") Cc: stable@vger.kernel.org Signed-off-by: Palmer Dabbelt palmerdabbelt@google.com
I've put this on fixes as I don't see a patch from anyone on that thread, and it seems straight-forward enough to just do it. If there's any issues I'm happy to listen, otherwise this is going up later this week.
See https://lore.kernel.org/linux-riscv/20200708145625.GA438@infradead.org/T/.
Andreas.
On Mon, 13 Jul 2020 22:32:42 PDT (-0700), schwab@suse.de wrote:
On Jul 13 2020, Palmer Dabbelt wrote:
This was suggested in the syzkaller thread as a fix for a bunch of issues. It seems in line with what other architectures are doing, and while I haven't personally figured out how to reproduce the issues they seem believable enough to just change it.
Fixes: 7db91e57a0ac ("RISC-V: Task implementation") Cc: stable@vger.kernel.org Signed-off-by: Palmer Dabbelt palmerdabbelt@google.com
I've put this on fixes as I don't see a patch from anyone on that thread, and it seems straight-forward enough to just do it. If there's any issues I'm happy to listen, otherwise this is going up later this week.
See https://lore.kernel.org/linux-riscv/20200708145625.GA438@infradead.org/T/.
Sorry, for some reason that didn't make my inbox. I'm taking it instead (with Anup's review and the stable stuff). It's on fixes.
Christoph: Some sort of CONFIG_IRQSTACKS seems reasonable, as I'm assuming that very small systems may want to try and save memory. That seems like too invasive of a change for rc6, and given this fixes some concrete issues I think it's better to just take it for now and do the better version later.
I'll add it to my TODO list, though that's pretty long so if someone else wants to take a look they're more than welcome to.
Thanks!
On 14/07/2020 02:19, Palmer Dabbelt wrote:
This was suggested in the syzkaller thread as a fix for a bunch of issues. It seems in line with what other architectures are doing, and while I haven't personally figured out how to reproduce the issues they seem believable enough to just change it.
Fixes: 7db91e57a0ac ("RISC-V: Task implementation") Cc: stable@vger.kernel.org Signed-off-by: Palmer Dabbelt palmerdabbelt@google.com
I've put this on fixes as I don't see a patch from anyone on that thread, and it seems straight-forward enough to just do it. If there's any issues I'm happy to listen, otherwise this is going up later this week.
arch/riscv/include/asm/thread_info.h | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/riscv/include/asm/thread_info.h b/arch/riscv/include/asm/thread_info.h index 1dd12a0cbb2b..2026076b1d30 100644 --- a/arch/riscv/include/asm/thread_info.h +++ b/arch/riscv/include/asm/thread_info.h @@ -12,7 +12,11 @@ #include <linux/const.h> /* thread information allocation */ +#if defined(CONFIG_32BIT) #define THREAD_SIZE_ORDER (1) +#elif defined(CONFIG_64BIT) +#define THREAD_SIZE_ORDER (2) +#endif #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER) #ifndef __ASSEMBLY__
FWIW, this fixes a gcov issue I was seeing.
linux-stable-mirror@lists.linaro.org