Skip to content

Commit

Permalink
[IPV4]: Fix crash in ip_rcv while booting related to netconsole
Browse files Browse the repository at this point in the history
Makes IPv4 ip_rcv registration happen last in af_inet.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Herbert Xu authored and David S. Miller committed Jul 5, 2005
1 parent a31488c commit 30e224d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 15 deletions.
11 changes: 11 additions & 0 deletions net/ipv4/af_inet.c
Original file line number Diff line number Diff line change
Expand Up @@ -1009,6 +1009,15 @@ static int __init init_ipv4_mibs(void)
static int ipv4_proc_init(void);
extern void ipfrag_init(void);

/*
* IP protocol layer initialiser
*/

static struct packet_type ip_packet_type = {
.type = __constant_htons(ETH_P_IP),
.func = ip_rcv,
};

static int __init inet_init(void)
{
struct sk_buff *dummy_skb;
Expand Down Expand Up @@ -1102,6 +1111,8 @@ static int __init inet_init(void)

ipfrag_init();

dev_add_pack(&ip_packet_type);

rc = 0;
out:
return rc;
Expand Down
15 changes: 0 additions & 15 deletions net/ipv4/ip_output.c
Original file line number Diff line number Diff line change
Expand Up @@ -1328,23 +1328,8 @@ void ip_send_reply(struct sock *sk, struct sk_buff *skb, struct ip_reply_arg *ar
ip_rt_put(rt);
}

/*
* IP protocol layer initialiser
*/

static struct packet_type ip_packet_type = {
.type = __constant_htons(ETH_P_IP),
.func = ip_rcv,
};

/*
* IP registers the packet type and then calls the subprotocol initialisers
*/

void __init ip_init(void)
{
dev_add_pack(&ip_packet_type);

ip_rt_init();
inet_initpeers();

Expand Down

0 comments on commit 30e224d

Please sign in to comment.