* Re: [PATCH 1/1 -next] 6LoWPAN: fix skb_copy call
2011-09-01 12:21 [PATCH 1/1 -next] 6LoWPAN: fix skb_copy call Alexander Smirnov
@ 2011-09-01 11:30 ` Eric Dumazet
[not found] ` <1314879675-31989-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
1 sibling, 0 replies; 10+ messages in thread
From: Eric Dumazet @ 2011-09-01 11:30 UTC (permalink / raw)
To: Alexander Smirnov
Cc: davem, dbaryshkov, slapin, linux-zigbee-devel, netdev, kernel-janitors
Le jeudi 01 septembre 2011 à 16:21 +0400, Alexander Smirnov a écrit :
> This patch fixes 2 issues in lowpan_skb_deliver function:
> 1. Check for return status of skb_copy call;
> 2. Use skb_copy with proper GFP flag depending on context.
>
Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
patch adds a new bug, see below
> Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
> ---
> net/ieee802154/6lowpan.c | 18 +++++++++++++++---
> 1 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
> index cf304cc..cac1361 100644
> --- a/net/ieee802154/6lowpan.c
> +++ b/net/ieee802154/6lowpan.c
> @@ -477,9 +477,15 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
> struct sk_buff *new;
> struct lowpan_dev_record *entry;
> int stat = NET_RX_SUCCESS;
> + gfp_t mask;
>
> - new = skb_copy_expand(skb, sizeof(struct ipv6hdr), skb_tailroom(skb),
> - GFP_KERNEL);
> + if (in_interrupt())
> + mask = GFP_ATOMIC;
> + else
> + mask = GFP_KERNEL;
> +
> + new = skb_copy_expand(skb, sizeof(struct ipv6hdr),
> + skb_tailroom(skb), mask);
> kfree_skb(skb);
>
> if (NULL == new)
> @@ -495,7 +501,13 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
> rcu_read_lock();
> list_for_each_entry_rcu(entry, &lowpan_devices, list)
> if (lowpan_dev_info(entry->ldev)->real_dev == new->dev) {
> - skb = skb_copy(new, GFP_KERNEL);
> + skb = skb_copy(new, mask);
> +
> + if (NULL == skb) {
> + kfree_skb(new);
rcu_read_unlock() missing.
just do :
stat = -ENOMEM;
break; (to exit from list_for_each_entry_rcu())
> + return -ENOMEM;
> + }
> +
> skb->dev = entry->ldev;
>
> if (in_interrupt())
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 -next] 6LoWPAN: fix skb_copy call
2011-09-01 12:54 ` [PATCH v2 " Alexander Smirnov
@ 2011-09-01 12:00 ` Eric Dumazet
2011-09-01 12:34 ` Alexander Smirnov
2011-09-01 12:10 ` Daniel Baluta
[not found] ` <1314881653-1104-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2 siblings, 1 reply; 10+ messages in thread
From: Eric Dumazet @ 2011-09-01 12:00 UTC (permalink / raw)
To: Alexander Smirnov
Cc: davem, dbaryshkov, slapin, linux-zigbee-devel, netdev, kernel-janitors
Le jeudi 01 septembre 2011 à 16:54 +0400, Alexander Smirnov a écrit :
> This patch fixes 2 issues in lowpan_skb_deliver function:
> 1. Check for return status of skb_copy call;
> 2. Use skb_copy with proper GFP flag depending on context.
>
> Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
> ---
> net/ieee802154/6lowpan.c | 18 +++++++++++++++---
> 1 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
> index cf304cc..16100be 100644
> --- a/net/ieee802154/6lowpan.c
> +++ b/net/ieee802154/6lowpan.c
> @@ -477,9 +477,15 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
> struct sk_buff *new;
> struct lowpan_dev_record *entry;
> int stat = NET_RX_SUCCESS;
> + gfp_t mask;
>
> - new = skb_copy_expand(skb, sizeof(struct ipv6hdr), skb_tailroom(skb),
> - GFP_KERNEL);
> + if (in_interrupt())
> + mask = GFP_ATOMIC;
> + else
> + mask = GFP_KERNEL;
I am not sure to understand if lowpan_skb_deliver() can be called in
pure process context. I feel we are in softirq handler or we have
disabled BH, so GFP_ATOMIC is the only choice.
If you are unsure, you could use following helper :
mask = gfp_any();
> +
> + new = skb_copy_expand(skb, sizeof(struct ipv6hdr),
> + skb_tailroom(skb), mask);
> kfree_skb(skb);
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 -next] 6LoWPAN: fix skb_copy call
2011-09-01 12:54 ` [PATCH v2 " Alexander Smirnov
2011-09-01 12:00 ` Eric Dumazet
@ 2011-09-01 12:10 ` Daniel Baluta
[not found] ` <1314881653-1104-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2 siblings, 0 replies; 10+ messages in thread
From: Daniel Baluta @ 2011-09-01 12:10 UTC (permalink / raw)
To: Alexander Smirnov
Cc: davem, dbaryshkov, slapin, linux-zigbee-devel, netdev,
eric.dumazet, kernel-janitors
> + if (NULL == skb) {
> + stat = -ENOMEM;
> + break;
> + }
This can hurt our eyes :). I think the common convention
is to use: "if (skb == NULL) " or simply "if (!skb) "
thanks,
Daniel.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/1 -next] 6LoWPAN: fix skb_copy call
@ 2011-09-01 12:21 Alexander Smirnov
2011-09-01 11:30 ` Eric Dumazet
[not found] ` <1314879675-31989-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 2 replies; 10+ messages in thread
From: Alexander Smirnov @ 2011-09-01 12:21 UTC (permalink / raw)
To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
Cc: eric.dumazet-Re5JQEeQqe8AvxtiuMwx3w,
netdev-u79uwXL29TY76Z2rM5mHXA,
kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
This patch fixes 2 issues in lowpan_skb_deliver function:
1. Check for return status of skb_copy call;
2. Use skb_copy with proper GFP flag depending on context.
Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
net/ieee802154/6lowpan.c | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index cf304cc..cac1361 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -477,9 +477,15 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
struct sk_buff *new;
struct lowpan_dev_record *entry;
int stat = NET_RX_SUCCESS;
+ gfp_t mask;
- new = skb_copy_expand(skb, sizeof(struct ipv6hdr), skb_tailroom(skb),
- GFP_KERNEL);
+ if (in_interrupt())
+ mask = GFP_ATOMIC;
+ else
+ mask = GFP_KERNEL;
+
+ new = skb_copy_expand(skb, sizeof(struct ipv6hdr),
+ skb_tailroom(skb), mask);
kfree_skb(skb);
if (NULL == new)
@@ -495,7 +501,13 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
rcu_read_lock();
list_for_each_entry_rcu(entry, &lowpan_devices, list)
if (lowpan_dev_info(entry->ldev)->real_dev == new->dev) {
- skb = skb_copy(new, GFP_KERNEL);
+ skb = skb_copy(new, mask);
+
+ if (NULL == skb) {
+ kfree_skb(new);
+ return -ENOMEM;
+ }
+
skb->dev = entry->ldev;
if (in_interrupt())
--
1.7.2.5
------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 -next] 6LoWPAN: fix skb_copy call
2011-09-01 12:00 ` Eric Dumazet
@ 2011-09-01 12:34 ` Alexander Smirnov
0 siblings, 0 replies; 10+ messages in thread
From: Alexander Smirnov @ 2011-09-01 12:34 UTC (permalink / raw)
To: Eric Dumazet
Cc: davem, dbaryshkov, slapin, linux-zigbee-devel, netdev, kernel-janitors
Hi Eric,
hmm, I think you are right.
First 6LoWPAN implementation was developed as a part of MAC layer and
code was based on this layer approach. But now 6lowpan is
MAC-independent, it's just a netif_rx hook and looks like I missed
this moment during migration.
sorry for confusion.
With best regards,
Alexander
2011/9/1 Eric Dumazet <eric.dumazet@gmail.com>:
> Le jeudi 01 septembre 2011 à 16:54 +0400, Alexander Smirnov a écrit :
>> This patch fixes 2 issues in lowpan_skb_deliver function:
>> 1. Check for return status of skb_copy call;
>> 2. Use skb_copy with proper GFP flag depending on context.
>>
>> Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
>> ---
>> net/ieee802154/6lowpan.c | 18 +++++++++++++++---
>> 1 files changed, 15 insertions(+), 3 deletions(-)
>>
>> diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
>> index cf304cc..16100be 100644
>> --- a/net/ieee802154/6lowpan.c
>> +++ b/net/ieee802154/6lowpan.c
>> @@ -477,9 +477,15 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
>> struct sk_buff *new;
>> struct lowpan_dev_record *entry;
>> int stat = NET_RX_SUCCESS;
>> + gfp_t mask;
>>
>> - new = skb_copy_expand(skb, sizeof(struct ipv6hdr), skb_tailroom(skb),
>> - GFP_KERNEL);
>> + if (in_interrupt())
>> + mask = GFP_ATOMIC;
>> + else
>> + mask = GFP_KERNEL;
>
> I am not sure to understand if lowpan_skb_deliver() can be called in
> pure process context. I feel we are in softirq handler or we have
> disabled BH, so GFP_ATOMIC is the only choice.
>
> If you are unsure, you could use following helper :
>
> mask = gfp_any();
>
>> +
>> + new = skb_copy_expand(skb, sizeof(struct ipv6hdr),
>> + skb_tailroom(skb), mask);
>> kfree_skb(skb);
>>
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 -next] 6LoWPAN: fix skb_copy call
[not found] ` <1314879675-31989-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2011-09-01 12:54 ` Alexander Smirnov
2011-09-01 12:00 ` Eric Dumazet
` (2 more replies)
2011-09-01 13:55 ` [PATCH v3 " Alexander Smirnov
1 sibling, 3 replies; 10+ messages in thread
From: Alexander Smirnov @ 2011-09-01 12:54 UTC (permalink / raw)
To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
Cc: eric.dumazet-Re5JQEeQqe8AvxtiuMwx3w,
netdev-u79uwXL29TY76Z2rM5mHXA,
kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
This patch fixes 2 issues in lowpan_skb_deliver function:
1. Check for return status of skb_copy call;
2. Use skb_copy with proper GFP flag depending on context.
Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
net/ieee802154/6lowpan.c | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index cf304cc..16100be 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -477,9 +477,15 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
struct sk_buff *new;
struct lowpan_dev_record *entry;
int stat = NET_RX_SUCCESS;
+ gfp_t mask;
- new = skb_copy_expand(skb, sizeof(struct ipv6hdr), skb_tailroom(skb),
- GFP_KERNEL);
+ if (in_interrupt())
+ mask = GFP_ATOMIC;
+ else
+ mask = GFP_KERNEL;
+
+ new = skb_copy_expand(skb, sizeof(struct ipv6hdr),
+ skb_tailroom(skb), mask);
kfree_skb(skb);
if (NULL == new)
@@ -495,7 +501,13 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
rcu_read_lock();
list_for_each_entry_rcu(entry, &lowpan_devices, list)
if (lowpan_dev_info(entry->ldev)->real_dev == new->dev) {
- skb = skb_copy(new, GFP_KERNEL);
+ skb = skb_copy(new, mask);
+
+ if (NULL == skb) {
+ stat = -ENOMEM;
+ break;
+ }
+
skb->dev = entry->ldev;
if (in_interrupt())
--
1.7.2.5
------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 -next] 6LoWPAN: fix skb_copy call
[not found] ` <1314879675-31989-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-01 12:54 ` [PATCH v2 " Alexander Smirnov
@ 2011-09-01 13:55 ` Alexander Smirnov
2011-09-01 15:31 ` Eric Dumazet
[not found] ` <1314885315-4033-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
1 sibling, 2 replies; 10+ messages in thread
From: Alexander Smirnov @ 2011-09-01 13:55 UTC (permalink / raw)
To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
Cc: eric.dumazet-Re5JQEeQqe8AvxtiuMwx3w,
netdev-u79uwXL29TY76Z2rM5mHXA,
kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
This patch fixes 2 issues in lowpan_skb_deliver function:
1. Check for return status of skb_copy call;
2. Use skb_copy with proper GFP flag, drop check for non-interrupt
context.
Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
net/ieee802154/6lowpan.c | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index cf304cc..deb2adf 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -479,10 +479,10 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
int stat = NET_RX_SUCCESS;
new = skb_copy_expand(skb, sizeof(struct ipv6hdr), skb_tailroom(skb),
- GFP_KERNEL);
+ GFP_ATOMIC);
kfree_skb(skb);
- if (NULL == new)
+ if (!new)
return -ENOMEM;
skb_push(new, sizeof(struct ipv6hdr));
@@ -495,13 +495,14 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
rcu_read_lock();
list_for_each_entry_rcu(entry, &lowpan_devices, list)
if (lowpan_dev_info(entry->ldev)->real_dev == new->dev) {
- skb = skb_copy(new, GFP_KERNEL);
- skb->dev = entry->ldev;
+ skb = skb_copy(new, GFP_ATOMIC);
+ if (!skb) {
+ stat = -ENOMEM;
+ break;
+ }
- if (in_interrupt())
- stat = netif_rx(skb);
- else
- stat = netif_rx_ni(skb);
+ skb->dev = entry->ldev;
+ stat = netif_rx(skb);
}
rcu_read_unlock();
--
1.7.2.5
------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 -next] 6LoWPAN: fix skb_copy call
2011-09-01 13:55 ` [PATCH v3 " Alexander Smirnov
@ 2011-09-01 15:31 ` Eric Dumazet
[not found] ` <1314885315-4033-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
1 sibling, 0 replies; 10+ messages in thread
From: Eric Dumazet @ 2011-09-01 15:31 UTC (permalink / raw)
To: Alexander Smirnov
Cc: davem, dbaryshkov, slapin, linux-zigbee-devel, netdev, kernel-janitors
Le jeudi 01 septembre 2011 à 17:55 +0400, Alexander Smirnov a écrit :
> This patch fixes 2 issues in lowpan_skb_deliver function:
> 1. Check for return status of skb_copy call;
> 2. Use skb_copy with proper GFP flag, drop check for non-interrupt
> context.
>
> Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
> ---
> net/ieee802154/6lowpan.c | 17 +++++++++--------
> 1 files changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
> index cf304cc..deb2adf 100644
> --- a/net/ieee802154/6lowpan.c
> +++ b/net/ieee802154/6lowpan.c
> @@ -479,10 +479,10 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
> int stat = NET_RX_SUCCESS;
>
> new = skb_copy_expand(skb, sizeof(struct ipv6hdr), skb_tailroom(skb),
> - GFP_KERNEL);
> + GFP_ATOMIC);
> kfree_skb(skb);
>
> - if (NULL == new)
> + if (!new)
> return -ENOMEM;
>
> skb_push(new, sizeof(struct ipv6hdr));
> @@ -495,13 +495,14 @@ static int lowpan_skb_deliver(struct sk_buff *skb, struct ipv6hdr *hdr)
> rcu_read_lock();
> list_for_each_entry_rcu(entry, &lowpan_devices, list)
> if (lowpan_dev_info(entry->ldev)->real_dev == new->dev) {
> - skb = skb_copy(new, GFP_KERNEL);
> - skb->dev = entry->ldev;
> + skb = skb_copy(new, GFP_ATOMIC);
> + if (!skb) {
> + stat = -ENOMEM;
> + break;
> + }
>
> - if (in_interrupt())
> - stat = netif_rx(skb);
> - else
> - stat = netif_rx_ni(skb);
> + skb->dev = entry->ldev;
> + stat = netif_rx(skb);
> }
> rcu_read_unlock();
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 -next] 6LoWPAN: fix skb_copy call
[not found] ` <1314881653-1104-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2011-09-15 19:42 ` David Miller
0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2011-09-15 19:42 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: eric.dumazet-Re5JQEeQqe8AvxtiuMwx3w,
netdev-u79uwXL29TY76Z2rM5mHXA,
kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Thu, 1 Sep 2011 16:54:13 +0400
> This patch fixes 2 issues in lowpan_skb_deliver function:
> 1. Check for return status of skb_copy call;
> 2. Use skb_copy with proper GFP flag depending on context.
>
> Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Applied.
------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops? How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 -next] 6LoWPAN: fix skb_copy call
[not found] ` <1314885315-4033-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2011-09-15 19:43 ` David Miller
0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2011-09-15 19:43 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: eric.dumazet-Re5JQEeQqe8AvxtiuMwx3w,
netdev-u79uwXL29TY76Z2rM5mHXA,
kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Thu, 1 Sep 2011 17:55:15 +0400
> This patch fixes 2 issues in lowpan_skb_deliver function:
> 1. Check for return status of skb_copy call;
> 2. Use skb_copy with proper GFP flag, drop check for non-interrupt
> context.
>
> Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Just to make it clear, I applied -v3 of this patch not -v2. :-)
------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops? How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2011-09-15 19:43 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-01 12:21 [PATCH 1/1 -next] 6LoWPAN: fix skb_copy call Alexander Smirnov
2011-09-01 11:30 ` Eric Dumazet
[not found] ` <1314879675-31989-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-01 12:54 ` [PATCH v2 " Alexander Smirnov
2011-09-01 12:00 ` Eric Dumazet
2011-09-01 12:34 ` Alexander Smirnov
2011-09-01 12:10 ` Daniel Baluta
[not found] ` <1314881653-1104-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-15 19:42 ` David Miller
2011-09-01 13:55 ` [PATCH v3 " Alexander Smirnov
2011-09-01 15:31 ` Eric Dumazet
[not found] ` <1314885315-4033-1-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-15 19:43 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).