linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Arnd Bergmann" <arnd@arndb.de>
To: guoren <guoren@kernel.org>
Cc: "Palmer Dabbelt" <palmer@rivosinc.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Andy Lutomirski" <luto@kernel.org>,
	"Conor.Dooley" <conor.dooley@microchip.com>,
	"Heiko Stübner" <heiko@sntech.de>,
	"Jisheng Zhang" <jszhang@kernel.org>,
	lazyparser@gmail.com, falcon@tinylab.org,
	"Huacai Chen" <chenhuacai@kernel.org>,
	"Anup Patel" <apatel@ventanamicro.com>,
	"Atish Patra" <atishp@atishpatra.org>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Paul Walmsley" <paul.walmsley@sifive.com>,
	"Sebastian Andrzej Siewior" <bigeasy@linutronix.de>,
	Linux-Arch <linux-arch@vger.kernel.org>,
	linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
	"Guo Ren" <guoren@linux.alibaba.com>,
	"Andreas Schwab" <schwab@suse.de>
Subject: Re: [PATCH V4 8/8] riscv: Add config of thread stack size
Date: Mon, 12 Sep 2022 10:23:03 +0200	[thread overview]
Message-ID: <2b06f28d-a13d-4c86-af04-39e383aaf07b@www.fastmail.com> (raw)
In-Reply-To: <CAJF2gTRxt_b2TswE6YJgmFZeRyVzV7fQdMX+7Ptrfa_k=auSjg@mail.gmail.com>

On Mon, Sep 12, 2022, at 6:14 AM, Guo Ren wrote:
> On Mon, Sep 12, 2022 at 2:40 AM Arnd Bergmann <arnd@arndb.de> wrote:
>> On Sun, Sep 11, 2022, at 1:35 AM, Guo Ren wrote:
>> > On Sun, Sep 11, 2022 at 12:07 AM Arnd Bergmann <arnd@arndb.de> wrote:
>> >>
>> >> That sounds like a really bad idea, why would you want to risk
>> >> using such a small stack without CONFIG_VMAP_STACK?
>> >>
>> >> Are you worried about increased memory usage or something else?
>> > The requirement is from [1], and I think disabling CONFIG_VMAP_STACK
>> > would be the last step after serious testing.
>>
>> I still don't see why you need to turn off VMAP_STACK at all
>> if it works. The only downside I can see with using VMAP_STACK
>> on a 64-bit system is that it may expose bugs with device
>> drivers that do DMA to stack data. Once you have tested the
>> system successfully, you can also assume that you have no such
>> drivers.
> 1st, VMAP_STACK could be enabled&disabled in arch/Kconfig. If we don't
> force users to enable VMAP_STACK, why couldn't user adjust
> THREAD_SIZE?

Turning off VMAP_STACK is harmless and may help debug issues
with VMAP_STACK itself. It's also required on architectures
that don't have KASAN_VMALLOC or something else that conflicts
with it.

Changing THREAD_SIZE is also fine, as long as VMAP_STACK catches
the inevitable overflows. I would not object to having an
option that allows setting the stack size larger than the
default without VMAP_STACK, as long as setting it lower requires
using VMAP_STACK. That would however add a lot more complexity
and probably doesn't do what you want either.

> 2nd, VMAP_STACK is not free, we still need 1KB shadow_stack.
> The EXPERT is enough for your concern.

It's actually more than the 1KB: you need both 1KB of shadow
stack and 4KB per CPU for the actual overflow_stack. If you
are micro-optimizing at this level, then a possible option
may be to change the handle_kernel_stack_overflow() function
to not preserve the task stack and just panic() without
showing the backtrace. That way you don't see which code
caused the issue, but at least you avoid corrupting random
data.

     Arnd

  reply	other threads:[~2022-09-12  8:28 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-08  2:24 [PATCH V4 0/9] riscv: Add GENERIC_ENTRY, irq stack support guoren
2022-09-08  2:24 ` [PATCH V4 1/8] riscv: elf_kexec: Fixup compile warning guoren
2022-09-08  2:25 ` [PATCH V4 2/8] riscv: compat_syscall_table: " guoren
2022-09-08  2:25 ` [PATCH V4 3/8] riscv: ptrace: Remove duplicate operation guoren
2022-09-08  2:25 ` [PATCH V4 4/8] riscv: traps: Add noinstr to prevent instrumentation inserted guoren
2022-09-08  7:33   ` Peter Zijlstra
2022-09-10  9:17     ` Guo Ren
2022-09-10 12:46       ` Guo Ren
2022-09-11 15:09       ` Peter Zijlstra
2022-09-11 16:20         ` Guo Ren
2022-09-08  2:25 ` [PATCH V4 5/8] riscv: convert to generic entry guoren
2022-09-15 13:50   ` Yipeng Zou
2022-09-08  2:25 ` [PATCH V4 6/8] riscv: Support HAVE_IRQ_EXIT_ON_IRQ_STACK guoren
2022-09-08 16:08   ` Sebastian Andrzej Siewior
2022-09-09  7:30     ` David Laight
2022-09-11  1:13       ` Guo Ren
2022-09-08  2:25 ` [PATCH V4 7/8] riscv: Support HAVE_SOFTIRQ_ON_OWN_STACK guoren
2022-09-08 16:01   ` Sebastian Andrzej Siewior
2022-09-18 15:42     ` Guo Ren
2022-09-08  2:25 ` [PATCH V4 8/8] riscv: Add config of thread stack size guoren
2022-09-08  7:35   ` Arnd Bergmann
2022-09-10 12:52     ` Guo Ren
2022-09-10 16:06       ` Arnd Bergmann
2022-09-10 23:35         ` Guo Ren
2022-09-11 18:39           ` Arnd Bergmann
2022-09-12  4:14             ` Guo Ren
2022-09-12  8:23               ` Arnd Bergmann [this message]
2022-09-19  8:38                 ` Guo Ren
2022-09-19  8:35         ` Guo Ren
2022-09-20  0:46           ` Guo Ren
2022-09-20  7:15             ` Arnd Bergmann
2022-09-21  6:11               ` Guo Ren
2022-09-20  7:17             ` Arnd Bergmann
2022-09-21  6:13               ` Guo Ren
2022-09-21  8:23                 ` Guo Ren
2022-09-21 10:31                   ` Guo Ren
2022-09-21 10:46                     ` Guo Ren
2022-09-22  5:55                       ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2b06f28d-a13d-4c86-af04-39e383aaf07b@www.fastmail.com \
    --to=arnd@arndb.de \
    --cc=apatel@ventanamicro.com \
    --cc=atishp@atishpatra.org \
    --cc=bigeasy@linutronix.de \
    --cc=chenhuacai@kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=falcon@tinylab.org \
    --cc=guoren@kernel.org \
    --cc=guoren@linux.alibaba.com \
    --cc=heiko@sntech.de \
    --cc=jszhang@kernel.org \
    --cc=lazyparser@gmail.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=luto@kernel.org \
    --cc=palmer@dabbelt.com \
    --cc=palmer@rivosinc.com \
    --cc=paul.walmsley@sifive.com \
    --cc=peterz@infradead.org \
    --cc=schwab@suse.de \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).