Re: [PATCH] DCCP: Initialize ireq6->pktopts before used it | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
Gerrit Renker wrote:
I think I should add dccp_v6_reqsk_init() do to the init work since dccp_reqsk_init may be fail too.I think this is not necessary, it can be done like this req = inet6_reqsk_alloc(&dccp6_request_sock_ops); if (req == NULL) goto drop; ireq6 = inet6_rsk(req); ireq6->pktopts = NULL; if (dccp_reqsk_init(req, dccp_sk(sk), skb)) goto drop_and_free; This is since dccp_reqsk_init() only initialises the inet_sk and dccp_sk parts, and does not do IPv6-specific initialisation. Irrespective of the oops, this is an error and will be fixed in the testtree today.With regard to the oops, the log pointed to the dccp_v6_reqsk_destructorand so it would make sense, since the pktopts was not initialised to NULL and since kfree_skb() calls skb->destructor().As before, thanks a lot for testing this code and for reporting this.
Hi Gerrit: IPv4 may have the same problem althought it is hard to test it. [PATCH] DCCP: Initialize inet_rsk(req)->opt before used itdccp_reqsk_init() does not initialises the inet_rsk(req)->opt which will be used in dccp_v4_reqsk_destructor().
This patch fixed this problem. --- a/net/dccp/minisocks.c 2008-05-29 22:27:56.000000000 -0400 +++ b/net/dccp/minisocks.c 2008-06-05 06:36:59.000000000 -0400@@ -266,6 +266,7 @@ int dccp_reqsk_init(struct request_sock
inet_rsk(req)->rmt_port = dccp_hdr(skb)->dccph_sport; inet_rsk(req)->acked = 0; + inet_rsk(req)->opt = NULL; dreq->dreq_timestamp_echo = 0; /* inherit feature negotiation options from listening socket */ --- a/net/dccp/ipv4.c 2008-05-29 22:27:56.000000000 -0400 +++ b/net/dccp/ipv4.c 2008-06-05 06:41:48.000000000 -0400 @@ -607,7 +607,6 @@ int dccp_v4_conn_request(struct sock *sk ireq = inet_rsk(req); ireq->loc_addr = ip_hdr(skb)->daddr; ireq->rmt_addr = ip_hdr(skb)->saddr; - ireq->opt = NULL; /* * Step 3: Process LISTEN state -- To unsubscribe from this list: send the line "unsubscribe dccp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
[Kernel List] [Site Home] [IETF DCCP] [Linux Networking] [Git] [Security] [Linux Assembly] [Bugtraq] [Rubini] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Linux SCSI] [DDR & Rambus] [Linux Resources]
![]() |