On Thu, Nov 5, 2020 at 1:53 PM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Thu, 5 Nov 2020 13:22:12 -0800 Andrii Nakryiko wrote: > > On Thu, Nov 5, 2020 at 8:02 AM Jiri Benc <jbenc@xxxxxxxxxx> wrote: > > > On Thu, 23 Apr 2020 12:58:50 -0700, Andrii Nakryiko wrote: > > > > To make BPF verifier verbose log more releavant and easier to use to debug > > > > verification failures, "pop" parts of log that were successfully verified. > > > > This has effect of leaving only verifier logs that correspond to code branches > > > > that lead to verification failure, which in practice should result in much > > > > shorter and more relevant verifier log dumps. This behavior is made the > > > > default behavior and can be overriden to do exhaustive logging by specifying > > > > BPF_LOG_LEVEL2 log level. > > > > > > This patch broke the test_offload.py selftest: > > > > > > [...] > > > Test TC offloads work... > > > FAIL: Missing or incorrect message from netdevsim in verifier log > > > [...] > > > > > > The selftest expects to receive "[netdevsim] Hello from netdevsim!" in > > > the log (coming from nsim_bpf_verify_insn) but that part of the log is > > > cleared by bpf_vlog_reset added by this patch. > > > > Should we just drop check_verifier_log() checks? > > Drivers only print error messages when something goes wrong, so the > messages are high priority. IIUC this change was just supposed to > decrease verbosity, right? Seems like check_verifier_log() in test_offline.py is only called for successful cases. This patch truncates parts of the verifier log that correspond to successfully validated code paths, so that in case if verification fails, only relevant parts are left. So for completely successful verification the log will be almost empty, with only final stats available.