On Thu, Jan 22, 2026 at 2:16 PM Peter Maydell <[email protected]> wrote:
> >          supported_xcr0 =
> > -            ((uint64_t) x86_cpu_get_supported_feature_word(NULL, 
> > FEAT_XSAVE_XCR0_HI) << 32) |
> > +            x86_cpu_get_supported_feature_word(NULL, FEAT_XSAVE_XCR0_HI) 
> > << 32 |
> >              x86_cpu_get_supported_feature_word(NULL, FEAT_XSAVE_XCR0_LO);
> > +        supported_xss =
> > +            x86_cpu_get_supported_feature_word(NULL, FEAT_XSAVE_XSS_HI) << 
> > 32 |
> > +            x86_cpu_get_supported_feature_word(NULL, FEAT_XSAVE_XSS_LO);
>
> x86_cpu_get_supported_feature_word() returns a 64 bit value
> which may have bits set in the top half (notably it returns
> ~0 for some cases), but the shift by 32 throws away those
> top bits, so Coverity complains about a possible overflow.
>
> Is this an actual problem, or a "can't-happen" false positive?

These four are 32-bit, indeed.

Paolo


Reply via email to