Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ab6eb62b02e0949a392fb19bf31ba59ae1022b1 Commit: 1ab6eb62b02e0949a392fb19bf31ba59ae1022b1 Parent: 243bbcaa09e8482aa28065cbc2eb99f0ca2fc8d6 Author: Herbert Xu <[EMAIL PROTECTED]> AuthorDate: Tue Mar 6 20:29:58 2007 -0800 Committer: David S. Miller <[EMAIL PROTECTED]> CommitDate: Wed Apr 25 22:23:50 2007 -0700
[UDP6]: Restore sk_filter optimisation This reverts the changeset [IPV6]: UDPv6 checksum. We always need to check UDPv6 checksum because it is mandatory. The sk_filter optimisation has nothing to do whether we verify the checksum. It simply postpones it to the point when the user calls recv or poll. Signed-off-by: Herbert Xu <[EMAIL PROTECTED]> Signed-off-by: David S. Miller <[EMAIL PROTECTED]> --- net/ipv6/udp.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index f590db5..3413fc2 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -279,8 +279,10 @@ int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb) } } - if (udp_lib_checksum_complete(skb)) - goto drop; + if (sk->sk_filter) { + if (udp_lib_checksum_complete(skb)) + goto drop; + } if ((rc = sock_queue_rcv_skb(sk,skb)) < 0) { /* Note that an ENOMEM error is charged twice */ - 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