On Mon, Feb 05, 2024 at 05:56:45AM +0000, Kumar Kartikeya Dwivedi wrote: > Allow transferring an imbalanced RCU lock state between subprog calls > during verification. This allows patterns where a subprog call returns > with an RCU lock held, or a subprog call releases an RCU lock held by > the caller. Currently, the verifier would end up complaining if the RCU > lock is not released when processing an exit from a subprog, which is > non-ideal if its execution is supposed to be enclosed in an RCU read > section of the caller. > > Instead, simply only check whether we are processing exit for frame#0 > and do not complain on an active RCU lock otherwise. We only need to > update the check when processing BPF_EXIT insn, as copy_verifier_state > is already set up to do the right thing. > > Suggested-by: David Vernet <void@xxxxxxxxxxxxx> > Tested-by: Yafang Shao <laoar.shao@xxxxxxxxx> > Acked-by: Yonghong Song <yonghong.song@xxxxxxxxx> > Signed-off-by: Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx> Acked-by: David Vernet <void@xxxxxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature