]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
checkpatch: add qemu_bh_new/aio_bh_new checks
authorAlexander Bulekov <alxndr@bu.edu>
Thu, 27 Apr 2023 21:10:08 +0000 (17:10 -0400)
committerMichael Tokarev <mjt@tls.msk.ru>
Sun, 10 Sep 2023 16:38:01 +0000 (19:38 +0300)
Advise authors to use the _guarded versions of the APIs, instead.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20230427211013.2994127-4-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>
(cherry picked from commit ef56ffbdd6b0605dc1e305611287b948c970e236)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
scripts/checkpatch.pl

index d768171dcfaae012bbcdf9f0cd04329c438ed8ae..eeaec436eb36a5a0dff91afc607739bb6b0a792d 100755 (executable)
@@ -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 ($realfile =~ /.*\/hw\/.*/ && $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 ($realfile =~ /.*\/hw\/.*/ && $line =~ /\baio_bh_new\s*\(/) {
+                       ERROR("use aio_bh_new_guarded() instead of aio_bh_new() to avoid reentrancy problems\n" . $herecurr);
+               }
 # check for module_init(), use category-specific init macros explicitly please
                if ($line =~ /^module_init\s*\(/) {
                        ERROR("please use block_init(), type_init() etc. instead of module_init()\n" . $herecurr);