From patchwork Fri Jun 28 00:26:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Sandeen X-Patchwork-Id: 13715206 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 DE4D6C2BD09 for ; Fri, 28 Jun 2024 00:26:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7592B6B0085; Thu, 27 Jun 2024 20:26:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6E0506B0098; Thu, 27 Jun 2024 20:26:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 532D86B0099; Thu, 27 Jun 2024 20:26:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 2F3F46B0098 for ; Thu, 27 Jun 2024 20:26:31 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C836A121186 for ; Fri, 28 Jun 2024 00:26:30 +0000 (UTC) X-FDA: 82278406140.22.213AAD1 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf07.hostedemail.com (Postfix) with ESMTP id A3FD440002 for ; Fri, 28 Jun 2024 00:26:28 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MqkCs1vE; spf=pass (imf07.hostedemail.com: domain of sandeen@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=sandeen@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719534370; 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=F920R5yaBE3PsuRdteKVNVN6MSLZBpfM90SMj8g8nmA=; b=3Wr/0zsZTcJdUmd5mrMKdgkjfVhNz+UnO5GVWZccBllar+tYDsJ9Zg1YfC+GNYVF0Rea6V 41+pWTr2LeslY74GbAq26KzZkJ0GlrY162r5AfR3zCiKaRGJLQrD2AZlO4J02EuOmBbZV4 hG3vYlI017+xkQUJlg5B7Mtf/CwA0s8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719534370; a=rsa-sha256; cv=none; b=Z8DGYmuXqxUpIfyxIvH/lYKghAC1TJoI1TxzUDe73swoyhQrMl54X6MCaOENhBhd3iAAEZ EQrZoz9BVNgMN7midDwQI/LH+5Ttryj+ah6HWAPpmvG0f43RFJVXX0xAn/NOG/hb8esCyi SAS/43bg7PVvcG9FqWZNjzRwSxonEss= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MqkCs1vE; spf=pass (imf07.hostedemail.com: domain of sandeen@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=sandeen@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719534388; h=from:from: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; bh=F920R5yaBE3PsuRdteKVNVN6MSLZBpfM90SMj8g8nmA=; b=MqkCs1vELpBXue/wzqbDkxiCkET4JDzLp+A0PCGAJ/eWIUog8Uv9BByus4U8hcydGZewNn J0U+dE/SeBwB8YUnQs2UAOgOPHDTDc3/imI6cm92A0jYtpmCJb/l+nRiXDPeq84G65oA/c Tcush1T+oKaqiX7WYCwwttQgqlqBzRY= Received: from mail-io1-f69.google.com (mail-io1-f69.google.com [209.85.166.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-527-MCg_1mq2PCW9kRDFYFDhtw-1; Thu, 27 Jun 2024 20:26:26 -0400 X-MC-Unique: MCg_1mq2PCW9kRDFYFDhtw-1 Received: by mail-io1-f69.google.com with SMTP id ca18e2360f4ac-7e1fe2ba2e1so2902539f.3 for ; Thu, 27 Jun 2024 17:26:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719534386; x=1720139186; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=F920R5yaBE3PsuRdteKVNVN6MSLZBpfM90SMj8g8nmA=; b=hFc/m3aHDZvPWBaqL/5Yra8dXjIJqOAwpfMrIOzYCDV/RJMFYnfwUYvCX8+f/FzBP0 CCKkzL4fnFdMsBvuZh+YwOUa5vXXNeyD/p6bObnFt99D8k7QbD8HBTn3A/k0wlkNNoJy zn+5Sf4TQDQVOvSZkukqdYH50uxA0ee+oe8+9HbOcoZO5i5E5ktXY3YBVOwpQPa1mMy7 g+13sr1frOnkx8kGPMPCNS1XRQJFTt9fpy1nLLqKaKs9JUsef+qiKnTxEL7JkG5kaCoj aE+KuXVYeZScdd4zIdKE6O+A9Z5guH00DhAbSlK+7NemJRebiUozOJs5wyLPyzypOiHY QFKg== X-Forwarded-Encrypted: i=1; AJvYcCXnIdBzcq3uPtdRm/A2OCa9Z63dal+74huCiDg3Hr3yD/atFz+v9+FMkKUQtjRR8BmAUJwmMakbhUx+EZw4YwqzoHI= X-Gm-Message-State: AOJu0YzXLFw/FISH/paCKMuNnubitKCgm0hkVha8K/+7WCp7QciESOXP LcHsvOHyztRJHJ+rII/3wbDIv3dnLL9NfqMTjqb54dxfjUZQyWYOWil8Be8v6AscOaz9nzVRfTW u3rU/k0nID/ZXRjAV/VVg3N9Pi3uVVDIyECIvtfRAxeA9ruHc X-Received: by 2002:a6b:730e:0:b0:7f3:d863:3cf8 with SMTP id ca18e2360f4ac-7f3d8634018mr415331139f.4.1719534385815; Thu, 27 Jun 2024 17:26:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGLQ+evTqW23iP2xMhQPr9hw69BKkkeaSh3vRZVLP5nIJpjBkoHrAggDlvkHwnRujUOQkyNmA== X-Received: by 2002:a6b:730e:0:b0:7f3:d863:3cf8 with SMTP id ca18e2360f4ac-7f3d8634018mr415329439f.4.1719534385516; Thu, 27 Jun 2024 17:26:25 -0700 (PDT) Received: from [10.0.0.71] (sandeen.net. [63.231.237.45]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4bb73dd541dsm219330173.55.2024.06.27.17.26.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 27 Jun 2024 17:26:25 -0700 (PDT) Message-ID: Date: Thu, 27 Jun 2024 19:26:24 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 01/14] fs_parse: add uid & gid option option parsing helpers From: Eric Sandeen To: linux-fsdevel@vger.kernel.org, Christian Brauner Cc: autofs@vger.kernel.org, "Rafael J. Wysocki" , linux-efi@vger.kernel.org, Namjae Jeon , linux-ext4@vger.kernel.org, Miklos Szeredi , linux-mm@kvack.org, Jan Kara , ntfs3@lists.linux.dev, linux-cifs@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Hans Caniullan References: <8dca3c11-99f4-446d-a291-35c50ed2dc14@redhat.com> In-Reply-To: <8dca3c11-99f4-446d-a291-35c50ed2dc14@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-Stat-Signature: 4bjscnnncsii5wcsywfpjazr3shwo31k X-Rspamd-Queue-Id: A3FD440002 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1719534388-333172 X-HE-Meta: U2FsdGVkX19iDeYUpqeHAjzlSpGnk71pqoVF80Srwm4xXSd7j1pGX4hUMpna1bO/GPbYw5nrqvhuItXxC+jO8xTA4yImkPNKZlFlDpx+nkATEgPphotf2Rzxjh68accLJMkuPBQEVvpjO8NO4RmPOZe5exzBF5TAjNBLoZGw21h/jqbr9Tk80g4/CJCiNAd4zTo2AMKHq0+ecN1Ficu+II/xumzT9tmOArz3BxqaYtyNq4PhDP8F4H2sdBvcbnj+iwaZRJoE/qWyBwumDeU4bsAwHIY1+4hCKHtII7APfhBYAF4nBn1ONz1TAjWrkyzsRqvnFL6msQiNFe0WBQrcwW2aL45y/yp9u9ykXCOSmVCR6lFaKdi+Zt8YyS366IP8y4foaVYrffwAzmD/VPgtavyaibyhjEMPdzxKUw8xiCyt2iNqM1RwfulAZBfEaXgvUGC4O+QsDIxSr71WFKoQvkm4zVgT5spw9vX2BFHdOJMZ4MmGZdZ5xyyYtiHQFYzO2nzFvP9XWm2pM/KU7NPGe3zKNvXhfj+F2S1UooPdFIU9sCVtY4MtiW3XuMG5JqleFpOjIYIeJbVpR5Oh9dVEu0hLGUHOe25I8As+mQemSBGNe9WAbP+bMIEHNLw82Gc3S7PWXbMMJWqd2KmP4SWFdFW5ti9RM5uMIC7hMHkAw1cNzmM8l61C58ZjbvHZneIjCBiXzeCs7fumy9mtN5jNDkL8Xn1gpqHQJ5eroO8Glj3o2uagDKOxFbOsy8qSLjceSJbA6DLaLE3TfeJFUSibzf5cR40wvHi/LvZL/Nznnxa81cMAuKH8IJQrgMemSKt1y+B2med5hIyUWugvw+5t5OOTf/7c7ojTaBQZ96hjnf7vUapq/Jz950xleNfeYrIAmOxubMMvTaW0YjdwZoHSg8GupI/L2N2htivhMP2HOA49TizRxq2B4fCZ0YQDjWsm2O7kw3gEJ6CENzHERcz uvWkRLO8 276eTgogpnfW3PkNLMALf84VHEqjxxp0HGHyG6g6mrXDhnxJ+UWLOxELOyjNczQTcyI0HFxd93RHuYdAjWcBw5u61+EoFNo6SlceNa+/lUY7qfHduc0srZ8N+1atl1jhLOmo6YnHR5RMwjoWYXarxQGfJlW2w190B/mZX8M2FcUA+SEJK50NiQV1C5tkk+flqruADYAb7GHuvTn+A/cXbC0SEEgFCCPNqdRzSWe86fgjkrREMIOomCtVVf3X1QvGkQ8Iy1gv6UIXHXRdQmp8pk4dUOacDC/Msvi8LhSDvgGMxiliob3oG4hbzPWmSsnmnn3FzPMO6yYEUaADkqjFgqgB7ZgGf9BqSvZzAc4y34g+8Scfyj6MTvSPoyWRG2YMiecOqzt1koivHenNdZx1hQZifdkgGwSYuLY+5mvxXfGs2hhomQflLbzmyiBhR/vx6/NU4Smk4h+xfFaHsuv5oAicw+ivRcS3crDRT2aqDSw/3ab72JjgoIBeC9zf/n2J+NONtQGhfOW9+Lb+/iJgjCSrH506HV5w1CYdB 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: Multiple filesystems take uid and gid as options, and the code to create the ID from an integer and validate it is standard boilerplate that can be moved into common helper functions, so do that for consistency and less cut&paste. This also helps avoid the buggy pattern noted by Seth Jenkins at https://lore.kernel.org/lkml/CALxfFW4BXhEwxR0Q5LSkg-8Vb4r2MONKCcUCVioehXQKr35eHg@mail.gmail.com/ because uid/gid parsing will fail before any assignment in most filesystems. Signed-off-by: Eric Sandeen --- Documentation/filesystems/mount_api.rst | 9 +++++-- fs/fs_parser.c | 34 +++++++++++++++++++++++++ include/linux/fs_parser.h | 6 ++++- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/Documentation/filesystems/mount_api.rst b/Documentation/filesystems/mount_api.rst index 9aaf6ef75eb5..317934c9e8fc 100644 --- a/Documentation/filesystems/mount_api.rst +++ b/Documentation/filesystems/mount_api.rst @@ -645,6 +645,8 @@ The members are as follows: fs_param_is_blockdev Blockdev path * Needs lookup fs_param_is_path Path * Needs lookup fs_param_is_fd File descriptor result->int_32 + fs_param_is_uid User ID (u32) result->uid + fs_param_is_gid Group ID (u32) result->gid ======================= ======================= ===================== Note that if the value is of fs_param_is_bool type, fs_parse() will try @@ -678,6 +680,8 @@ The members are as follows: fsparam_bdev() fs_param_is_blockdev fsparam_path() fs_param_is_path fsparam_fd() fs_param_is_fd + fsparam_uid() fs_param_is_uid + fsparam_gid() fs_param_is_gid ======================= =============================================== all of which take two arguments, name string and option number - for @@ -784,8 +788,9 @@ process the parameters it is given. option number (which it returns). If successful, and if the parameter type indicates the result is a - boolean, integer or enum type, the value is converted by this function and - the result stored in result->{boolean,int_32,uint_32,uint_64}. + boolean, integer, enum, uid, or gid type, the value is converted by this + function and the result stored in + result->{boolean,int_32,uint_32,uint_64,uid,gid}. If a match isn't initially made, the key is prefixed with "no" and no value is present then an attempt will be made to look up the key with the diff --git a/fs/fs_parser.c b/fs/fs_parser.c index a4d6ca0b8971..24727ec34e5a 100644 --- a/fs/fs_parser.c +++ b/fs/fs_parser.c @@ -308,6 +308,40 @@ int fs_param_is_fd(struct p_log *log, const struct fs_parameter_spec *p, } EXPORT_SYMBOL(fs_param_is_fd); +int fs_param_is_uid(struct p_log *log, const struct fs_parameter_spec *p, + struct fs_parameter *param, struct fs_parse_result *result) +{ + kuid_t uid; + + if (fs_param_is_u32(log, p, param, result) != 0) + return fs_param_bad_value(log, param); + + uid = make_kuid(current_user_ns(), result->uint_32); + if (!uid_valid(uid)) + return inval_plog(log, "Invalid uid '%s'", param->string); + + result->uid = uid; + return 0; +} +EXPORT_SYMBOL(fs_param_is_uid); + +int fs_param_is_gid(struct p_log *log, const struct fs_parameter_spec *p, + struct fs_parameter *param, struct fs_parse_result *result) +{ + kgid_t gid; + + if (fs_param_is_u32(log, p, param, result) != 0) + return fs_param_bad_value(log, param); + + gid = make_kgid(current_user_ns(), result->uint_32); + if (!gid_valid(gid)) + return inval_plog(log, "Invalid gid '%s'", param->string); + + result->gid = gid; + return 0; +} +EXPORT_SYMBOL(fs_param_is_gid); + int fs_param_is_blockdev(struct p_log *log, const struct fs_parameter_spec *p, struct fs_parameter *param, struct fs_parse_result *result) { diff --git a/include/linux/fs_parser.h b/include/linux/fs_parser.h index d3350979115f..6cf713a7e6c6 100644 --- a/include/linux/fs_parser.h +++ b/include/linux/fs_parser.h @@ -28,7 +28,7 @@ typedef int fs_param_type(struct p_log *, */ fs_param_type fs_param_is_bool, fs_param_is_u32, fs_param_is_s32, fs_param_is_u64, fs_param_is_enum, fs_param_is_string, fs_param_is_blob, fs_param_is_blockdev, - fs_param_is_path, fs_param_is_fd; + fs_param_is_path, fs_param_is_fd, fs_param_is_uid, fs_param_is_gid; /* * Specification of the type of value a parameter wants. @@ -57,6 +57,8 @@ struct fs_parse_result { int int_32; /* For spec_s32/spec_enum */ unsigned int uint_32; /* For spec_u32{,_octal,_hex}/spec_enum */ u64 uint_64; /* For spec_u64 */ + kuid_t uid; + kgid_t gid; }; }; @@ -131,6 +133,8 @@ static inline bool fs_validate_description(const char *name, #define fsparam_bdev(NAME, OPT) __fsparam(fs_param_is_blockdev, NAME, OPT, 0, NULL) #define fsparam_path(NAME, OPT) __fsparam(fs_param_is_path, NAME, OPT, 0, NULL) #define fsparam_fd(NAME, OPT) __fsparam(fs_param_is_fd, NAME, OPT, 0, NULL) +#define fsparam_uid(NAME, OPT) __fsparam(fs_param_is_uid, NAME, OPT, 0, NULL) +#define fsparam_gid(NAME, OPT) __fsparam(fs_param_is_gid, NAME, OPT, 0, NULL) /* String parameter that allows empty argument */ #define fsparam_string_empty(NAME, OPT) \ From patchwork Fri Jun 28 00:35:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Sandeen X-Patchwork-Id: 13715266 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 317DCC2BD09 for ; Fri, 28 Jun 2024 00:35:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BA6B86B009E; Thu, 27 Jun 2024 20:35:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B54856B009F; Thu, 27 Jun 2024 20:35:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9F3F16B00A0; Thu, 27 Jun 2024 20:35:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 80A576B009E for ; Thu, 27 Jun 2024 20:35:19 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 20086120135 for ; Fri, 28 Jun 2024 00:35:19 +0000 (UTC) X-FDA: 82278428358.09.ADAE4E0 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf07.hostedemail.com (Postfix) with ESMTP id 0753640007 for ; Fri, 28 Jun 2024 00:35:16 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=AQJNWdiD; spf=pass (imf07.hostedemail.com: domain of sandeen@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=sandeen@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719534900; 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=/uXKmUT/nwyBhbjHXhbeGwv5exw7uxZHD87X7TVS31A=; b=iYJ7z6hmxUO/7kXlRxJfHmUJdbSHX7B4aYNwBC6gd55rcVFDWHvu5cLwixftE+72DvheQg GU4opuy3N8ALOYjtF82ghe6aRzR0R2sSiD2VOWsiPJEP1cpf48PfmbK1dtbkpNouhByKBc Xf6giHb/gza7Xe7r6SPSq7mRAxaOsis= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719534900; a=rsa-sha256; cv=none; b=RzBwyMwaH4XTFcSdFx5mcDlbFEiV/jebM5mLnuA8WhXVRcmkcn3vDKpsxARZ18Pf+tVEGq mBFAlJkP37N6yJsFGcHYCy+W7DNRQtXOqSXQNH/Mhs5nnZfLzzKQzCMeUEd4p+5GTo2opU GdR5tFaaTYsytQmy09fS/9kKGkmUQl4= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=AQJNWdiD; spf=pass (imf07.hostedemail.com: domain of sandeen@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=sandeen@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719534916; h=from:from: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; bh=/uXKmUT/nwyBhbjHXhbeGwv5exw7uxZHD87X7TVS31A=; b=AQJNWdiDupx+0nEFdDyuzPWc+lJUIQTOoiUYT3ei5blhm5/82EcoDl9xbagD3KU0oLkV7W 5n8RBAl4lFZ3MvFm2429mYh5tLhf3Ma7rEaj+4zPwiXfGlJxlLATykwO/0/eDjH2bSgxom /5fDf0DrfztIzQtGc4qSFztzcF18IyQ= Received: from mail-io1-f72.google.com (mail-io1-f72.google.com [209.85.166.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-329-rfDdJcEjO8GQQaPfgTejhw-1; Thu, 27 Jun 2024 20:35:14 -0400 X-MC-Unique: rfDdJcEjO8GQQaPfgTejhw-1 Received: by mail-io1-f72.google.com with SMTP id ca18e2360f4ac-7eb73f0683cso3618139f.2 for ; Thu, 27 Jun 2024 17:35:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719534914; x=1720139714; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/uXKmUT/nwyBhbjHXhbeGwv5exw7uxZHD87X7TVS31A=; b=kcPg5bus9hMB3hOiVaNvbTedPsIFWEJocM5lFPMMYin4Wnx7ptiKgUW0hNsbCLj7Ew z3Duj3R2Ej0YX9IVmTfDIHRzPgfOn+JPnYCWgEJIbKi2OUpfxMARC1MEvyefmH+uEtzy 4adQqHa3caeyeeT94n6phfbIABWy/6X+gdm0DDREB5dNjrVz+qjWSqPBbFxzopymQs/Y aTbPcLF3VotKd2sU9ax2MfmM0BBXcrY4qNP6pCpDAiN07D5IV4jpP30nsH9uh5ZkslfO 1Lt4D/Acf7HbmQI66I3mVhDM2ILcj8tYtM6I/9HbXJTNmugiU7HM6gUIuXlDLh1TK1mb /Nxg== X-Gm-Message-State: AOJu0YzmuEBcA7xvzLQobEN9Eta5lLwhw52HaznRJzgNOY7+herOYMep E3AuxhcAWCCQ0R2hsQiEbA+5urcrAifaX2i6EhqFUk/dTcqbrAUMfMMGDkteHJpIG2SoT4wGtDs wHd40MvI8qlc9dgJzj/AAMgP+/x2k4nFPd3RYSrhvI54d9fMDCpYDJ8YZ X-Received: by 2002:a05:6602:2cd5:b0:7f3:d2d5:f06a with SMTP id ca18e2360f4ac-7f3d2d5f2acmr847379539f.13.1719534913865; Thu, 27 Jun 2024 17:35:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE5bkzdQWyhKslA1Bbi7lsK+W3KJetd3xDc9zpQWMVm09ROQZ7lBfg0thxSlPP3X/rVq2ScLQ== X-Received: by 2002:a05:6602:2cd5:b0:7f3:d2d5:f06a with SMTP id ca18e2360f4ac-7f3d2d5f2acmr847378239f.13.1719534913643; Thu, 27 Jun 2024 17:35:13 -0700 (PDT) Received: from [10.0.0.71] (sandeen.net. [63.231.237.45]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4bb73dd71easm224905173.62.2024.06.27.17.35.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 27 Jun 2024 17:35:13 -0700 (PDT) Message-ID: <6cb0dcfd-f837-463f-b5ec-0e7d2608b837@redhat.com> Date: Thu, 27 Jun 2024 19:35:12 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 08/14] hugetlbfs: Convert to new uid/gid option parsing helpers From: Eric Sandeen To: linux-fsdevel@vger.kernel.org, Christian Brauner Cc: linux-mm@kvack.org References: <8dca3c11-99f4-446d-a291-35c50ed2dc14@redhat.com> In-Reply-To: <8dca3c11-99f4-446d-a291-35c50ed2dc14@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-Rspamd-Queue-Id: 0753640007 X-Stat-Signature: xf4cnj5g6fyogx5o4onbmk9pik3j1g1r X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1719534916-525014 X-HE-Meta: U2FsdGVkX1/35IsmzulQStO47QJW7KB8rLGPz0AwOE7kPqBO1Ya9vaoHUOrG+Etm9MqEiyxrcZONLp8ETX6NE73cs9LnfTxpJ1OkxJEfNofIn4D25ixYKYLj+VBfZ+7/aFwnzEt+wFiefn05Hg0gKqN+vANY28c7/2CeITWGy4eZMc0y0caafXR+vxhVW+4Sxl0SdgOg7A476sbGHo/KuCR+uvUVSElJUG/5LQ15N+fi/woiMm9ASVIqnwQ23HYvGZueA0OSctubsiPNUavqqZHDNIPIiCP9w9UM/NrZ7X+JXMJXGqkyeRm4ZCevAnzNShXGBXajHLqQWfF6s+UjuG083NXfqfE0xElr1mzEbDoJlw96EAt+rljb6tS4xmC1nDKBZht+i70UUbDlwKqKMHdFunVGwFVV/DvSKIni1ekLuJlmeDCvtO0E0oNRVrbvkpYN9MQ10ubt9rb+HqgHdgAMLSejkfR5HQPBncmTd7aVC1uHr5iqV45yJBMj8AHS+0H68+xKgvQlP5QF9bk/EXd+xfejieXVG1az99CtGkfoy1Ywedzoj7JZGGHB+5Xr/+n1VhyAdaLvjh1d1t27CpiTEH21JIu1CU4VSK82BF01PGpcRlXSElL15cUBPbVd/hR89G2MenzoVo07E77YsMBYfWoZxRTKQP2KBm+MB8MCA29sF7WG3luxkMF3VvqXkAkt7Xdffck7Yw0em3nSZKs7MWIosfvS07JWjOghYDy66ie0tJAGIcvA27Vu2fA9KpnQ1eFxROPAxjdolproojtOatP9sqAVGDw6tphktNNiXeFtUGGnxXXqPD/pMWxs9Xue3bhHzR6XedGEBYA15nyhMUYA0+MyLPX5JAeHnFe9jOSpbl4zTwZuMGNtw65Uzw4YYzJTf7NoYfvHgxD/kncDDUY5EYqDuXMn4dB6nlK1KoP+xAJURi+nL600X5LE+gJQ0JIpQ5joO8xSTuQ S+5kJ4md 4TAvb+j1B2FVz0EtGT0naFTdJyOT0ntp7guRP1EzZ5ITPAc9a6MYDPOYNLLzNt+TML+9S/V0I0IFw5dZAeKtk7oohy30ItpvtXzwrMbE7OaFIK5WzGVTVolgJ/BqTA7FRSWqBHjpZUdZ5oNUeKn7lMhz7zjaxrp3G9LO8NaI2DNMqZcDWIUrK5sgC6c1MRGaHsYyUMUMt6U3hmdsrh2Rmht/0LgxZb6R9TF0Mxamv0Pi2iH9uyO8N1JzhETS1IlYL/DpfrA9Zu9E2xi8lbf6hz37MFsO7HDdhlItj0+4fUe+ddhn7Qr3J/GoU6bOtmW7OzSN5ua5bJZxkN/w= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000805, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Convert to new uid/gid option parsing helpers Signed-off-by: Eric Sandeen --- fs/hugetlbfs/inode.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 412f295acebe..81dab95f67ed 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -73,13 +73,13 @@ enum hugetlb_param { }; static const struct fs_parameter_spec hugetlb_fs_parameters[] = { - fsparam_u32 ("gid", Opt_gid), + fsparam_gid ("gid", Opt_gid), fsparam_string("min_size", Opt_min_size), fsparam_u32oct("mode", Opt_mode), fsparam_string("nr_inodes", Opt_nr_inodes), fsparam_string("pagesize", Opt_pagesize), fsparam_string("size", Opt_size), - fsparam_u32 ("uid", Opt_uid), + fsparam_uid ("uid", Opt_uid), {} }; @@ -1376,15 +1376,11 @@ static int hugetlbfs_parse_param(struct fs_context *fc, struct fs_parameter *par switch (opt) { case Opt_uid: - ctx->uid = make_kuid(current_user_ns(), result.uint_32); - if (!uid_valid(ctx->uid)) - goto bad_val; + ctx->uid = result.uid; return 0; case Opt_gid: - ctx->gid = make_kgid(current_user_ns(), result.uint_32); - if (!gid_valid(ctx->gid)) - goto bad_val; + ctx->gid = result.gid; return 0; case Opt_mode: From patchwork Fri Jun 28 00:38:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Sandeen X-Patchwork-Id: 13715334 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 63420C30653 for ; Fri, 28 Jun 2024 00:38:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E3F016B00A0; Thu, 27 Jun 2024 20:38:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DEE886B00A1; Thu, 27 Jun 2024 20:38:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CB6A86B00A2; Thu, 27 Jun 2024 20:38:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id AFD5D6B00A0 for ; Thu, 27 Jun 2024 20:38:19 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 639511A135D for ; Fri, 28 Jun 2024 00:38:19 +0000 (UTC) X-FDA: 82278435918.04.4522B5D Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf10.hostedemail.com (Postfix) with ESMTP id 41A2EC0002 for ; Fri, 28 Jun 2024 00:38:17 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=dRVP6jZh; spf=pass (imf10.hostedemail.com: domain of sandeen@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=sandeen@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719535087; 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=29Ula9NPUYU9ZHKXK1TTET3Q7YUfe5/KhwenbSdyx5g=; b=BiTKmI4fTt7kLE01xjkZAskC5EkPYvmikPWF77fep3SUHe2thqcWRqfm9ewdwIhF6ppL3f 5qxq3w3aAuSReaJWyCVOqbGQlcWZxXC5MNKH9kZdbgfmqakOuAa+ObZP6b1nygnWwCrDrw mixEaJkeuU2VfpX8trrTihNTeAOO/MY= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=dRVP6jZh; spf=pass (imf10.hostedemail.com: domain of sandeen@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=sandeen@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719535087; a=rsa-sha256; cv=none; b=QvRsJzW83xb6k1xtNMeFXenetHh73Q7nYz/P6p+fFmdtOPv3iwMehPqSO1Ew/+qFy1fUnp l8xHIE8T6LjMDUcnA6tNnI7dvsVkywAB4Q4NmJkkJFz72GIIjOfldMGxC+Uk++0eamwmBb KMLZpyWfYJB1T1DmpZ/Z5kC1OEtgN3E= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719535096; h=from:from: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; bh=29Ula9NPUYU9ZHKXK1TTET3Q7YUfe5/KhwenbSdyx5g=; b=dRVP6jZhTpLgwBH0yJC9+ZiPccW5i5sY9keGdfU4l2tHolc1VCwc1W5jjdtP8FJbWrJFni ZaPBlO4zZP+njnAYWNNL7rJIQPhZpvUL/5i4znw+fs5LVOyGaDz+iEjebq/+VRLdDFmAn+ 6Us4+VzmderRDo7TByq5uBjCVpvM0ns= Received: from mail-io1-f71.google.com (mail-io1-f71.google.com [209.85.166.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-35-9N8QDIJmM4-4QsufrOwFaw-1; Thu, 27 Jun 2024 20:38:13 -0400 X-MC-Unique: 9N8QDIJmM4-4QsufrOwFaw-1 Received: by mail-io1-f71.google.com with SMTP id ca18e2360f4ac-7f3c8b1fee1so5312039f.0 for ; Thu, 27 Jun 2024 17:38:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719535093; x=1720139893; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=29Ula9NPUYU9ZHKXK1TTET3Q7YUfe5/KhwenbSdyx5g=; b=xO44YiLbJnlGQG8koDDmP++nA2m3xkEh9bWj/KWVlnaEivzNpNW69KZ0CQtSIvrfBH Ynr8XUa64CIe00bwomCGUknlXVpClFZVQtxQ7VU1ZQnyGUZmDoqmWlSMmxzO3sez1tBM fxKhJ4yLqLusgyHuAqAcLX0625/1blEyeYF5juLqgU7x+k1Ab6DAa4i1e7aJPuEDSHn4 MupjXoYjq1knWkb76Er5H4MnQ58c9hplk+SXmZNO7t9cLWqiXkSLasSgu6gv5xyeF289 pMP8FSbYYz4D3MXN0N/6z72swIDA30Ic/9mBJSuABCP4PA/TAW7+qyJDWLtJ6s73vKrz 6vWw== X-Gm-Message-State: AOJu0Yxrdbv9XNxKaSnMzg7hETPtUMJLD/DJZ1sLJYZMrmCTdUmC2AEE bqZBeIqKVS6hTflNhmPqku9JZNZW0PSkktAPzs3TT3pKhl0yupJ42P2vlFXPETh9H/i7vrFRT7o b1tn25W+/HyJiHguVd5KKhx9D8PYNROCiqifttaG01rVRSgvx X-Received: by 2002:a05:6602:1648:b0:7eb:8887:d6c3 with SMTP id ca18e2360f4ac-7f3a4dda0d6mr1937224039f.11.1719535093148; Thu, 27 Jun 2024 17:38:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHxqgFVI3k6X0qAOuP2yi+58eeC72Sq6ILbNqb+MthMIuCOYIhyyBK37gEipr9eZhFvFHZE7A== X-Received: by 2002:a05:6602:1648:b0:7eb:8887:d6c3 with SMTP id ca18e2360f4ac-7f3a4dda0d6mr1937223139f.11.1719535092889; Thu, 27 Jun 2024 17:38:12 -0700 (PDT) Received: from [10.0.0.71] (sandeen.net. [63.231.237.45]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4bb73bba7c0sm226668173.16.2024.06.27.17.38.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 27 Jun 2024 17:38:12 -0700 (PDT) Message-ID: <06b54c7c-4f08-4d99-93d1-32b9f6706209@redhat.com> Date: Thu, 27 Jun 2024 19:38:12 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 11/14] tmpfs: Convert to new uid/gid option parsing helpers From: Eric Sandeen To: linux-fsdevel@vger.kernel.org, Christian Brauner Cc: linux-mm@kvack.org References: <8dca3c11-99f4-446d-a291-35c50ed2dc14@redhat.com> In-Reply-To: <8dca3c11-99f4-446d-a291-35c50ed2dc14@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 41A2EC0002 X-Stat-Signature: d47qk4x9fgo1ocrpfr8dozijds3tqw4k X-Rspam-User: X-HE-Tag: 1719535097-457630 X-HE-Meta: U2FsdGVkX19aXpzHbdw2DnHZg3UoVULWyfmsDtzP+pRjpwxhDs0z65UNCsqG12dIw9tZnSmDkYmuab9D1jGSPY4XPNWMoVcwZlDmJBAD+Y1jDMTmvvbuAy325UHWbWbYdGAobW31iOgKFrtxiufbI26iOyOsGoffur7OWVY78jAl6RUK9z3B+fn2Zdugs8CyCQJsknYxBqAxRN6rypZ1L0TenY3k5WAmYylTzgTEbwR7jiZzo+O9FpAFsKizwYpfvB0P924xoLOIW492c7SvlICa7jBV09tUvGaV+77LLq9HopOzzLKgwCJXDcTkkYLUgYUNntg0MbIIC9tS2VNgxNOc8y4yIiTd03iROL2xLnMUjMG5ZdufUBectp4TNsMUmwyoqlj2XrVdxfWTuEVCSfKOiAMr5jJvDcHG8j0GwhfaFHCdOTFM73i+1cPkrqEzWiZW0J16s3oScv3gPUuLEeqVOcMtXt8ZxxN/+PivrFvjFevfR21e6gyomVzaSWcYt/JAzjr75dpEruyPo/6dlkVuso4T/bZBBoywCeM2zMERz30a6rfYco2MVx3+qQmkLks0Ly+QrTNY1xReaA7UW/21RLRCh5XL7JMAzPeinHcAMNEFQrSNaxBV5js/dzJwr4imuvcLrdQK+DM6yV2oF5n0ADWns8eElwKEIdR2UbpmoOMOiL5sJHSGVhDvNUdMFJj978CcnFn/kuR0nNAaVgh6Vn9y4+dDVN6ojaFpMlZK20wqoPTr06DJiYWEYG3r2I/gMPTDLEp1E+IxUEuz1vtgXodf6wTPzhK7Lp/LK+528/drQ3aOM+BF4lSGtjWftwk6/YqkIFUa4YiZCTrrTgQwNO7KLD0FhvYrvkTDn2RlNz/TbqkfMg2coOsrzPAxt8Ag23HlpjyGrQyAeRvLj6Ph7VH7k1/Dt6X9TJf2eBYRo0xJRSgv9vPyp9lIS4LZzgmLGSlg8H1A9h7m/9Y QlmgMBVr F7QrzwYU6aRCWmeYEc8+aOsb/ZOLoAkRFYxGgkFNDPfw+GR66YWZij7DGZ27w5WfacH1zA2FG4CZbgWxwyT71Q6aCF9hqOD9apLYrHcp9fhfZWPV6TbHZ51c8GNiML0sFzL9bZAx+9omLFFUlUxexgEpIU4tHss2U0Ol+BIJpAd5qK1kZ+zVXNVndicaHCUXlwcGI+nL0ksdfUbWUz5ijN2UklRf8r1gatxj1Cn/TMSMwHVuOUelnX1v8i8kjQl9p20PuLrP57Pzly00ZZWSwWkvg0TWunFgcjjUhBrF+9vjaEJXzRGWwEHiNFkysIdWfg4Sxr8eNHzMzUqY= 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: Convert to new uid/gid option parsing helpers Signed-off-by: Eric Sandeen --- mm/shmem.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/mm/shmem.c b/mm/shmem.c index a8b181a63402..922204184a82 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -3903,14 +3903,14 @@ static const struct constant_table shmem_param_enums_huge[] = { }; const struct fs_parameter_spec shmem_fs_parameters[] = { - fsparam_u32 ("gid", Opt_gid), + fsparam_gid ("gid", Opt_gid), fsparam_enum ("huge", Opt_huge, shmem_param_enums_huge), fsparam_u32oct("mode", Opt_mode), fsparam_string("mpol", Opt_mpol), fsparam_string("nr_blocks", Opt_nr_blocks), fsparam_string("nr_inodes", Opt_nr_inodes), fsparam_string("size", Opt_size), - fsparam_u32 ("uid", Opt_uid), + fsparam_uid ("uid", Opt_uid), fsparam_flag ("inode32", Opt_inode32), fsparam_flag ("inode64", Opt_inode64), fsparam_flag ("noswap", Opt_noswap), @@ -3970,9 +3970,7 @@ static int shmem_parse_one(struct fs_context *fc, struct fs_parameter *param) ctx->mode = result.uint_32 & 07777; break; case Opt_uid: - kuid = make_kuid(current_user_ns(), result.uint_32); - if (!uid_valid(kuid)) - goto bad_value; + kuid = result.uid; /* * The requested uid must be representable in the @@ -3984,9 +3982,7 @@ static int shmem_parse_one(struct fs_context *fc, struct fs_parameter *param) ctx->uid = kuid; break; case Opt_gid: - kgid = make_kgid(current_user_ns(), result.uint_32); - if (!gid_valid(kgid)) - goto bad_value; + kgid = result.gid; /* * The requested gid must be representable in the