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

Re: [Xen-devel] [PATCH 1/2] fix locking in offline_page()



At 10:05 +0000 on 27 Nov (1385543154), Jan Beulich wrote:
> >>> On 27.11.13 at 11:01, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
> > On 27/11/13 08:25, Jan Beulich wrote:
> >>          else
> >>          {
> >>              *status = PG_OFFLINE_OWNED | PG_OFFLINE_PENDING |
> >> -              (owner->domain_id << PG_OFFLINE_OWNER_SHIFT);
> >> +                      (owner->domain_id << PG_OFFLINE_OWNER_SHIFT);
> > 
> > domain_id will be promoted from a uint16_t to an int32_t, then shifted
> > left by 16 bits which is undefined if the top of domain_id bit was set.
> 
> That promotion is done by zero extension, so I don't figure what
> you think is undefined here.

If the domid has bit 15 set, it will be shifted into the sign bit of
the promoted integer; it should be explicitly cast to an unsigned type
before the shift.

Tim.

> Furthermore I suppose you realize that all the patch does here is
> adjust indentation.
> 
> Jan
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.