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]
Message-ID: <20080428093130.GA1011@flint.arm.linux.org.uk>
Date:	Mon, 28 Apr 2008 10:31:30 +0100
From:	Russell King <rmk@....linux.org.uk>
To:	Pavel Emelyanov <xemul@...nvz.org>
Cc:	netdev@...r.kernel.org
Subject: Re: 2.6.25: Weird IPv4 stack behaviour, IPv6 is fine

On Mon, Apr 28, 2008 at 11:02:29AM +0400, Pavel Emelyanov wrote:
> > Lastly, in /proc/net/snmp on lists, I find:
> > 
> > Ip: Forwarding DefaultTTL InReceives InHdrErrors InAddrErrors ForwDatagrams InUnknownProtos InDiscards InDelivers OutRequests OutDiscards OutNoRoutes ReasmTimeout ReasmReqds ReasmOKs ReasmFails FragOKs FragFails FragCreates
> > Ip: 2 64 12771 0 0 0 0 0 5159 6262 9 0 2 8172 1363 2 922 0 5520
> 
> Can you please also show the /proc/net/netstat contents - I'm interested
> in IpExt statistics.

IpExt: InNoRoutes InTruncatedPkts InMcastPkts OutMcastPkts InBcastPkts OutBcastPkts
IpExt: 0 0 0 0 0 0

I suspect that you were expecting these to be non-zero.

I've just added some debug printks into ip_input.c, and I don't think the
IP stack itself is at fault (if it were, you'd be flooded with reports.)

int ip_local_deliver(struct sk_buff *skb)
{
...
if (ip_hdr(skb)->saddr == htonl(0xc0a80043) &&
    ip_hdr(skb)->protocol == IPPROTO_ICMP) printk("ping 2\n");
        return NF_HOOK(PF_INET, NF_INET_LOCAL_IN, skb, skb->dev, NULL,
                       ip_local_deliver_finish);
}

static int ip_local_deliver_finish(struct sk_buff *skb)
{
        __skb_pull(skb, ip_hdrlen(skb));

        /* Point into the IP datagram, just past the header. */
        skb_reset_transport_header(skb);

if (ip_hdr(skb)->saddr == htonl(0xc0a80043) &&
    ip_hdr(skb)->protocol == IPPROTO_ICMP) printk("ping 3\n");

When the machine stops responding to pings, I see in the kernel message
log 'ping 2' but no 'ping 3' (whereas I get both when it does respond.)

I don't have the iptables binary installed, so there aren't any rules.
(Also, the iptables_filter module isn't loaded.)

I'll see if I can track the packet's progress through the netfilter code
today.

-- 
Russell King
--
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