Re: [PATCH] hw/nvme: fix unintentional integer overflow in shift

Philippe Mathieu-Daudé <[email protected]>
Newsgroups gmane.comp.emulators.qemu.block,gmane.comp.emulators.qemu,gmane.comp.emulators.qemu.stable
Message-ID <[email protected]>
On 28/7/26 11:42, Klaus Jensen wrote:
> On Jul 28 11:34, Philippe Mathieu-Daudé wrote:
>> On 28/7/26 11:26, Klaus Jensen wrote:
>>> From: Klaus Jensen <[email protected]>
>>>
>>> Fix potentially overflowing shift operation.
>>>
>>> Cc: [email protected]
>>> Suggested-by: Peter Maydell <[email protected]>
>>> Resolves: Coverity CID 1663674
>>> Fixes: ec917cd49918 ("hw/nvme: fix FDP set FDP events")
>>> Signed-off-by: Klaus Jensen <[email protected]>
>>> ---
>>>    hw/nvme/ctrl.c | 2 +-
>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
>>> index a67e1598891c..40f22fdc40bd 100644
>>> --- a/hw/nvme/ctrl.c
>>> +++ b/hw/nvme/ctrl.c
>>> @@ -6622,7 +6622,7 @@ static uint16_t nvme_set_feature_fdp_events(NvmeCtrl *n, NvmeNamespace *ns,
>>>            if (!shift && event_type) {
>>>                continue;
>>>            }
>>> -        event_mask |= (1 << nvme_fdp_evf_shifts[events[i]]);
>>> +        event_mask |= (1ULL << nvme_fdp_evf_shifts[events[i]]);
>>
>> Alternatively:
>>
>>    event_mask = deposit64(event_mask, nvme_fdp_evf_shifts[events[i]], 1);
>>
> 
> Better! Thanks!

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>

> 
>>>        }
>>>        if (enable) {
>>>
>>> ---
>>> base-commit: 299e7557ed15a9a325620698add379a3ce2d1d95
>>> change-id: 20260728-fix-shift-525e53c1df6f
>>>
>>> Best regards,
>>
>>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.