lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 26 Oct 2007 08:38:55 -0700
From:	"Nelson, Shannon" <shannon.nelson@...el.com>
To:	"David Miller" <davem@...emloft.net>, <bunk@...nel.org>
Cc:	<shemminger@...ux-foundation.org>, <netdev@...r.kernel.org>,
	"Leech, Christopher" <christopher.leech@...el.com>,
	"Williams, Dan J" <dan.j.williams@...el.com>
Subject: RE: [2.6 patch] unexport softnet_data

>-----Original Message-----
>From: David Miller [mailto:davem@...emloft.net] 
>
>From: Adrian Bunk <bunk@...nel.org>
>Date: Wed, 24 Oct 2007 18:24:25 +0200
>
>> The EXPORT_PER_CPU_SYMBOL(softnet_data) is no longer used.
>> 
>> Signed-off-by: Adrian Bunk <bunk@...nel.org>
>
>I wanted to apply this, but in validing the patch I noticed
>what appears to be an omission in TCP ipv6.
>
>It seems that NET_DMA support there is only half-cooked and
>the following patch is needed (and thus there is a modular
>use of softnet_data again).
>
>Looking at Christopher Leech's original TCP I/O AT commit:
>
>1a2449a87bb7606113b1aa1a9d3c3e78ef189a1c
>
>this appears to just be an oversight.
>
>If one of the current I/O AT folks can look this over and
>confirm I'd appreciate it.
>
>Thanks!
>
>[TCP]: Add missing I/O AT code to ipv6 side.
>
>Signed-off-by: David S. Miller <davem@...emloft.net>
>
>diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
>index 32dc329..06fa4ba 100644
>--- a/net/ipv6/tcp_ipv6.c
>+++ b/net/ipv6/tcp_ipv6.c
>@@ -1732,6 +1732,8 @@ process:
> 	if (!sock_owned_by_user(sk)) {
> #ifdef CONFIG_NET_DMA
> 		struct tcp_sock *tp = tcp_sk(sk);
>+		if (!tp->ucopy.dma_chan && tp->ucopy.pinned_list)
>+			tp->ucopy.dma_chan = get_softnet_dma();
> 		if (tp->ucopy.dma_chan)
> 			ret = tcp_v6_do_rcv(sk, skb);
> 		else
>

There is no creation of a pinned_list yet in this path, so I don't think
this would do us much good.  Anyway, I believe the next bit is simply
checking to see if we can process it right away (if we have a dma
channel or a reader task is waiting) otherwise stick it into backlog.
Once we go to process it, if it is an IP packet we'll drop into the ipv4
processing code and end up in tcp_recv() which can create the
pinned_list and process from there.

I'm sure someone will correct me if I'm wrong, but I believe this bit it
not needed.  I suggest a NAK for this patch.

sln
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ