On Fri, 28 Sep 2007 11:43:14 -0400 Jeff Dike <[EMAIL PROTECTED]> wrote:

> Add _irqsave/_irqrestore to the locking in update_drop_skb to keep
> uml_net_rx out while the drop skb is being messed with.
> 
> Signed-off-by: Jeff Dike <[EMAIL PROTECTED]>
> ---
>  arch/um/drivers/net_kern.c |    5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> Index: linux-2.6.22/arch/um/drivers/net_kern.c
> ===================================================================
> --- linux-2.6.22.orig/arch/um/drivers/net_kern.c      2007-09-28 
> 11:10:19.000000000 -0400
> +++ linux-2.6.22/arch/um/drivers/net_kern.c   2007-09-28 11:13:58.000000000 
> -0400
> @@ -49,9 +49,10 @@ static int drop_max;
>  static int update_drop_skb(int max)
>  {
>       struct sk_buff *new;
> +     unsigned long flags;
>       int err = 0;
>  
> -     spin_lock(&drop_lock);
> +     spin_lock_irqsave(&drop_lock, flags);
>  
>       if (max <= drop_max)
>               goto out;
> @@ -68,7 +69,7 @@ static int update_drop_skb(int max)
>       drop_max = max;
>       err = 0;
>  out:
> -     spin_unlock(&drop_lock);
> +     spin_unlock_irqrestore(&drop_lock, flags);
>  
>       return err;
>  }

Doesn't this assume that the arch is only ever uniprocessor, which I don't 
think is
true on i386 UML??

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to