Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp5742134imm; Tue, 16 Oct 2018 15:35:51 -0700 (PDT) X-Google-Smtp-Source: ACcGV620NSlBBSXLvepueeL0q91sXvuQ+qLzFpQ8fGVpjVRegH65fR2Enna5R6AVO6ubWK+WH7bK X-Received: by 2002:a62:67c3:: with SMTP id t64-v6mr16620616pfj.76.1539729351666; Tue, 16 Oct 2018 15:35:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539729351; cv=none; d=google.com; s=arc-20160816; b=Mb7Ojbh7pswnUq/MwgI2q6BAT3pPIvMor8LcxzhaD9Dxud6Lils74DDZLQiGZ4KO+d lJJOuXlGpOScaQagTUy/2/l6s/RN2Ops6lwUf+I5sEY1vMC2qNZPHIU8qF70BFEs1j1Z XUe5a7GUifgqY9SLEekAmAeJ9YXkCss9CF1kqzMRoMrPENPLLmV3nBTCis/8NCglxFSn R2ydBoaxFNKSqBwLpXwiZ0hKubpDpXB525zmWltbsyNF5+Sl4MjUc62KQ7E1aD6pDWb8 ExcnhD5dEfgaNIxvd5kjZRq/kQCReQ546lEJWXUtwF9993OL8pLTGaZ9hyycDzpRZmfB PODQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=Xb7MzV6QAPwTQlaokrO7T3mhcHL3d1TiUpQ5tI/08kM=; b=dze2ZvUlHfFn/tfE0ekQEFUXIB8nQ2zB429Dxc/ioD5zRmwueWwlQ2vRKmxfaH2llL HlEV+smfSjGyY0Np7XOTS63VnSvjHxlMFUbDDDo26Do2W4Rb03zsmLUtA9TAIAUHCDRY QPp/elOdVCqoG1JRssZcYOopaStf2cx00X26CY4Hbso+vumbs4bhf6TUy3UrFuBO4tFR YObMev+QKSJ5hXXM6fzYH3Ec9Rtxr+dCmWZVJ/DpB21nUSM9K76x50sIZIxbM4fN5bhf tKTj1QfKZu2M28+SKwsWZNuuE5BEXe7Bqz3TuosOimbOxA/8xMr59QsI5z9362P03/+m FT8g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@brauner.io header.s=google header.b=Eoa4zcp3; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v124-v6si15605124pfv.1.2018.10.16.15.35.35; Tue, 16 Oct 2018 15:35:51 -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=@brauner.io header.s=google header.b=Eoa4zcp3; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727238AbeJQG0Z (ORCPT + 99 others); Wed, 17 Oct 2018 02:26:25 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:34384 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726663AbeJQG0Z (ORCPT ); Wed, 17 Oct 2018 02:26:25 -0400 Received: by mail-wm1-f68.google.com with SMTP id z25-v6so192915wmf.1 for ; Tue, 16 Oct 2018 15:33:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brauner.io; s=google; h=from:to:cc:subject:date:message-id; bh=Xb7MzV6QAPwTQlaokrO7T3mhcHL3d1TiUpQ5tI/08kM=; b=Eoa4zcp3OLTr3a/VVd93RkhoKp8X1y0DyLrmxDENs/cqLdX6vZ+Et8nELvP1VPQmMW FHYQtIr+79+im0YVx2gmgN5W8uq7v/rjUd/8anVVHLmj7EHSkXu2Z8wCybJZAqTYxj0g yOGRFKvW0kyTa59rCvbzbuFe7qV0iaWs51t0wFfN1vhnOZA08VZhr27GWNNs/jlo11FA /zxalmY3305AaU9g0kr5V4RNQi5MWAA+uVoNEPLRUL50l+duUQxOeP3B7Wyh3ASJMtsi DCMaUKWw/PAqdnN+2gOgN3VdVrJxJCpN7krMIb46v/zhBLJV+i0SpQ7vPEnGaqoDkF6O AuAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Xb7MzV6QAPwTQlaokrO7T3mhcHL3d1TiUpQ5tI/08kM=; b=nlcHDdivZsYbRqrDKURn5G5lHXdMQiHHEbDf/sIUqZdECtnmyb7sxcRe6dbvjfdrvb 9swS5zLwQFAtGx4jcD4/jUoSr43vmdDATqZCsdMDQAaGSqqePlNyxbIk4XytTuGg2vGA h0Da+Ykuq+9eMPXy6WXfIMXEApo29HCIUUjK/mFN3cyteACwsl0DTf+Cic6J+VBVCKVh gltzHrlRhl/1wbSxP5docCBO+Mf2oOw135qyLYtcp887lB3BG29SRUaulDTk8MJbry2D 00zfQSXQxcohRC6/Zu4ANXQgF9mYTKDJ75GGz54sbzdVvms1PJE+qgDXSn/rQi5X+A2v dlWw== X-Gm-Message-State: ABuFfoh2HKVvTMb1uiqLfs2uikOOhoMr4sQVsHoDQoNbLFCNb4Dzvt5T FuhHgvv6py6PIYbzKZu+7WAZBg== X-Received: by 2002:a1c:868e:: with SMTP id i136-v6mr116709wmd.50.1539729231777; Tue, 16 Oct 2018 15:33:51 -0700 (PDT) Received: from localhost.localdomain ([2a02:8070:8895:9700:8197:8849:535a:4f00]) by smtp.gmail.com with ESMTPSA id x8-v6sm35084836wrd.54.2018.10.16.15.33.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Oct 2018 15:33:50 -0700 (PDT) From: Christian Brauner To: keescook@chromium.org, linux-kernel@vger.kernel.org Cc: ebiederm@xmission.com, mcgrof@kernel.org, akpm@linux-foundation.org, joe.lawrence@redhat.com, longman@redhat.com, linux@dominikbrodowski.net, viro@zeniv.linux.org.uk, adobriyan@gmail.com, linux-api@vger.kernel.org, Christian Brauner Subject: [PATCH v3 0/2] sysctl: handle overflow for file-max Date: Wed, 17 Oct 2018 00:33:20 +0200 Message-Id: <20181016223322.16844-1-christian@brauner.io> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hey, Here is v3 of this patchset. Changelogs are in the individual commits. 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