On Thu, Jan 26, 2023 at 12:25:57AM -0500, Alexander Bulekov wrote: > Advise authors to use the _guarded versions of the APIs, instead. > > Signed-off-by: Alexander Bulekov <alx...@bu.edu> > --- > scripts/checkpatch.pl | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index 6ecabfb2b5..61bb4b0a19 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -2865,6 +2865,14 @@ sub process { > if ($line =~ /\bsignal\s*\(/ && !($line =~ /SIG_(?:IGN|DFL)/)) { > ERROR("use sigaction to establish signal handlers; > signal is not portable\n" . $herecurr); > } > +# recommend qemu_bh_new_guarded instead of qemu_bh_new > + if ($line =~ /\bqemu_bh_new\s*\(/) { > + ERROR("use qemu_bh_new_guarded() instead of > qemu_bh_new() to avoid reentrancy problems\n" . $herecurr); > + } > +# recommend aio_bh_new_guarded instead of aio_bh_new > + if ($line =~ /\baio_bh_new\s*\(/) { > + ERROR("use aio_bh_new_guarded() instead of aio_bh_new() > to avoid reentrancy problems\n" . $herecurr); > + }
These checks should be limited to source code in hw/. Other directories can use BHs without MemReentrancyGuard. Stefan
signature.asc
Description: PGP signature