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 5A320EB64D7 for ; Wed, 28 Jun 2023 10:52:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C002D8D0003; Wed, 28 Jun 2023 06:52:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BAF718D0001; Wed, 28 Jun 2023 06:52:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A50E28D0003; Wed, 28 Jun 2023 06:52:19 -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 912E38D0001 for ; Wed, 28 Jun 2023 06:52:19 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4DD1D40C62 for ; Wed, 28 Jun 2023 10:52:19 +0000 (UTC) X-FDA: 80951842398.16.F67A13B Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf07.hostedemail.com (Postfix) with ESMTP id 6915B40003 for ; Wed, 28 Jun 2023 10:52:16 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=korg header.b=Vc62TVnK; spf=pass (imf07.hostedemail.com: domain of gregkh@linuxfoundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687949536; 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=LJNGxl9HE/op/UvV9uxTchIpSoF3Zhq6YcpqPw6wBuE=; b=72Js/QA3tJoQ6rE2hFzS8N+TmPmRVTqniz9TQnVjyYL9YNOG8ZKqyGbwevYEoyH/8vjyJs miSCBGyILy31suBNLSOoDo66ZSYmPCGJSG+4ooogxubVVaPQdOhasaxxk8sMiU9yvPwUgx rzFePfi7muNKf48bQnQQ8D4Udgp7gpE= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=korg header.b=Vc62TVnK; spf=pass (imf07.hostedemail.com: domain of gregkh@linuxfoundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687949536; a=rsa-sha256; cv=none; b=mJlT0+/8s+hfTMAw1rLOLZsEKjZNfx8w7wKHtQg3JPpVl4mQDY65agZp+tmBbLeqVByCJo qj2r8BWUoPAgS49MHKeK2BA3V/l/ptQl0XZrelGSrLnNIzOt+tIqPZ3TjKmmVONZxzK/HD /uI3XSxfjBrHXxf7n1PG/ClSCIA6YU8= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id F3C5B6119F; Wed, 28 Jun 2023 10:52:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 11BCAC433C9; Wed, 28 Jun 2023 10:52:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1687949534; bh=XOk+D0ptRLMiKQhTIq0ppgcPPwQq7tyALdYYcUu+pjQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Vc62TVnKNu+AsmUZlVev8f1ajPfxYoCSc+Ez6rX7BtIKFXY7tLhtKc/RXtVjyBfqW KW7HcEhl2YN7vsr6oRjWMuj48tZOkUAWGL2ZREe5I9KdDr2sU64RuKiKozLxCQMGrT V+4sFzIN5SOoBEKa9CFwUfZ5dOPD5SEbr6nzcrl8= Date: Wed, 28 Jun 2023 12:52:04 +0200 From: Greg KH To: David Woodhouse Cc: "Liam R. Howlett" , Linus Torvalds , Vegard Nossum , Andrew Morton , "linux-mm@kvack.org" , linux-kernel Subject: Re: [PATCH] mm/mmap: Fix error return in do_vmi_align_munmap() Message-ID: <2023062852-cyclic-presuming-6490@gregkh> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Queue-Id: 6915B40003 X-Rspam-User: X-Stat-Signature: 8d7w8cwjzgn7ng5ouyiqfuo58kttzd5w X-Rspamd-Server: rspam01 X-HE-Tag: 1687949536-761580 X-HE-Meta: U2FsdGVkX1/Y7L80axJ6+E3wP7qcEEkJGPMXTUdAyDCIXDCCt1yLWisT5MpmOP1WsXDeSbmORn9YZLp38l8yqjrfRVRSZi5s2ZOavBu7MzS+hLbUKKLd0Yb/8+z3Ti/AVePiDhiqg9FVWzf38Cvp3OYoCosTsKmmvYhsushVh/9mksY06sX/6istzIudfOwdrsvKXwz/GRGCG6i2Gh37+9jfuk3oSnB2Unevd1Ea/cEuBeiOWxxue42Z0SQMRvgIAf7MW9SHyEsS6dsF0w9Cnq8JwILa8dFWT0CGsnYUIiufNEMvEo3Qy38iLNPHa3dgmwJjLkGC2JdWZuIdDgm8QUDMfbrFzxNi/u0lhAfXtbMmKv70Y4Uwjw4FLgWlywiuvGhX7wH+yINbIwKNpapuI2ZcKRep94u3YHV4BSyE05M63mbGyfo8IPWz6hWegt2g2/frZ2dH5X7TENjKaBNKd4iw2KBtidyqvh/9uNaaliyCTsyG12CWlsveybxpKMfWGKKW+0Cx8R9Cj8W/Na73EV/N8HiDVGpCBJbcEA/djwRjwlCVxGMyEcAdffo67Q3ME4/nYEcZPBey4IlWU7onJj7YoyFNAJqXYlqOfYjm9IYPNZoxpjjQ2CC0fUsnpA950KVHczgX80toU/Sroxysmg4+UrZx2II4ukobmaWsrVgBBomh26syP7af8DukawN4UOqRYhSs6ddA7YHj57N/Rx6Kax2PiEIoVvaeOd11F2qiYVuNcaZdNqLVyIeaYnOaREgWvX2/L6Fjq2JHe+t5GqV3s+ZspINQ/k7TESUlJa8/sdJqHSNl1w8/pzJIDTYuJNTnY1saxUYt86H3Q+XmEF0ZmiVOrxf9jO5wT69yJgwCvYSFVr1s4bQb8Qnjfcl0CiES1j5qKH3VZAZmbfyh8hH9W0MAZ2Td58tuq11xV1AeBJphZvEccd7SwLG3cZh0W1L4YOvo96xxM6tnZsS 6uxJR1jT +rR5HNx5INk3KNTjBCT6svkOxrE+xQwFu/De+PsQXT0+hY9I+96fqL0pCOVJIWXWOA/gQd/djB7+fbH1xk25lQ3jKRVasI8HMPF9AJrYTZoo2XsLI7IFsHd2l+JkfzzG46brMCKmbxV5HVkeLtdl7O9dkdP08GRRwr40+n8mcAwON0uoamdeHh+uB7Z6MZvX6EXqxTqD/ciCzlrUqsih0xli5m/IbqGCodyaaSPKAZoYjF3YyT+rhw54Q1OFgITIBBDcVOYZPwwUj7CuQUkR61OodpnrQJt81Dfbet5bvyrji39LdcA7fOUiYoTS1svvlPMMgCmB7t4hwiuogocNIkMvEneocUNuLj02dUq6UZWSE5je5vDF1vJYnCn8njm/3jCqPwrWEvnSRTAS3FrYdf7pdSB0SfxGAyGYoZ7V2h924SO+nckctcmyLiGou1S4eh4L0HUc3mtQOUHKuZ5KcDOSldh50pblqcIZb 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: On Wed, Jun 28, 2023 at 11:42:45AM +0100, David Woodhouse wrote: > From: David Woodhouse > > If mas_store_gfp() in the gather loop failed, the 'error' variable that > ultimately gets returned was not being set. In many cases, its original > value of -ENOMEM was still in place, and that was fine. But if VMAs had > been split at the start or end of the range, then 'error' could be zero. > > Change to the 'error = foo(); if (error) goto …' idiom to fix the bug. > > Also clean up a later case which avoided the same bug by *explicitly* > setting error = -ENOMEM right before calling the function that might > return -ENOMEM. > > In a final cosmetic change, move the 'Point of no return' comment to > *after* the goto. That's been in the wrong place since the preallocation > was removed, and this new error path was added. > > Fixes: 606c812eb1d5 ("mm/mmap: Fix error path in do_vmi_align_munmap()") > Signed-off-by: David Woodhouse > --- > mm/mmap.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) Reviewed-by: Greg Kroah-Hartman