From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Savchenko Subject: Re: [BUG] Kernel recieves DNS reply, but doesn't deliver it to a waiting application Date: Sun, 23 Dec 2012 15:06:27 +0400 Message-ID: <20121223150627.d7ebcf6a.bircoph@gmail.com> References: <20121003232548.eb6b6b22.bircoph@gmail.com> <20121013163639.87abca00.bircoph@gmail.com> <1350135860.21172.14606.camel@edumazet-glaptop> <20121014031119.a60263d6.bircoph@gmail.com> <20121021032543.09d1844f.bircoph@gmail.com> <1350823941.13333.2167.camel@edumazet-glaptop> <20121022073636.98462bc6.bircoph@gmail.com> <1350888489.8609.322.camel@edumazet-glaptop> <20121023012759.ca7f91d6.bircoph@gmail.com> <20121212122716.1e71f644.bircoph@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Sun__23_Dec_2012_15_06_27_+0400_5NVOs9FG2A4M+xGU" Cc: netdev@vger.kernel.org To: Eric Dumazet Return-path: Received: from mail-la0-f53.google.com ([209.85.215.53]:64016 "EHLO mail-la0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751382Ab2LWLN7 (ORCPT ); Sun, 23 Dec 2012 06:13:59 -0500 Received: by mail-la0-f53.google.com with SMTP id w12so7440089lag.12 for ; Sun, 23 Dec 2012 03:13:57 -0800 (PST) In-Reply-To: <20121212122716.1e71f644.bircoph@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: --Signature=_Sun__23_Dec_2012_15_06_27_+0400_5NVOs9FG2A4M+xGU Content-Type: multipart/mixed; boundary="Multipart=_Sun__23_Dec_2012_15_06_27_+0400_0fYhBpbQU994IO3G" --Multipart=_Sun__23_Dec_2012_15_06_27_+0400_0fYhBpbQU994IO3G Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello, the bug has struck again on 3.7.0, see details below. On Wed, 12 Dec 2012 12:27:16 +0400 Andrew Savchenko wrote: > [...] > > > Some driver or protocol stack is messing with skb->truesize, as > > > your /proc/net/udp file contains anomalies : > > >=20 > > > $ cat /proc/net/udp > > > sl local_address rem_address st tx_queue rx_queue tr tm->when re= trnsmt uid timeout inode ref pointer drops > > > ... > > > 323: 074A070A:007B 00000000:0000 07 FFFDF700:00000000 00:00000000 0= 0000000 123 0 254469 2 ffff88003d581880 0 > > > ... > > > 323: 00FCA8C0:007B 00000000:0000 07 FFFFF900:00000000 00:00000000 0= 0000000 0 0 5187 2 ffff880039993880 0 > > >=20 > > > Its clearly not possible to get tx_queue =3D 0xFFFDF700 or 0xFFFFF900 > > >=20 > > > So what drivers handle following IP addresses : 192.168.252.0 , 10.7.= 74.7 ? > >=20 > > 192.168.252.0 is handled by eth0 interface running on Realtek > > Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (10ec:8139) NIC. > > Kernel driver 8139too. This interface handles multiple subnetworks: > >=20 > > # ip addr show eth0 > > 2: eth0: mtu 1500 qdisc pfifo_fast st= ate UNKNOWN qlen 1000=20 > > link/ether 00:80:48:30:ca:f3 brd ff:ff:ff:ff:ff:ff > > inet 10.51.15.126/25 brd 10.51.15.127 scope global eth0 > > inet 192.168.252.0/31 scope global eth0 > >=20 > > 10.7.74.7 is an l2tp connection handled by ppp over l2tp: > > CONFIG_PPPOL2TP=3Dy > > It is running on top of eth0 described above. > >=20 > > # ip addr show ppp0 > > 65: ppp0: mtu 1400 qdisc pfif= o_fast state UNKNOWN qlen 3 > > link/ppp=20 > > inet 10.7.74.7 peer 10.7.2.18/32 scope global ppp0 >=20 > I updated kernel on this system to 3.7.0 and udp anomaly is still > present: >=20 > $ cat /proc/net/udp > sl local_address rem_address st tx_queue rx_queue tr tm->when retrns= mt uid timeout inode ref pointer drops =20 > 0: 00000000:06A5 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5326 2 ffff88003dbf0a80 0 =20 > 8: 00000000:7EAD 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5157 2 ffff8800398c2000 0 =20 > 89: 00000000:90FE 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5101 2 ffff88003dbd3500 0 =20 > 160: 0100007F:2745 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4598 2 ffff88003d612700 0 =20 > 184: 0100007F:035D 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4774 2 ffff88003d612a80 0 =20 > 217: 00000000:857E 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5195 2 ffff8800398c2700 0 =20 > 318: 00000000:A9E3 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4782 2 ffff88003d612e00 0 =20 > 335: 7E0F330A:01F4 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5303 2 ffff8800398c2e00 0 =20 > 348: 00000000:0801 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5186 2 ffff8800398c2380 0 =20 > 387: 7E0F330A:DE28 1400320A:06A5 01 00000000:00000000 00:00000000 00000= 000 0 0 5332 4 ffff88003dbf0e00 0 =20 > 400: 010013AC:0035 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4842 2 ffff88003d613880 0 =20 > 400: 0100007F:0035 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4841 2 ffff88003d613500 0 =20 > 414: 00000000:0043 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5273 2 ffff8800398c2a80 0 =20 > 458: 00000000:006F 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4483 2 ffff88003d612000 0 =20 > 459: 00000000:0270 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4507 2 ffff88003d612380 0 =20 > 466: 00000000:0277 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4802 2 ffff88003d613180 0 =20 > 470: 076A070A:007B 00000000:0000 07 FFFF4600:00000000 00:00000000 00000= 000 123 0 5552 2 ffff880039974380 0 =20 > 470: 010213AC:007B 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4986 2 ffff88003dbd3180 0 =20 > 470: 010013AC:007B 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4985 2 ffff88003dbd2e00 0 =20 > 470: 00FCA8C0:007B 00000000:0000 07 FFFFFB00:00000000 00:00000000 00000= 000 0 0 4984 2 ffff88003dbd2a80 0 =20 > 470: 7E0F330A:007B 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4983 2 ffff88003dbd2700 0 =20 > 470: 0100007F:007B 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4982 2 ffff88003dbd2380 0 =20 > 470: 00000000:007B 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 4975 2 ffff88003d613c00 0 =20 > 484: FF0013AC:0089 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5316 2 ffff88003dbf0000 0 =20 > 484: 010013AC:0089 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5315 2 ffff88003dbd3880 0 =20 > 484: FF0213AC:0089 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5312 2 ffff8800398c3c00 0 =20 > 484: 010213AC:0089 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5311 2 ffff8800398c3880 0 =20 > 484: 00000000:0089 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5308 2 ffff8800398c3180 0 =20 > 485: FF0013AC:008A 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5318 2 ffff88003dbf0700 0 =20 > 485: 010013AC:008A 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5317 2 ffff88003dbf0380 0 =20 > 485: FF0213AC:008A 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5314 2 ffff88003dbd3c00 0 =20 > 485: 010213AC:008A 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5313 2 ffff88003dbd2000 0 =20 > 485: 00000000:008A 00000000:0000 07 00000000:00000000 00:00000000 00000= 000 0 0 5309 2 ffff8800398c3500 0 >=20 > The bug hasn't shown up yet, I'll need to wait for about a week to see > if it is reproducible. I hit this bug again on uptime 11 days on 3.7.0 vanilla kernel. See kernel config, /prot/net/upd, netstat -s and dropwatch logs attached to this mail. This bug happens on UDP DNS requests only, TCP requests work fine, see dig.log attached. Increasing of net.ipv4.udp_mem from 24150 32201 48300 to 100000 150000 200000 helps, but I'm afraid only temporary again. Dropwatch data was collected in the following way: - dropwatch.bug.* files contain data obtained after bug occurred; - dropwatch.*.background files contain background data when no host or dig test was running; this system has active firewall and complicated routing, ipv6 disabled via sysctl, etc, so some drops are normal; - dropwatch.*.host.request shows dropped packets recorded during host ya.ru request; of course, during this time some background packets were recorded as well (dropwatch doesn't support filtering at this moment); - dropwatch.nobug.* data was collected after the bug was workarounded via net.ipv4.upd_mem as described above. As can be seen from dropwatch logs, drop in __udp_queue_rcv_skb+61 happens only on host request on bug conditions, thus something is wrong there. Best regards, Andrew Savchenko --Multipart=_Sun__23_Dec_2012_15_06_27_+0400_0fYhBpbQU994IO3G Content-Type: application/octet-stream; name="kernel-udp-bug.tar.xz" Content-Disposition: attachment; filename="kernel-udp-bug.tar.xz" Content-Transfer-Encoding: base64 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 --Multipart=_Sun__23_Dec_2012_15_06_27_+0400_0fYhBpbQU994IO3G-- --Signature=_Sun__23_Dec_2012_15_06_27_+0400_5NVOs9FG2A4M+xGU Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iEYEARECAAYFAlDW5cUACgkQ2anJBBcsZw1RtwCfVYjZ2uisqLxeE7FcuuruPeqM 9WwAn1tHIv8bhtqVh+T1IDTk23H/G1+L =6Eoa -----END PGP SIGNATURE----- --Signature=_Sun__23_Dec_2012_15_06_27_+0400_5NVOs9FG2A4M+xGU--