]> git.itanic.dy.fi Git - linux-stable/commitdiff
vfio/cdx: Add parentheses between bitwise AND expression and logical NOT
authorNathan Chancellor <nathan@kernel.org>
Mon, 2 Oct 2023 17:53:13 +0000 (10:53 -0700)
committerAlex Williamson <alex.williamson@redhat.com>
Tue, 3 Oct 2023 17:40:49 +0000 (11:40 -0600)
When building with clang, there is a warning (or error with
CONFIG_WERROR=y) due to a bitwise AND and logical NOT in
vfio_cdx_bm_ctrl():

  drivers/vfio/cdx/main.c:77:6: error: logical not is only applied to the left hand side of this bitwise operator [-Werror,-Wlogical-not-parentheses]
     77 |         if (!vdev->flags & BME_SUPPORT)
        |             ^            ~
  drivers/vfio/cdx/main.c:77:6: note: add parentheses after the '!' to evaluate the bitwise operator first
     77 |         if (!vdev->flags & BME_SUPPORT)
        |             ^
        |              (                        )
  drivers/vfio/cdx/main.c:77:6: note: add parentheses around left hand side expression to silence this warning
     77 |         if (!vdev->flags & BME_SUPPORT)
        |             ^
        |             (           )
  1 error generated.

Add the parentheses as suggested in the first note, which is clearly
what was intended here.

Closes: https://github.com/ClangBuiltLinux/linux/issues/1939
Fixes: 8a97ab9b8b31 ("vfio-cdx: add bus mastering device feature support")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Nikhil Agarwal <nikhil.agarwal@amd.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/r/20231002-vfio-cdx-logical-not-parentheses-v1-1-a8846c7adfb6@kernel.org
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/cdx/main.c

index a437630be3546970cbb695935deaabad9fe6fd9d..a63744302b5eacec2aa265378f5affe0dea36066 100644 (file)
@@ -74,7 +74,7 @@ static int vfio_cdx_bm_ctrl(struct vfio_device *core_vdev, u32 flags,
        struct vfio_device_feature_bus_master ops;
        int ret;
 
-       if (!vdev->flags & BME_SUPPORT)
+       if (!(vdev->flags & BME_SUPPORT))
                return -ENOTTY;
 
        ret = vfio_check_feature(flags, argsz, VFIO_DEVICE_FEATURE_SET,