bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Why does tail call only unwind the current stack frame instead of resetting the current stack?
@ 2021-09-12 17:48 Hsuan-Chi Kuo
  2021-09-13  4:08 ` Yonghong Song
  0 siblings, 1 reply; 4+ messages in thread
From: Hsuan-Chi Kuo @ 2021-09-12 17:48 UTC (permalink / raw)
  To: bpf

Hi,

The function check_max_stack_depth 
(https://elixir.bootlin.com/linux/latest/source/kernel/bpf/verifier.c#L3574) 
is used to ensure the stack size is no greater than 8KB.

The stack can only grow over 8KB because of tail calls as they only 
unwind the current stack frame. I wonder why not make tail call reset 
the stack since what was on the stack

will never be used again?


Thanks


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-09-13 16:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-12 17:48 Why does tail call only unwind the current stack frame instead of resetting the current stack? Hsuan-Chi Kuo
2021-09-13  4:08 ` Yonghong Song
2021-09-13  5:04   ` Hsuan-Chi Kuo
2021-09-13 16:32     ` Alexei Starovoitov

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).