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

Attachment: signature.asc
Description: PGP signature

Reply via email to