@samitouri / QOSamiQemu / commits / c39e05af43

hw/nvme: fix unintentional integer overflow in shift

Fix potentially overflowing shift operation. Cc: qemu-stable@nongnu.org Suggested-by: Peter Maydell <peter.maydell@linaro.org> Suggested-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Resolves: Coverity CID 1663674 Fixes: ec917cd49918 ("hw/nvme: fix FDP set FDP events") Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>

Klaus Jensen committed Jul 28, 2026 at 11:42 UTC c39e05af439a3a2bd58a847fc30d7eb590fcf61e
1 file changed +3 -1
hw/nvme/ctrl.c
+3 -1
@@ -196,6 +196,7 @@
196 */
197
198 #include "qemu/osdep.h"
199 +#include "qemu/bitops.h"
200 #include "qemu/cutils.h"
201 #include "qemu/error-report.h"
202 #include "qemu/log.h"
@@ -6625,7 +6626,8 @@ static uint16_t nvme_set_feature_fdp_events(NvmeCtrl *n, NvmeNamespace *ns,
6626 if (!shift && event_type) {
6627 continue;
6628 }
6628 - event_mask |= (1 << nvme_fdp_evf_shifts[events[i]]);
6629 + event_mask =
6630 + deposit64(event_mask, nvme_fdp_evf_shifts[events[i]], 1, 1);
6631 }
6632
6633 if (enable) {