* [PATCH] UML - Fix locking in skb alloction failure fix
@ 2007-09-28 15:43 Jeff Dike
2007-09-28 18:26 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: Jeff Dike @ 2007-09-28 15:43 UTC (permalink / raw)
To: Andrew Morton; +Cc: LKML, uml-devel
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 <jdike@linux.intel.com>
---
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;
}
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] UML - Fix locking in skb alloction failure fix
2007-09-28 15:43 [PATCH] UML - Fix locking in skb alloction failure fix Jeff Dike
@ 2007-09-28 18:26 ` Andrew Morton
2007-09-28 19:03 ` Jeff Dike
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2007-09-28 18:26 UTC (permalink / raw)
To: Jeff Dike; +Cc: LKML, uml-devel
On Fri, 28 Sep 2007 11:43:14 -0400 Jeff Dike <jdike@addtoit.com> 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 <jdike@linux.intel.com>
> ---
> 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??
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] UML - Fix locking in skb alloction failure fix
2007-09-28 18:26 ` Andrew Morton
@ 2007-09-28 19:03 ` Jeff Dike
0 siblings, 0 replies; 3+ messages in thread
From: Jeff Dike @ 2007-09-28 19:03 UTC (permalink / raw)
To: Andrew Morton; +Cc: LKML, uml-devel
On Fri, Sep 28, 2007 at 11:26:34AM -0700, Andrew Morton wrote:
> Doesn't this assume that the arch is only ever uniprocessor, which I
> don't think is true on i386 UML??
It is for now, and when that changes, I haven't decided if and when
interrupts will be received on multiple CPUs.
Jeff
--
Work email - jdike at linux dot intel dot com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-09-28 19:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-28 15:43 [PATCH] UML - Fix locking in skb alloction failure fix Jeff Dike
2007-09-28 18:26 ` Andrew Morton
2007-09-28 19:03 ` Jeff Dike
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox