xemu/include/block
Darren Kenny 43f76aac49 nvme: Fix misleading macro when mixed with ternary operator
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>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
2022-07-15 10:40:33 +02:00
..
accounting.h block: add empty account cookie type 2019-10-10 10:56:18 +02:00
aio_task.h block: introduce aio task pool 2019-10-10 10:56:17 +02:00
aio-wait.h aio_wait_kick: add missing memory barrier 2022-06-24 17:07:06 +02:00
aio.h util/event-loop-base: Introduce options to set the thread pool size 2022-05-09 10:43:23 +01:00
block_backup.h block/backup: drop unused synchronization interface 2018-12-14 11:52:40 +01:00
block_int-common.h block: introduce snapshot-access block driver 2022-03-07 09:33:31 +01:00
block_int-global-state.h Clean up decorations and whitespace around header guards 2022-05-11 16:50:32 +02:00
block_int-io.h block: Make 'bytes' param of bdrv_co_{pread,pwrite,preadv,pwritev}() an int64_t 2022-07-12 12:14:56 +02:00
block_int.h include/block/block_int: split header into I/O and global state API 2022-03-04 18:18:25 +01:00
block-common.h block: fix preallocate filter: don't do unaligned preallocate requests 2022-03-07 09:19:20 +01:00
block-copy.h block/block-copy: block_copy(): add timeout_ns parameter 2022-06-29 10:56:12 +03:00
block-global-state.h block: Classify bdrv_get_flags() as I/O function 2022-05-04 15:55:23 +02:00
block-hmp-cmds.h Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
block-io.h block: Add bdrv_co_pwrite_sync() 2022-07-12 12:14:56 +02:00
block.h include/block/block: split header into I/O and global state API 2022-03-04 18:18:25 +01:00
blockjob_int.h include/block/blockjob_int.h: split header into I/O and GS API 2022-03-04 18:18:25 +01:00
blockjob.h include/block/blockjob.h: global state API 2022-03-04 18:18:25 +01:00
dirty-bitmap.h block/dirty-bitmap: introduce bdrv_dirty_bitmap_status() 2022-03-07 09:33:30 +01:00
export.h block/export: Move blk to BlockExport 2020-10-02 15:46:40 +02:00
fuse.h fuse: Allow exporting BDSs via FUSE 2020-12-11 17:52:39 +01:00
nbd.h nbd/server: Allow MULTI_CONN for shared writable exports 2022-05-12 13:10:52 +02:00
nvme.h nvme: Fix misleading macro when mixed with ternary operator 2022-07-15 10:40:33 +02:00
qapi.h qapi: Allow getting flat output from 'query-named-block-nodes' 2020-02-20 16:43:42 +01:00
qdict.h include: move qdict_{crumple,flatten} declarations 2022-04-21 17:03:51 +04:00
raw-aio.h linux-aio: add dev_max_batch parameter to laio_io_unplug() 2021-11-02 13:03:35 +01:00
replication.h replication: move include out of root directory 2021-05-26 14:49:46 +02:00
reqlist.h block/reqlist: add reqlist_wait_all() 2022-03-07 09:33:30 +01:00
snapshot.h include/block/snapshot: global state API + assertions 2022-03-04 18:18:25 +01:00
thread-pool.h util/event-loop-base: Introduce options to set the thread pool size 2022-05-09 10:43:23 +01:00
throttle-groups.h block/throttle-groups: throttle_group_co_io_limits_intercept(): 64bit bytes 2021-02-03 08:14:00 -06:00
write-threshold.h write-threshold: deal with includes 2021-05-14 16:14:10 +02:00