]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'fix-verifier-warning'
authorAlexei Starovoitov <ast@kernel.org>
Tue, 26 Mar 2019 20:02:16 +0000 (13:02 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 26 Mar 2019 20:02:17 +0000 (13:02 -0700)
commit549b971d58ce02ba5fa2799a02aeb8189c588e64
treed5a2efc9d6c204c1014fae26e3adc4c617911173
parent62beb3eef841e6758bb7c74b456c614003f13b32
parent586ab66925b79ffaa69d05de9d9930fffcbdb169
Merge branch 'fix-verifier-warning'

Paul Chaignon says:

====================
The BPF verifier checks the maximum number of call stack frames twice,
first in the main CFG traversal (do_check) and then in a subsequent
traversal (check_max_stack_depth).  If the second check fails, it logs a
'verifier bug' warning and errors out, as the number of call stack frames
should have been verified already.

However, the second check may fail without indicating a verifier bug: if
the excessive function calls reside in dead code, the main CFG traversal
may not visit them; the subsequent traversal visits all instructions,
including dead code.

This case raises the question of how invalid dead code should be treated.
The first patch implements the conservative option and rejects such code;
the second adds a test case.
====================

Signed-off-by: Alexei Starovoitov <ast@kernel.org>