[Devel] [PATCH RH7] fence-watchdog: fix return format in dev_hard_start_xmit
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Fri Sep 16 08:51:59 PDT 2016
Status goes in ret, before fix status remained -ENOMEM
and was returned from dev_queue_xmit, that is not desired
behaviour - we want to drop packet silently and say
NETDEV_TX_OK(that it was sent).
Return NULL, before the fix we were very lucky that in
dev_queue_xmit, we do not get to kfree_skb_list(-ENOMEM),
as dev_xmit_complete(-ENOMEM) is true =)
In both sch_direct_xmit and dev_queue_xmit we will
never use returned value of dev_hard_start_xmit in
case of fencing so it is safe to return NULL here.
Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
---
net/core/dev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index be92f4f..0137947 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2559,7 +2559,8 @@ struct sk_buff *dev_hard_start_xmit(struct sk_buff *first, struct net_device *de
#ifdef CONFIG_FENCE_WATCHDOG
if (unlikely(fence_wdog_check_timer())) {
kfree_skb(skb);
- return NETDEV_TX_OK;
+ *ret = rc;
+ return NULL;
}
#endif
--
2.5.5
More information about the Devel
mailing list