[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 04/12] evtchn: evtchn_set_priority() needs to acquire the per-channel lock
On 29.09.2020 12:21, Julien Grall wrote: > On 28/09/2020 11:57, Jan Beulich wrote: >> evtchn_fifo_set_pending() (invoked with the per-channel lock held) has >> two uses of the channel's priority field. The field gets updated by >> evtchn_fifo_set_priority() with only the per-domain event_lock held, >> i.e. the two reads may observe two different values. While the 2nd use >> could - afaict - in principle be replaced by q->priority, I think >> evtchn_set_priority() should acquire the per-channel lock in any event. >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >> >> --- a/xen/common/event_channel.c >> +++ b/xen/common/event_channel.c >> @@ -1132,7 +1132,9 @@ static long evtchn_set_priority(const st >> { >> struct domain *d = current->domain; >> unsigned int port = set_priority->port; >> + struct evtchn *chn; >> long ret; >> + unsigned long flags; >> >> spin_lock(&d->event_lock); > > Is it still necessary to hold d->event_lock? Good point - I see no reason for it to be held anymore. Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |