Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp5743267imm; Tue, 16 Oct 2018 15:37:20 -0700 (PDT) X-Google-Smtp-Source: ACcGV60v327AVXEXT2Mc31KRDsknRlUpIiSzvxC5PRRrmyuorflU1lrthhn85lb/i78XuE3mLSrE X-Received: by 2002:a63:8543:: with SMTP id u64-v6mr21724247pgd.373.1539729440913; Tue, 16 Oct 2018 15:37:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539729440; cv=none; d=google.com; s=arc-20160816; b=keLDsxCy//BeyzeICad49nnFXivWdf3NAcyZeXxSr3jnh7a7CgO27T3ODZNV9FgSq5 a/xSqpf27n9WsMe/W/1dTX2gbxUDC8cCor7HxI+vh0tz/lGlf4nZLr5cu28xivRIb2CY 6FxnuXjSpU9OMeTmKHtvj0d0LlCa5v1q4zBpAQknaFwFT4Fd+3s0qWChKxIv6N1hybrd jUQWVIZIgmn1kJjI4uf5//YLAOVMNhev4bc8A4UAkNK9JfiRjksJ/7n/ddizleFuo/gG lkzwbLl1BodQOv2isQCPnWYjp5/bxrOXqA/Pf0rvczZGQGuwwQB4/s5TF1H2qZkj0o8m XITA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature; bh=U86G+ibE9JzozH+yr+YgfkA7ZqiHsJU7JPhTuy6hUpY=; b=qRpmFU5R6e+6Xxrf4cNPljhkMsPWfHPWYWbQTUU28wOP5R9FRKJIWOu+oNpWHfTbyW rJ9wZMnfCxL+pGk1SA2qmZzkfNjQe1do0Pw0k3MMmjBntFistk2Go/FpocJnGKUW7NZY KpDxhJC4kJj07pxhccR1+GncWzzNzFLlvZC7iQeroextalKf9X1YC9oVnO0i8SODV0TA jYXNznuBZOGTluVgpwOSmvMiT1Iy9iYOtbH1b+SsXSxQHS5ebqB5hBrsiRnDKKXHt+Vv 1dLkjtIb55IH8VxI5WLcv34uj4D5tQH9s4BYDarqlYrZj0RKw/PsBoA00b5BPiZ25XLq 4chw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Y0mi1RGk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l22-v6si15704392pfj.188.2018.10.16.15.37.04; Tue, 16 Oct 2018 15:37:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Y0mi1RGk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727211AbeJQG3J (ORCPT + 99 others); Wed, 17 Oct 2018 02:29:09 -0400 Received: from mail-yb1-f193.google.com ([209.85.219.193]:45971 "EHLO mail-yb1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726663AbeJQG3I (ORCPT ); Wed, 17 Oct 2018 02:29:08 -0400 Received: by mail-yb1-f193.google.com with SMTP id d9-v6so9568174ybr.12 for ; Tue, 16 Oct 2018 15:36:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=U86G+ibE9JzozH+yr+YgfkA7ZqiHsJU7JPhTuy6hUpY=; b=Y0mi1RGk7oJ7zc80a9Zcz4EIi/bHU50eNWwU52zq5WeN1DXf5fmbQ+EmaCLiI7Qrr0 9mvjmji1KgeBs8aDe7A/oNbWbPk96fKd3pmUkTm0uNSnuj+UQBDblJdyGuv8I9YfaH3l czNLa0UzeGcsGvXSmzV1z3dhSxEqxwX+S/KPY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=U86G+ibE9JzozH+yr+YgfkA7ZqiHsJU7JPhTuy6hUpY=; b=CD8MTE0uI5XgsKvl6K2+7RfLCo0zOdi9842Qk2flOSibprfidTWnUkM5AJfzkeW2nD z+5tDT3DoKWv95iHrdUcgsWQIEIaMO0FfgS4OifXvxtVr84wrHBHej1D/ofHmNwu82HL kluk6/+ZSvuSfTFviQLPljInYl/c5VPyo/OZqHaBhEmUX48Ycs+ETMIm3sx9CWXw9knk EGvRKcpb/rIs2sYvILDJArdc0jonbAsOUVMGs5mLuhqCc/ppwotx45EUNbvrOuN5K4Ko Yq8rpgUKaraMz13mGesyEJ3rMYt7/8tm0fRd73nOvBXbi6WyjEQsgVQliZqwC2MpAInX +GHA== X-Gm-Message-State: ABuFfogVJYFJ3t1WUcXJcLfxvtF2+17ydTSJdAh6RPme6XJ4JIioQCbq CQoYx3OIM5FTb3CM17BnjGHvwJs9svM= X-Received: by 2002:a25:f805:: with SMTP id u5-v6mr12403633ybd.193.1539729394009; Tue, 16 Oct 2018 15:36:34 -0700 (PDT) Received: from mail-yb1-f182.google.com (mail-yb1-f182.google.com. [209.85.219.182]) by smtp.gmail.com with ESMTPSA id 203-v6sm4080616ywb.58.2018.10.16.15.36.32 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Oct 2018 15:36:32 -0700 (PDT) Received: by mail-yb1-f182.google.com with SMTP id d9-v6so9568127ybr.12 for ; Tue, 16 Oct 2018 15:36:32 -0700 (PDT) X-Received: by 2002:a25:3588:: with SMTP id c130-v6mr12914175yba.410.1539729391978; Tue, 16 Oct 2018 15:36:31 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a25:d116:0:0:0:0:0 with HTTP; Tue, 16 Oct 2018 15:36:31 -0700 (PDT) In-Reply-To: <20181016223322.16844-1-christian@brauner.io> References: <20181016223322.16844-1-christian@brauner.io> From: Kees Cook Date: Tue, 16 Oct 2018 15:36:31 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 0/2] sysctl: handle overflow for file-max To: Christian Brauner , Andrew Morton Cc: LKML , "Eric W. Biederman" , "Luis R. Rodriguez" , Joe Lawrence , Waiman Long , Dominik Brodowski , Al Viro , Alexey Dobriyan , Linux API Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Oct 16, 2018 at 3:33 PM, Christian Brauner wrote: > Hey, > > Here is v3 of this patchset. Changelogs are in the individual commits. Thanks! These look good. Andrew, can you take these? -Kees > > Currently, when writing > > echo 18446744073709551616 > /proc/sys/fs/file-max > > /proc/sys/fs/file-max will overflow and be set to 0. That quickly > crashes the system. > > The first version of this patch intended to detect the overflow and cap > at ULONG_MAX. However, we should not do this and rather return EINVAL on > overflow. The reasons are: > - this aligns with other sysctl handlers that simply reject overflows > (cf. [1], [2], and a bunch of others) > - we already do a partial fail on overflow right now > Namely, when the TMPBUFLEN is exceeded. So we already reject values > such as 184467440737095516160 (21 chars) but accept values such as > 18446744073709551616 (20 chars) but both are overflows. So we should > just always reject 64bit overflows and not special-case this based on > the number of chars. > > (This patchset is in reference to https://lkml.org/lkml/2018/10/11/585.) > > Thanks! > Christian > > [1]: fb910c42cceb ("sysctl: check for UINT_MAX before unsigned int min/max") > [2]: 196851bed522 ("s390/topology: correct topology mode proc handler") > > Christian Brauner (2): > sysctl: handle overflow in proc_get_long > sysctl: handle overflow for file-max > > kernel/sysctl.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 46 insertions(+), 1 deletion(-) > > -- > 2.17.1 > -- Kees Cook Pixel Security