Messages in this thread | | | Date | Wed, 03 Oct 2007 16:39:02 -0700 (PDT) | Subject | Re: [PATCH] net: fix race in process_backlog | From | David Miller <> |
| |
From: Stephen Hemminger <shemminger@linux-foundation.org> Date: Wed, 3 Oct 2007 15:05:19 -0700
> On Wed, 03 Oct 2007 14:58:07 -0700 (PDT) > David Miller <davem@davemloft.net> wrote: > > > From: Peter Zijlstra <a.p.zijlstra@chello.nl> > > Date: Wed, 03 Oct 2007 17:44:53 +0200 > > > > > Index: linux-2.6/net/core/dev.c > > > =================================================================== > > > --- linux-2.6.orig/net/core/dev.c > > > +++ linux-2.6/net/core/dev.c > > > @@ -2095,11 +2095,11 @@ static int process_backlog(struct napi_s > > > > > > local_irq_disable(); > > > skb = __skb_dequeue(&queue->input_pkt_queue); > > > - local_irq_enable(); > > > if (!skb) { > > > - napi_complete(napi); > > > + __napi_complete(napi); > > > break; > > > } > > > + local_irq_enable(); > > > > What re-enables interrupts in the !skb path? > > This looks like a better fix. the irq_enable is needed in both cases.
Yep, applied, thanks Peter and Stephen. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |