From patchwork Fri Nov 9 23:17:33 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eldad Zack X-Patchwork-Id: 1722521 Return-Path: X-Original-To: patchwork-linux-nfs@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id CFF5B3FDD2 for ; Fri, 9 Nov 2012 23:17:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751694Ab2KIXRm (ORCPT ); Fri, 9 Nov 2012 18:17:42 -0500 Received: from mail-bk0-f46.google.com ([209.85.214.46]:45493 "EHLO mail-bk0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751037Ab2KIXRm (ORCPT ); Fri, 9 Nov 2012 18:17:42 -0500 Received: by mail-bk0-f46.google.com with SMTP id jk13so1834471bkc.19 for ; Fri, 09 Nov 2012 15:17:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=date:from:x-x-sender:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version:content-type:x-gm-message-state; bh=4cJfAVY0WYIeEx7t1gdfpZhlz34zy5lqxuIDJYaouxo=; b=AR/gr+aX1ML5676A+54/c+U19x2blUaUFeyQbrxXXwfTMkNk0uEiyXxRi62aBG3dBA WSHxiGDLZRfNQMEnZwJfVyMH9dgA0/7ErZBUc1CBEoVHFytVynCg2Bpjg8FOyTBtGVzv LnifOFCDFBW9y4UnbeQSZunXF+KdAe1J6R0qVFEOt1GIntMBiw9VboF7hWmDFQqKWmBX 5icTjIeaDANu2P0B+9xJGrtmIjzb+15aalp3AQNgBW2pKeb4Vg5dB4iJvpI4DUOX6Is1 egC8af4bJULLOJXIVV6aC5MmO/mmdmlnjxW7LssXoWnQ4F5NEvGQP7HCmE6EXCgPrwRk kyRQ== Received: by 10.204.152.28 with SMTP id e28mr1133583bkw.3.1352503060303; Fri, 09 Nov 2012 15:17:40 -0800 (PST) Received: from [192.168.2.10] (p5DDC77AB.dip.t-dialin.net. [93.220.119.171]) by mx.google.com with ESMTPS id 1sm20011844bks.3.2012.11.09.15.17.38 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 09 Nov 2012 15:17:39 -0800 (PST) Date: Sat, 10 Nov 2012 00:17:33 +0100 (CET) From: Eldad Zack X-X-Sender: eldad@xoschi To: Sven Geggus , "J. Bruce Fields" cc: linux-nfs@vger.kernel.org Subject: Re: Kernel update 3.5.7 -> 3.6.3 breaks NFS4 In-Reply-To: <20121109200730.GI6171@fieldses.org> Message-ID: References: <20121026171549.GA11806@fieldses.org> <20121029094038.GA14836@geggus.net> <20121029150203.GB9502@fieldses.org> <20121105165459.GA2958@geggus.net> <20121109200730.GI6171@fieldses.org> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 X-Gm-Message-State: ALoCoQluTZpVJ4USIkUz6/uTlfoFLthJdX/i8z0aguyxhUZhEIduuSlJy62lQVxEdW9AWKlU347j Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On Fri, 9 Nov 2012, J. Bruce Fields wrote: > On Fri, Nov 09, 2012 at 06:45:32PM +0000, Sven Geggus wrote: > > Sven Geggus wrote: > > > > > OK, I now figured out which commit did cause the problem: > > > > > > Thus "git diff 08843b79..cc8362b1" on a linux-stable tree from > > > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git should > > > give us the relevant changes. > > > > After a private conversation with J. Bruce Fields I figured out that > > I have not been quite there yet. So here comes a FTR post what > > exactly caused my problem. > > Thanks for tracking this down--not what I would have guessed! > > Given that the trace showed a problem starting around context creation > time, I'm most suspicious of the callers in rsc_parse, which are mostly > parsing uid's. Uh oh. Sorry about that. This might help pinpoint the problem - have simple_strto* WARN (or WARN_ONCE maybe?) just before masking out the overflow. I'm running with this now and so far I get no warnings. Cheers, Eldad --- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/lib/vsprintf.c b/lib/vsprintf.c index c56de78..8a748c6 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -49,6 +49,8 @@ unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int bas cp = _parse_integer_fixup_radix(cp, &base); rv = _parse_integer(cp, base, &result); /* FIXME */ + WARN((rv & KSTRTOX_OVERFLOW) == KSTRTOX_OVERFLOW, + "simple_strtox overflow while parsing '%s' (base %d)\n", cp, base); cp += (rv & ~KSTRTOX_OVERFLOW); if (endp)