Messages in this thread Patch in this message | | | Date | Mon, 19 Nov 2007 10:18:48 -0800 | From | Greg Kroah-Hartman <> | Subject | [patch 08/26] Fix TEQL oops. |
| |
2.6.22-stable review patch. If anyone has any objections, please let us know.
------------------ From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
[PKT_SCHED]: Fix OOPS when removing devices from a teql queuing discipline
[ Upstream commit: 4f9f8311a08c0d95c70261264a2b47f2ae99683a ]
tecl_reset() is called from deactivate and qdisc is set to noop already, but subsequent teql_xmit does not know about it and dereference private data as teql qdisc and thus oopses. not catch it first :)
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- net/sched/sch_teql.c | 3 +++ 1 file changed, 3 insertions(+)
--- a/net/sched/sch_teql.c +++ b/net/sched/sch_teql.c @@ -263,6 +263,9 @@ __teql_resolve(struct sk_buff *skb, stru static __inline__ int teql_resolve(struct sk_buff *skb, struct sk_buff *skb_res, struct net_device *dev) { + if (dev->qdisc == &noop_qdisc) + return -ENODEV; + if (dev->hard_header == NULL || skb->dst == NULL || skb->dst->neighbour == NULL) -- - 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/
| |