From owner-freebsd-current@FreeBSD.ORG Sat Jul 20 23:04:42 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BFFA5FD7 for ; Sat, 20 Jul 2013 23:04:42 +0000 (UTC) (envelope-from milu@dat.pl) Received: from jab.dat.pl (dat.pl [80.51.155.34]) by mx1.freebsd.org (Postfix) with ESMTP id 80F0A92B for ; Sat, 20 Jul 2013 23:04:42 +0000 (UTC) Received: from jab.dat.pl (jsrv.dat.pl [127.0.0.1]) by jab.dat.pl (Postfix) with ESMTP id 0235A8B for ; Sun, 21 Jul 2013 01:04:35 +0200 (CEST) X-Virus-Scanned: amavisd-new at dat.pl Received: from jab.dat.pl ([127.0.0.1]) by jab.dat.pl (jab.dat.pl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id BbwRiAMrV_nS for ; Sun, 21 Jul 2013 01:04:31 +0200 (CEST) Received: from [192.168.0.5] (178-36-46-51.adsl.inetia.pl [178.36.46.51]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by jab.dat.pl (Postfix) with ESMTPSA id 423257E for ; Sun, 21 Jul 2013 01:04:31 +0200 (CEST) Message-ID: <51EB178E.7030708@dat.pl> Date: Sun, 21 Jul 2013 01:04:46 +0200 From: Maciej Milewski User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: freebsd-current@freebsd.org Subject: Re: IPSEC crashes after r253088 References: <20130721054323.915f865769e6042c7dc62d08@tackymt.homeip.net> In-Reply-To: <20130721054323.915f865769e6042c7dc62d08@tackymt.homeip.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Jul 2013 23:04:42 -0000 On 20.07.2013 22:43, Taku YAMAMOTO wrote: > After r253088, systems with IPSEC and KSTACK_PAGES < 4 crashes on > booting into multi-user mode. > > The crash is due to sysctl -a in /etc/rc.d/initrandom ended up with > kernel stack overflow. > > > The problem is what we have in sys/net/vnet.h: > > #define SYSCTL_VNET_PCPUSTAT(parent, nbr, name, type, array, desc) \ > static int \ > array##_sysctl(SYSCTL_HANDLER_ARGS) \ > { \ > type s; \ > CTASSERT((sizeof(type) / sizeof(uint64_t)) == \ > (sizeof(VNET(array)) / sizeof(counter_u64_t))); \ > COUNTER_ARRAY_COPY(VNET(array), &s, sizeof(type) / sizeof(uint64_t));\ > if (req->newptr) \ > COUNTER_ARRAY_ZERO(VNET(array), \ > sizeof(type) / sizeof(uint64_t)); \ > return (SYSCTL_OUT(req, &s, sizeof(type))); \ > } \ > SYSCTL_VNET_PROC(parent, nbr, name, CTLTYPE_OPAQUE | CTLFLAG_RW, NULL, \ > 0, array ## _sysctl, "I", desc) > > where type is struct ipsecstat which is 12560 bytes of size (larger than > 3 pages) of size when processing net.inet.ipsec.ipsecstats. > I can confirm. I've been hit by that problem on MIPS platform. -- Pozdrawiam, Maciej Milewski