Hi

In testing its not safe to trust the payload length we are given in a
received llc test command header.  Instead we should calculate this 
ourselves or run the risk of an skb_over_panic() if the received length in 
the header is > then the actual payload size.

Signed-off-by: Jim Westfall <[EMAIL PROTECTED]>

diff -urp linux-2.6.24.2.org/include/net/llc_pdu.h 
linux-2.6.24.2/include/net/llc_pdu.h
--- linux-2.6.24.2.org/include/net/llc_pdu.h    2008-02-10 21:51:11.000000000 
-0800
+++ linux-2.6.24.2/include/net/llc_pdu.h        2008-02-24 10:23:02.000000000 
-0800
@@ -348,7 +348,7 @@ static inline void llc_pdu_init_as_test_
                struct llc_pdu_un *ev_pdu = llc_pdu_un_hdr(ev_skb);
                int dsize;
 
-               dsize = ntohs(eth_hdr(ev_skb)->h_proto) - 3;
+               dsize = (ev_skb->tail - (u8 *)ev_pdu) - 3;
                memcpy(((u8 *)pdu) + 3, ((u8 *)ev_pdu) + 3, dsize);
                skb_put(skb, dsize);
        }

----- End forwarded message -----
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to