From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id DE3FFC2BB85 for ; Fri, 21 Jun 2024 17:27:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 564998D018A; Fri, 21 Jun 2024 13:27:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 514518D017A; Fri, 21 Jun 2024 13:27:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B4AA8D018A; Fri, 21 Jun 2024 13:27:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 1D2D38D017A for ; Fri, 21 Jun 2024 13:27:16 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 847F7160DA8 for ; Fri, 21 Jun 2024 17:27:15 +0000 (UTC) X-FDA: 82255576830.18.1D3D6E4 Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) by imf05.hostedemail.com (Postfix) with ESMTP id AF4C010000C for ; Fri, 21 Jun 2024 17:27:13 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=FMO47vP8; spf=pass (imf05.hostedemail.com: domain of zokeefe@google.com designates 209.85.208.42 as permitted sender) smtp.mailfrom=zokeefe@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718990823; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=dZEECrhQjBIpDFBsE7AD3QeFYzB3SERdZGpooJJm1Aw=; b=AuuFhoNQPTaR0hwDiVU4/mC17f9/o+te/gGJuL4gkQC85fZVe60PXjE3qrELtJAdQqxjJE NW/jiaaD8JZ6o6UeU/4Wgwm123gvRP81Gr2nby71qQX88tXUviphpAJx7naAIX0LSIVIOA rCTNoD4glb4fagBB6ppD/KBAD5h60IM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718990823; a=rsa-sha256; cv=none; b=xt73HK3E8FwgkNmiaZxEN8Yu0bvZZkBBchS7ys84NawlbkdNN+IX44TKm2rewlCht+paPZ dQ52rRG6fjE0JiXr94tktMm1EEn/CPKM1s2PjpDg0v1FDQCZbl4BWwAsxxBe2/m8KJqF// e5dwvIGDApjRdbSYoGEeXsPyuMzyx28= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=FMO47vP8; spf=pass (imf05.hostedemail.com: domain of zokeefe@google.com designates 209.85.208.42 as permitted sender) smtp.mailfrom=zokeefe@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-57a16f4b8bfso22711a12.0 for ; Fri, 21 Jun 2024 10:27:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1718990832; x=1719595632; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=dZEECrhQjBIpDFBsE7AD3QeFYzB3SERdZGpooJJm1Aw=; b=FMO47vP8wD3IgsC+KIrNYzZILnwhSF7o5oywthBO1XY2Yd/keJVhHnpYHBMn3NNdbe BsrsP+bOgfAu3R686ovV+gI7sp13ZxRVleBmcHJSCRZHAhhqkEByNk0XOjWbpKk86g9s gYwoknIu1BUehN2Id+9ZE0IE0KkLARBQkvmMwuCn0pWotAOJRzyURfCYe5eSWuhdbqW9 UoZRSlsAN427kxYLr+r/7uNSGkph8U7Xgahqs/4vJmRCediSyZjuxpT0uIe2IERhq9Sa 9bwNIBkvQsKElFoPxB+SUFP75eKc5Ax/R84IfNdjLfiGQ2eCx3RNRjDOkA0/t/Xfz+rV hbwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718990832; x=1719595632; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dZEECrhQjBIpDFBsE7AD3QeFYzB3SERdZGpooJJm1Aw=; b=kOVGenuVAf2eIqQOm4kdfyFgKXVCdHbndYkLjJx2rGyfb6AbPdxDKUV3vttGg2NAL1 /3B4nQmKx8Ft0T8NMyHYW+un+FKFlMqVNeD/5NN7lm013BgDXwaZ7RLtvyq3tlvKxZOV P+VM4f2rPR5pn/K83X5klyRoTyN/HlqOsEHooCY4iXIjb+5fRORId4sAG+Ewa8To6ahK zmUmaRbZliFOYZnGxkn2S3gMzUdga8rRIJn6GsPfwY5o+92VaFgGRx8+zuBTvZUDaNjl mb/1rSifja/pRuFCvkfyNcqMxLlzLfhx93XaYBX1xdP25jt2ycuF8v3ILYHy9FLv/1+h RqbQ== X-Forwarded-Encrypted: i=1; AJvYcCXFK6NlV/AZM2v2mTwdQB2GbQBq8zQcrq6FShBCn426ytbq452Y5GTW9AKj1/P/UV+64XeAtK6ztGY04vM/s/TaQ2M= X-Gm-Message-State: AOJu0YyMkSWvUd5WToY5giSZgz3ATXYnySQShlg+UnBXwk+eapG4cO/H e/82zYj4sotlI1Mmb6MhtL/SGT16je7HzJbHgsGCHtIGhlKUtZ63JgPsJfv/UYzNC1mgqOUP7I3 7o6Ui+h3B28iFojEovt7OuB6y+YqvOBodXJ/Q X-Google-Smtp-Source: AGHT+IF6tEiRT/9KGWlVNCP+9uwkKC3MsFDZH8IrIH6duITWkOQqgznDYKPEamEZ2wZ//k6/c8eXxVE1ENPTGHesQ7Q= X-Received: by 2002:a05:6402:35c1:b0:57c:fb0f:1355 with SMTP id 4fb4d7f45d1cf-57d3f1db8b5mr34243a12.0.1718990831973; Fri, 21 Jun 2024 10:27:11 -0700 (PDT) MIME-Version: 1.0 References: <20240621144017.30993-1-jack@suse.cz> <20240621144246.11148-1-jack@suse.cz> In-Reply-To: <20240621144246.11148-1-jack@suse.cz> From: "Zach O'Keefe" Date: Fri, 21 Jun 2024 10:26:34 -0700 Message-ID: Subject: Re: [PATCH 1/2] Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again" To: Jan Kara Cc: Andrew Morton , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: AF4C010000C X-Stat-Signature: k9disgzaxekm5um6pm5sfqgiwfco9xcd X-HE-Tag: 1718990833-124722 X-HE-Meta: U2FsdGVkX18TOGTZLlrEb3RdAbc/UCFqdxKYQfz37+HSkiSL3mxcvsdri/TXs6jbrXxuj65v1eE7aiiVw+TsjlPYkoU+baULlWVPSTiex12NCi1sy+5nMvdXVBgUmBwzfMtigXr73TAsen/rREI4x9X/GN8LTkpSyGq2sUWzv9ssRRJKpF32iMWNrII1EwpfK59CKQEVqJFv6Fp2lNk8GpVestYgtlHdi8iRx6oh1MPabZODbIzF9DDwWlMxJGgI3k/xmlkJOZoSt68ESPQd48sn5Icva/u9Uwg+fXMawVXn4UFH5qJXy8+gQOMmGzXxk66jlA62O35nyB9REbEd7ghnDFgfjTRk1deelScULFmiM3jDNV4J5tbB229pzCbuWITy+R8w4Lcrx1BLFuupP14FKADDQjyx25WYOOJdMRckwuxujeCX7TXn/cHnBnDYTUku8dr+3qDI0C/dVewfFC6dbw4eDB6imVyEtMCyBFphuujtQ7CcUadw8YBW6eCVwc/sNduPZ5VCDmyE9kLhJy+c/Q62o15Ldr+vH4bFXmbBFgSjYYQNlJPCSX/U2vCzxK7sJgudeRvsa/tjRQDm6yodE5sHBNiW7ws5qZAoa5Ba3TFpPo4pc4biCZjYc0WyvPGoVmo5lglSglVN/jdAS1sv7reXXtM4SeDTpT1KflWL1569t4oP6UZnWWoUAI2l5bMAcQpTsIysJlr9WvH1XiKpgKKzNdEyePwdJP+xOCiugdXronNqAfACPBIbjptJRapetbheNFl7k5AnywW8KWWmS+X2I2cfSUQJErnp5KmKpBtO8DCbl4nFkzgT6aXR6yTMVLXxV/fXnoe1VXGRPcAYJ4wlUkTAXXBs0fIlc9z1KXv05TV1YahWty/+gcX356X3wBaFuffLOeB4F70N/sjqcZyszhuCE7hT8uOnZnvnNFRN9B3jyPSM5ZlpH0FRM0L+vl5w7yHRiXeMbpi NpfZJOod FLJ3nv3lcuRs1BqbKYTayFyNhH1wYzUBMGIeTelhkungUPc7cLFsggonmKFjsS/FbC++2y2EIKqkZhHEqv+jTNqOWFhxmrfz0eHSes3mo1HH6yTztEGdWEUd62eFm2a6q8wYVo5YqTTeXVm3U2OlG13vgy0XJwcDZHVfwn8l2DoF+R1s8WS9hMy1gcNh9HMNMQoBqZ+2jeBxAq2nUWFepUVkYF7dKf5rrZeKdaM4wCqfw0VDJBEnSkns8wl2ODp2ks0Cqhr8rgsORaKjt89hHOzwoZgaIb/HHcESvSECboPffrA0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Fri, Jun 21, 2024 at 7:42=E2=80=AFAM Jan Kara wrote: > > This reverts commit 9319b647902cbd5cc884ac08a8a6d54ce111fc78. > > The commit is broken in several ways. Firstly, the removed (u64) cast > from the multiplication will introduce a multiplication overflow on > 32-bit archs if wb_thresh * bg_thresh >=3D 1<<32 (which is actually commo= n > - the default settings with 4GB of RAM will trigger this). Secondly, the > div64_u64() is unnecessarily expensive on 32-bit archs. We have > div64_ul() in case we want to be safe & cheap. Thirdly, if dirty > thresholds are larger than 1<<32 pages, then dirty balancing is > going to blow up in many other spectacular ways anyway so trying to fix > one possible overflow is just moot. > > CC: stable@vger.kernel.org > Fixes: 9319b647902c ("mm/writeback: fix possible divide-by-zero in wb_dir= ty_limits(), again") > Signed-off-by: Jan Kara > --- > mm/page-writeback.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/page-writeback.c b/mm/page-writeback.c > index 12c9297ed4a7..2573e2d504af 100644 > --- a/mm/page-writeback.c > +++ b/mm/page-writeback.c > @@ -1660,7 +1660,7 @@ static inline void wb_dirty_limits(struct dirty_thr= ottle_control *dtc) > */ > dtc->wb_thresh =3D __wb_calc_thresh(dtc, dtc->thresh); > dtc->wb_bg_thresh =3D dtc->thresh ? > - div64_u64(dtc->wb_thresh * dtc->bg_thresh, dtc->thresh) := 0; > + div_u64((u64)dtc->wb_thresh * dtc->bg_thresh, dtc->thresh= ) : 0; > > /* > * In order to avoid the stacked BDI deadlock we need > -- > 2.35.3 > > Thanks Jan, Reviewed-By: Zach O'Keefe