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 E2906E77188 for ; Wed, 8 Jan 2025 13:33:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5104D6B008A; Wed, 8 Jan 2025 08:33:34 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4C02A6B008C; Wed, 8 Jan 2025 08:33:34 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 387B76B0093; Wed, 8 Jan 2025 08:33:34 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 1C2C46B008A for ; Wed, 8 Jan 2025 08:33:34 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 37EF61212B7 for ; Wed, 8 Jan 2025 13:32:14 +0000 (UTC) X-FDA: 82984373388.19.196ABAC Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by imf19.hostedemail.com (Postfix) with ESMTP id 53BDD1A001B for ; Wed, 8 Jan 2025 13:32:12 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="Kx/RB8zT"; spf=pass (imf19.hostedemail.com: domain of aliceryhl@google.com designates 209.85.128.48 as permitted sender) smtp.mailfrom=aliceryhl@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=1736343132; 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=50N+tpOtNIr7gExemP/OpnqsGycoSFgO0JiwJ1nB7UA=; b=qaCvT2kfkyvqAw0iIT+LxJAE3MXC2Nqxrv+kdUl7XkGRoe3kJo0FtBmwoCHBWnxO2cbAWt 3OJZYuFVvQBcih8kEZYhZpJ9QbeVscCW7Jh4wljbh4El2wuF5Hydut/w21wJAjoG7CDqo+ BLnbZeOgBTJhnifIAwnGGb3s12fdj+U= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="Kx/RB8zT"; spf=pass (imf19.hostedemail.com: domain of aliceryhl@google.com designates 209.85.128.48 as permitted sender) smtp.mailfrom=aliceryhl@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736343132; a=rsa-sha256; cv=none; b=avQ1EhnApf8m87DppkdTS9U9pibkXMWO6H0JjXkm5KaRiPBxVY5BqCingCEvw7RP5xRywC ivrwQsZPoXDjiiQ/TAD59xq0/1hVNi47XeyJ1FnjEBAJB8g7MZGUpfGrMBUbksUFP8wYMl TxoQJkgVD1LMY7XFYhBC/LKqnGHKcKk= Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4361815b96cso112230575e9.1 for ; Wed, 08 Jan 2025 05:32:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736343131; x=1736947931; 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=50N+tpOtNIr7gExemP/OpnqsGycoSFgO0JiwJ1nB7UA=; b=Kx/RB8zTh7v2zAsCD2KlJ6HfmWClz4bdpAw9zcf10X0U1WP+9ZEzng3akzY9/4qbRC oOewgGCPkVZF7wBNi+BSCtyei3GXRU+fDIklrWFLnFyQTsbnitOo3b+a3fj8+lu73NMS FsHX/xkfRMaYpGQrWh6y9/iZQcUiopUxRiQ0fvgAJbnL98MY62Ol9lGlOWfuRI3C63tR 7k+zgowCLdTibW7hdNizb+kqU2Fo8OhSKPUahpbCmtPkAfryTeipfP/OpYHq7Iz+0mqo pkMZQdI+SROE9Lanvvlm0Lmc3GDovIvTptdmkxBcRyc1p0f5ZIcyb5RTWrBSqfgn3SES K5/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736343131; x=1736947931; 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=50N+tpOtNIr7gExemP/OpnqsGycoSFgO0JiwJ1nB7UA=; b=Snb61eJb6+fKUI8b8DwzpbN1S1ai9eUfh76kf0R6F8araF88QT4OGoh78UaGox3+W+ D3ez//IQZEmVD+/lhqzfDoEdQqVtj8TLuf4Ana1gtYEz3mFxI9ZZ5sgwgh18VdYP0OVX eh4bAUonfnGcPEENnADGfL9c/Bjaj6Asyc9FEO+rGUY8XJTBTR75gecgB8RZbh4eF4Np bFoDk9/Hji5WYwQwtuzVBnhlCsifBFbvzzmnXM0S6V/gF/Z0BBqdjkK3MEvD4uH9S8Jk TBshSsPpnVeBRp4R0zdGasYyFshwLsTFFpWwQU2M9ULiZ7rebde+2KLWihf4tt5RQrP1 GMgA== X-Forwarded-Encrypted: i=1; AJvYcCX2LoLuwl/iXJPrysBZHrx6DH7fxvrPsUR76oYTb6T58kChT+V0NJYy804WzmgnqJevtvF2lxFMfA==@kvack.org X-Gm-Message-State: AOJu0YyJOA5Z5uPcEEB34ipfYB9KwdT1hg6NT9O+fHEODgKFNWEn6S4f 22XHOasKJt168zH0oEAiiVPFjyqCgnLijyG/kwXn/trnrCWDWTexMVUrpp99FZMZCoMe6L1TkoP Z4t0Z+B5cfNMG7RilAKAMRCXXj4aM/ABbNiQX X-Gm-Gg: ASbGnctN9gMwYC1yO3s6py/0buvJfGUBWe2vFR2yK96fs62XhNaujG3TljBTwJT+h3V zdLiCipcIUKmpQWisFcBcBOYEY/627bFhDDIgkfOZMReRtfiRoIHV9t+WPXaT6JBHNxla X-Google-Smtp-Source: AGHT+IGZuzouGuQBLP++EyNNsVO/B046D3VqPvQlz1PEsW7IJUvO28etFfF6ucvXKOW3bKb0YXRzcRexLR18Qof1EE0= X-Received: by 2002:a05:6000:1ace:b0:385:f00a:a45c with SMTP id ffacd0b85a97d-38a87320a44mr2342681f8f.57.1736343130945; Wed, 08 Jan 2025 05:32:10 -0800 (PST) MIME-Version: 1.0 References: <20250107184804.4074147-1-isaacmanjarres@google.com> <20250107184804.4074147-2-isaacmanjarres@google.com> In-Reply-To: <20250107184804.4074147-2-isaacmanjarres@google.com> From: Alice Ryhl Date: Wed, 8 Jan 2025 14:31:58 +0100 X-Gm-Features: AbW1kvZPfVw5kB9x-vw7dYhs6cdTA3jZVTc2YN71orEYBo6Ruv6PSsrgs-fiMXU Message-ID: Subject: Re: [PATCH v2 1/2] mm/memfd: Refactor and cleanup the logic in memfd_create() To: "Isaac J. Manjarres" Cc: lorenzo.stoakes@oracle.com, Andrew Morton , kaleshsingh@google.com, jstultz@google.com, surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 53BDD1A001B X-Rspamd-Server: rspam12 X-Stat-Signature: 5na8tmmqqag93xi5cg6khrcfcrugmerc X-Rspam-User: X-HE-Tag: 1736343132-288054 X-HE-Meta: U2FsdGVkX19h3tuzxDJlK7BZrYO4/R60tsavCkr8n5PTKxeAk9qOTyCq0lKgnHvXXcozsXmrgnUpvILQnAfdRFJkUZrS+KQEEZxwZKy2YPj+uulIfo+NHtwgEtoMsRf4s45QZymgdQIt7K9z6EiSVMv6sEikVi2kyjuMNPOTI24H+AzGlfNgFxV/Zt3JfhaH0SRVbu5zec28mHlQx95uIUtgxKCjKjtJfVuiq73XmtqP0wCntdbeuu9mQgEyNVfKQ5dpqEAcmplycCnvyzbkM61AakeXR0CHPrJiPPbUymPGUCjQ2zrN7jugDWqMjJ5lG9DNcX7eXzPJiY8CynIhJqJmI7ScasBQkLgsWJy6jZdcFSSmpGVQEReVeVBejumtm+4eW31O0C8+wT6YkQ3RFs4r9uT9Sy1eODH/QuPDFPDJxmo4VZJlOxb4kQ1fFnsJjZjm5ZNbFwrjsbsw8Q2Exrha5iq5xKV9wbD+ETDNJ3FEJ3PsucKJ0HuDcNBxKkn5jZnuzZrCZavFyINC/2LeboK1XSf229VVh1Zpoq5s75KsC3gRTJ2wq0vsh+9l9F7LqRU6SDO/hTGNIHXlfi2kawBoctpsOP17Y3izna9rmo7IZBuyLa0S/SCJutLMvT3z94xYQra8GHfvIdgdabHJVuWDiMhSfc/S6gHvEd2pcPYktWz0RHztpELOJMY9Uwe7o9cVg6hit4Sb/BvPMSif+dwQqwbp19FDs57P4KAUuQgM0Z1tjit9p62WQY2lwn4rSroXZUF9BIETCslT+qd4ElwE7RbM9yOUYERLSWuShgMa0PROkTRhkgYyj7KIqTQKEZ3TTNNoTBbwZkRYz23S2qxFQSd60M1aFWu8jjz/1Y9ZweVkLBsYadStPBaS5VQEv8bqu1u6oMF3FKPTHIoQEvDqHwj4hqvIx6u3VfYGCTmphVs/145991onnYJ4vLmOvcHJdaQIVI2gkqHRPCs k27xRWJh FgnfOWqkwELnmqD1y6wfwNb1iapD4sHpcE3mF4PjLef1iI0GjDIZopRB6rJw1ub11VjY40NSYxcY7d5jvAdljD5aidJPz55nOR8FsAT/1DLmWrlnqPbRTyP2CJ5BSGnZo/MEFrG432qZ2uGByVdZNneXWhMOtUEO4tiRp3Ijt0iPsq75XFFMKtJsqgvLbhaq+kpA1M7+abe7kk6Vlrnxh5fC95mstWWVbZCvlnyfFXXeDc8Ty1bUV7fkjnQ1wRslCzUuiIeM8vZe4Ylg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.093774, 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 Tue, Jan 7, 2025 at 7:48=E2=80=AFPM Isaac J. Manjarres wrote: > +SYSCALL_DEFINE2(memfd_create, > + const char __user *, uname, > + unsigned int, flags) > +{ > + struct file *file; > + int fd; > + char *name; > + > + name =3D memfd_create_name(uname); > + if (IS_ERR(name)) > + return PTR_ERR(name); > + > + file =3D memfd_file_create(name, flags); > + /* name is not needed beyond this point. */ > kfree(name); > - return error; > + if (IS_ERR(file)) > + return PTR_ERR(file); > + > + fd =3D get_unused_fd_flags((flags & MFD_CLOEXEC) ? O_CLOEXEC : 0)= ; > + if (fd >=3D 0) > + fd_install(fd, file); > + else > + fput(file); You changed the order so that get_unused_fd_flags() happens after creating the file, so the error path now does fput(file) instead of put_unused_fd(fd). Is there a reason for this? I would generally assume that calling get_unused_fd_flags() first is better. Otherwise this LGTM. Alice