qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [QEMU 1/1] nvme: Fix misleading macro when mixed with ternary operat


From: Stefan Hajnoczi
Subject: Re: [QEMU 1/1] nvme: Fix misleading macro when mixed with ternary operator
Date: Tue, 12 Jul 2022 13:11:21 +0100

On Thu, Jul 07, 2022 at 01:36:21PM +0000, Darren Kenny wrote:
> Using the Parfait source code analyser and issue was found in
> hw/nvme/ctrl.c where the macros NVME_CAP_SET_CMBS and NVME_CAP_SET_PMRS
> are called with a ternary operatore in the second parameter, resulting
> in a potentially unexpected expansion of the form:
> 
>   x ? a: b & FLAG_TEST
> 
> which will result in a different result to:
> 
>   (x ? a: b) & FLAG_TEST.
> 
> The macros should wrap each of the parameters in brackets to ensure the
> correct result on expansion.
> 
> Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
> ---
>  include/block/nvme.h | 44 ++++++++++++++++++++++----------------------
>  1 file changed, 22 insertions(+), 22 deletions(-)

Klaus: ping

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]