Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b83336bb9fa4f110b5b0a4378a82cd5f0fd0ac8
Commit:     1b83336bb9fa4f110b5b0a4378a82cd5f0fd0ac8
Parent:     df2e014bfbbf26d160e1bf47b05fc05c96205e2b
Author:     Patrick McHardy <[EMAIL PROTECTED]>
AuthorDate: Thu Oct 18 05:09:28 2007 -0700
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Thu Oct 18 05:09:28 2007 -0700

    [NET]: Fix OOPS due to missing check in dev_parse_header().
    
    [ This is kernel bugzilla 9174 "linux-2.6.23-git11 kernel panic" ]
    
    The device in question is an IPv6-over-IPv4 tunnel, which doesn't have
    any header_ops, so the crash happens in dev_parse_header when
    dereferencing them.
    
    Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 include/linux/netdevice.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 39dd83b..452c88d 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -827,7 +827,7 @@ static inline int dev_parse_header(const struct sk_buff 
*skb,
 {
        const struct net_device *dev = skb->dev;
 
-       if (!dev->header_ops->parse)
+       if (!dev->header_ops || !dev->header_ops->parse)
                return 0;
        return dev->header_ops->parse(skb, haddr);
 }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to