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 53926C4167D for ; Thu, 9 Nov 2023 06:22:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 797156B02FE; Thu, 9 Nov 2023 01:22:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 747C36B02FF; Thu, 9 Nov 2023 01:22:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 60EF66B0300; Thu, 9 Nov 2023 01:22:37 -0500 (EST) 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 515366B02FE for ; Thu, 9 Nov 2023 01:22:37 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 11970160C06 for ; Thu, 9 Nov 2023 06:22:37 +0000 (UTC) X-FDA: 81437421954.25.F42028F Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by imf16.hostedemail.com (Postfix) with ESMTP id 50C20180012 for ; Thu, 9 Nov 2023 06:22:35 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gXn1E839; spf=pass (imf16.hostedemail.com: domain of ov.wagle@gmail.com designates 209.85.215.179 as permitted sender) smtp.mailfrom=ov.wagle@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699510955; a=rsa-sha256; cv=none; b=k5ywNAYcQjtYq0fkfi/6OXMpr7hCxVH3f9TyBhm72jP3/yB75vppsph7tT31NXQV1u6LlD K1KgiSx+p5PvEpFLEQRCTSt9vFuApGQ8befXn1CXGrmmV3THXsj1CiufjghqG5TKXt9lj4 xAiYaxrtE7PVjJ4N4ZI6IOr1em3mZY8= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gXn1E839; spf=pass (imf16.hostedemail.com: domain of ov.wagle@gmail.com designates 209.85.215.179 as permitted sender) smtp.mailfrom=ov.wagle@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699510955; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=NIzrIC8eL3c2zlsAxARFx0go5r8mD6h6QkGzD0XcWqA=; b=L6kLD6VDbO8RRJJOkXv9i2quaZhPNRhDGQRGdylX/pgHdQPwpTzMrfCCxp+exM0QbSwX+L td1xDtOrQ1noUkaUQhEZpEESt1ZfM1bIpxBANEmvMZLXrld+GfgUxsjZobXDwCSGRhN6VJ Jd8sjmeob4tuECKUjawvpBxidpdvnDs= Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-5bd33abbb90so385549a12.2 for ; Wed, 08 Nov 2023 22:22:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699510954; x=1700115754; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=NIzrIC8eL3c2zlsAxARFx0go5r8mD6h6QkGzD0XcWqA=; b=gXn1E839En7k8IbvBEVdVWDjM7Kv/6W8ys5ux5q1xZhkM6c8/OK01gbxLk0hcYzX3E GXXnwcGZIyqVZwBjR/g9zltwXOvtdiouuzWLnyoF3+wuMyjbv4SrLOWNb8sPe+LrUpFz qUNPeS12wOitDRiXZG+Qw+qHMDbsy9hIyQfGPJXTcOKdbBzUMGqxpZuPxxZBBB8yTr70 zr/r9nllZ2JKTO0Pm2ufn5ZqWkzPkx6OXhYjculENz/uGOzJM1ANaMtQeQkkQjDyzgGw 1CWg9PhY8TNLLwi1i7anI0xs3/DR72moExkcCHekdQcfC6itFPdgsPzciduW1SxPSQg8 YcJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699510954; x=1700115754; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=NIzrIC8eL3c2zlsAxARFx0go5r8mD6h6QkGzD0XcWqA=; b=NZcNX4BeqWErYYBaihzoGRD4/21ctnNZfEAO/+rWp5LFkVX2p7XnSKJ+gyX1G9JHts Y/MTPN0bCPTUZz9Gs09ibh4knJd9c2byf0v46hyYX4/1YbW2mAlKlauJySjIDjBGR3VD Ld+hvuohTk6vtf0QgVQ2GF9px0FoSZGynBG1SBdrXCrPEVI0pF86+M7Gig5Ljbjv46Lf qTgF8zaP1IpW3z8ADwsaxqkEHpknnyXflfmGVz7YcM0XFBH8UA5hjd5Cq3saWF9OI6O/ 2JR78kkYG6znxJ7dUpzeY0+J8To00fAWCHntuYD3FPYoVyFIY1PMoAZudPx/gAjubYfY NiXA== X-Gm-Message-State: AOJu0YxxmTP72He8FjLyEMNHNGR01cUEoyUjOJfc6zm93JIfrrlfAESO 5waIoeGiIN8ju/FSSF+GlHM= X-Google-Smtp-Source: AGHT+IHQo3UfF3AW3DsQM3h0UAyZp7zOHnNohNqB595ZPZw8NHIauWwVr7B/BLGdSLVADycz7CODtg== X-Received: by 2002:a17:90b:4c50:b0:27f:fcc8:9196 with SMTP id np16-20020a17090b4c5000b0027ffcc89196mr745251pjb.32.1699510953888; Wed, 08 Nov 2023 22:22:33 -0800 (PST) Received: from omkarwagle.hsd1.ca.comcast.net (c-73-92-27-236.hsd1.ca.comcast.net. [73.92.27.236]) by smtp.gmail.com with ESMTPSA id pl17-20020a17090b269100b00280a2275e4bsm525139pjb.27.2023.11.08.22.22.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Nov 2023 22:22:33 -0800 (PST) From: Omkar Wagle To: hughd@google.com Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Omkar Wagle Subject: [PATCH] MM: shmem: Remove code sytle warnings Date: Wed, 8 Nov 2023 22:22:28 -0800 Message-Id: <20231109062228.10227-1-ov.wagle@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 50C20180012 X-Stat-Signature: ihq859c599ua364bo5rwsmnd337knq4o X-Rspam-User: X-HE-Tag: 1699510955-403919 X-HE-Meta: U2FsdGVkX1/L1b6wC1nX4R6ApG0Wo12TqW1tjxlHOxSAFRw9qvdhnhgf9ispI0OuX0ACo+lMha03YOosNFrXZFldBijalQCQkkDOicmLomqKG4Dcsr7gt1jkq1K/sluiabjQ+2A+ofv4DklmbdiGZd7UEFFhUeLTDV2auct063ImIQxHfG9PBWzclmSuH9q1eURqbWrr+qtbwa7+8a3hTTkgWWwpM8FZHwdgF4hMI16qzzD6DHAegcdDVS8+uBD1FZY3/SlC0atULoB4cO8M9y/4QXyDfYLuv4BMNrFybIUjU4EmJOlxbG43LhYjCOBcO7yShNVK1anFyIjTWLT8VHcgkheOjIYxGudNMOJ+cPGDzItBXZymJgzS3MbRpmQR8UWrnthNQc7ro4Cyzsddh4y+mjg7I1bUbFfERu1/NImMYJEWmtYDFgMWZ6H07Cn8GO/gvXGiBtgqamYkB2BovxpL4GapDEqjAHyXg54KMuv7wyE/uPy2qp/j7zvu2gGzYTiA/TJL+BYClYjnuvNwF4TuVYyM/jrjErd4dvAjPaZIF5as6nt8my0YYRXZ5eNAVt8yxZ3c7pnTrOf2ekwPy6IhEvEKsqY1eOpYLUulSllGEPycdjKSwboo1iQsYPv2y+SQocLMDE4b5RlwbjK41QYQ51eQswCnLzVew969PI6F33TbNziDk+kIHF+7xkPCpZM/4e19WzSvBIbUKo9s7hifs/u1C3uF2nhl84GMNS3sQUCeVCG8k2O7lPwJyTajtz4IQtebJLrSV6cDYF8zjuKygznDHmY8ssm5AVUeUWm76BRELA/UQW3LZ+A72ONj5Kr/lNRsJVmxXDLWvS1SJJJuKRnmRX4kygQ3kkbUqOtWElAUdn5xD4h8YqtUwY+IIQrIX1QGe6fHqKYL4SxQcdvicuvvAtfFoCrCvS+l03z1p768mLvGruYH9OQ9jAq1J9IYJ7ewO6cJ/XiIWTA pjyyt1pE tWtHCkAfMLV/Gh5Jj09LFQxKde/u4O0jzgkONQuBuWFNwNmxXuMuIahvKh/YN5feuEW1Hl+POQqI73vFvohxZjr0lhXbySOercMh5ziSUhf4Le+DPztPD/n46yubr7JmBRYnzbgJZQbhENWD5AwMHC4+El3HSqwmXJYiQ1IAJYl25rL+EYWPnE4IukAlFo/79o9ABkaQISuc7YVdXz8Efr+mrLdSVpBffupysBsKTAWMY5dyjbjjq4AGyCyy5f593+1lc5XryoJFinhn41CWJo5H8e4+95q15IWZCSq2k3ZojL0EsCxlSAMp3TYN6scQ/jBrUtOZa9P9dMaf/4BQMEmP3A51KsgVVSpdO84pxOX418J+JG8U8XZlPlUcBa4ONcGWQ6NtLQfoRgJTHn9ef7Xzi2JLJk9DMkLMQ9ml32De+fJMwCzIaEF4n+Vd6fpCmXPTe5vru4+STm4XwoxTBMzKF9q7Izx0+4NqIxJJDljd4d/VkvpxbbLTb0eoTqiEiJIDCVpEyK7tk93lLDqP/YOizkIE+2Z7ZcOmgR+wORi+FOFY= 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: Remove most of the code style warnings Signed-off-by: Omkar Wagle --- mm/shmem.c | 51 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/mm/shmem.c b/mm/shmem.c index 91e2620148b2..fce230cc5ccc 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -395,6 +395,7 @@ static int shmem_reserve_inode(struct super_block *sb, ino_t *inop) static void shmem_free_inode(struct super_block *sb, size_t freed_ispace) { struct shmem_sb_info *sbinfo = SHMEM_SB(sb); + if (sbinfo->max_inodes) { raw_spin_lock(&sbinfo->stat_lock); sbinfo->free_ispace += BOGO_INODE_SIZE + freed_ispace; @@ -735,6 +736,7 @@ static long shmem_unused_huge_count(struct super_block *sb, struct shrink_control *sc) { struct shmem_sb_info *sbinfo = SHMEM_SB(sb); + return READ_ONCE(sbinfo->shrinklist_len); } #else /* !CONFIG_TRANSPARENT_HUGEPAGE */ @@ -1146,9 +1148,8 @@ static int shmem_setattr(struct mnt_idmap *idmap, return error; if ((info->seals & F_SEAL_EXEC) && (attr->ia_valid & ATTR_MODE)) { - if ((inode->i_mode ^ attr->ia_mode) & 0111) { + if ((inode->i_mode ^ attr->ia_mode) & 0111) return -EPERM; - } } if (S_ISREG(inode->i_mode) && (attr->ia_valid & ATTR_SIZE)) { @@ -1172,6 +1173,7 @@ static int shmem_setattr(struct mnt_idmap *idmap, } if (newsize <= oldsize) { loff_t holebegin = round_up(newsize, PAGE_SIZE); + if (oldsize > holebegin) unmap_mapping_range(inode->i_mapping, holebegin, 0, 1); @@ -1454,6 +1456,7 @@ static int shmem_writepage(struct page *page, struct writeback_control *wbc) if (!folio_test_uptodate(folio)) { if (inode->i_private) { struct shmem_falloc *shmem_falloc; + spin_lock(&inode->i_lock); shmem_falloc = inode->i_private; if (shmem_falloc && @@ -1527,6 +1530,7 @@ static void shmem_show_mpol(struct seq_file *seq, struct mempolicy *mpol) static struct mempolicy *shmem_get_sbmpol(struct shmem_sb_info *sbinfo) { struct mempolicy *mpol = NULL; + if (sbinfo->mpol) { raw_spin_lock(&sbinfo->stat_lock); /* prevent replace/use races */ mpol = sbinfo->mpol; @@ -2129,6 +2133,7 @@ static int synchronous_wake_function(wait_queue_entry_t *wait, unsigned int mode, int sync, void *key) { int ret = default_wake_function(wait, mode, sync, key); + list_del_init(&wait->entry); return ret; } @@ -2314,6 +2319,7 @@ unsigned long shmem_get_unmapped_area(struct file *file, static int shmem_set_policy(struct vm_area_struct *vma, struct mempolicy *mpol) { struct inode *inode = file_inode(vma->vm_file); + return mpol_set_shared_policy(&SHMEM_I(inode)->policy, vma, mpol); } @@ -2681,7 +2687,7 @@ static const struct inode_operations shmem_short_symlink_operations; static int shmem_write_begin(struct file *file, struct address_space *mapping, - loff_t pos, unsigned len, + loff_t pos, unsigned int len, struct page **pagep, void **fsdata) { struct inode *inode = mapping->host; @@ -2716,7 +2722,7 @@ shmem_write_begin(struct file *file, struct address_space *mapping, static int shmem_write_end(struct file *file, struct address_space *mapping, - loff_t pos, unsigned len, unsigned copied, + loff_t pos, unsigned int len, unsigned int copied, struct page *page, void *fsdata) { struct folio *folio = page_folio(page); @@ -2728,6 +2734,7 @@ shmem_write_end(struct file *file, struct address_space *mapping, if (!folio_test_uptodate(folio)) { if (copied < folio_size(folio)) { size_t from = offset_in_folio(folio, pos); + folio_zero_segments(folio, 0, from, from + copied, folio_size(folio)); } @@ -3731,6 +3738,7 @@ static const struct xattr_handler * const shmem_xattr_handlers[] = { static ssize_t shmem_listxattr(struct dentry *dentry, char *buffer, size_t size) { struct shmem_inode_info *info = SHMEM_I(d_inode(dentry)); + return simple_xattr_list(d_inode(dentry), &info->xattrs, buffer, size); } #endif /* CONFIG_TMPFS_XATTR */ @@ -3762,6 +3770,7 @@ static int shmem_match(struct inode *ino, void *vfh) { __u32 *fh = vfh; __u64 inum = fh[2]; + inum = (inum << 32) | fh[1]; return ino->i_ino == inum && fh[0] == ino->i_generation; } @@ -3812,6 +3821,7 @@ static int shmem_encode_fh(struct inode *inode, __u32 *fh, int *len, * to do it once */ static DEFINE_SPINLOCK(lock); + spin_lock(&lock); if (inode_unhashed(inode)) __insert_inode_hash(inode, @@ -3864,20 +3874,20 @@ static const struct constant_table shmem_param_enums_huge[] = { const struct fs_parameter_spec shmem_fs_parameters[] = { fsparam_u32 ("gid", Opt_gid), - fsparam_enum ("huge", Opt_huge, shmem_param_enums_huge), + 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_flag ("inode32", Opt_inode32), - fsparam_flag ("inode64", Opt_inode64), - fsparam_flag ("noswap", Opt_noswap), + fsparam_flag("inode32", Opt_inode32), + fsparam_flag("inode64", Opt_inode64), + fsparam_flag("noswap", Opt_noswap), #ifdef CONFIG_TMPFS_QUOTA - fsparam_flag ("quota", Opt_quota), - fsparam_flag ("usrquota", Opt_usrquota), - fsparam_flag ("grpquota", Opt_grpquota), + fsparam_flag("quota", Opt_quota), + fsparam_flag("usrquota", Opt_usrquota), + fsparam_flag("grpquota", Opt_grpquota), fsparam_string("usrquota_block_hardlimit", Opt_usrquota_block_hardlimit), fsparam_string("usrquota_inode_hardlimit", Opt_usrquota_inode_hardlimit), fsparam_string("grpquota_block_hardlimit", Opt_grpquota_block_hardlimit), @@ -4063,12 +4073,14 @@ static int shmem_parse_options(struct fs_context *fc, void *data) if (options) { int err = security_sb_eat_lsm_opts(options, &fc->security); + if (err) return err; } while (options != NULL) { char *this_char = options; + for (;;) { /* * NUL-terminate this option: unfortunately, @@ -4249,7 +4261,7 @@ static int shmem_show_options(struct seq_file *seq, struct dentry *root) shmem_show_mpol(seq, mpol); mpol_put(mpol); if (sbinfo->noswap) - seq_printf(seq, ",noswap"); + seq_puts(seq, ",noswap"); return 0; } @@ -4277,7 +4289,7 @@ static int shmem_fill_super(struct super_block *sb, struct fs_context *fc) int error = -ENOMEM; /* Round up to L1_CACHE_BYTES to resist false sharing */ - sbinfo = kzalloc(max((int)sizeof(struct shmem_sb_info), + sbinfo = kzalloc(max_t((int)sizeof(struct shmem_sb_info), L1_CACHE_BYTES), GFP_KERNEL); if (!sbinfo) return error; @@ -4405,6 +4417,7 @@ static struct kmem_cache *shmem_inode_cachep __ro_after_init; static struct inode *shmem_alloc_inode(struct super_block *sb) { struct shmem_inode_info *info; + info = alloc_inode_sb(sb, shmem_inode_cachep, GFP_KERNEL); if (!info) return NULL; @@ -4429,6 +4442,7 @@ static void shmem_destroy_inode(struct inode *inode) static void shmem_init_inode(void *foo) { struct shmem_inode_info *info = foo; + inode_init_once(&info->vfs_inode); } @@ -4761,6 +4775,7 @@ static inline struct inode *shmem_get_inode(struct mnt_idmap *idmap, umode_t mode, dev_t dev, unsigned long flags) { struct inode *inode = ramfs_get_inode(sb, dir, mode, dev); + return inode ? inode : ERR_PTR(-ENOSPC); } @@ -4787,7 +4802,7 @@ static struct file *__shmem_file_setup(struct vfsmount *mnt, const char *name, return ERR_PTR(-EINVAL); inode = shmem_get_inode(&nop_mnt_idmap, mnt->mnt_sb, NULL, - S_IFREG | S_IRWXUGO, 0, flags); + S_IFREG | 0777, 0, flags); if (IS_ERR(inode)) { shmem_unacct_size(flags, size); return ERR_CAST(inode); @@ -4806,10 +4821,10 @@ static struct file *__shmem_file_setup(struct vfsmount *mnt, const char *name, /** * shmem_kernel_file_setup - get an unlinked file living in tmpfs which must be - * kernel internal. There will be NO LSM permission checks against the - * underlying inode. So users of this interface must do LSM checks at a - * higher layer. The users are the big_key and shm implementations. LSM - * checks are provided at the key or shm level rather than the inode. + * kernel internal. There will be NO LSM permission checks against the + * underlying inode. So users of this interface must do LSM checks at a + * higher layer. The users are the big_key and shm implementations. LSM + * checks are provided at the key or shm level rather than the inode. * @name: name for dentry (to be seen in /proc//maps * @size: size to be set for the file * @flags: VM_NORESERVE suppresses pre-accounting of the entire object size -- 2.34.1