From: Zhihao Cheng <chengzhihao1@huawei.com>
To: <richard@nod.at>, <miquel.raynal@bootlin.com>, <vigneshr@ti.com>,
<mcoquelin.stm32@gmail.com>, <kirill.shutemov@linux.intel.com>
Cc: <linux-mtd@lists.infradead.org>, <linux-kernel@vger.kernel.org>,
<chengzhihao1@huawei.com>, <yukuai3@huawei.com>
Subject: [PATCH v2 08/12] ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
Date: Sat, 6 Nov 2021 20:25:13 +0800 [thread overview]
Message-ID: <20211106122517.3304628-9-chengzhihao1@huawei.com> (raw)
In-Reply-To: <20211106122517.3304628-1-chengzhihao1@huawei.com>
Make 'ui->data_len' aligned with 8 bytes before it is assigned to
dirtied_ino_d. Since 8871d84c8f8b0c6b("ubifs: convert to fileattr")
applied, 'setflags()' only affects regular files and directories, only
xattr inode, symlink inode and special inode(pipe/char_dev/block_dev)
have none- zero 'ui->data_len' field, so assertion
'!(req->dirtied_ino_d & 7)' cannot fail in ubifs_budget_space().
To avoid assertion fails in future evolution(eg. setflags can operate
special inodes), it's better to make dirtied_ino_d 8 bytes aligned,
after all aligned size is still zero for regular files.
Fixes: 1e51764a3c2ac05a ("UBIFS: add new flash file system")
Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
---
fs/ubifs/ioctl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ubifs/ioctl.c b/fs/ubifs/ioctl.c
index c6a863487780..71bcebe45f9c 100644
--- a/fs/ubifs/ioctl.c
+++ b/fs/ubifs/ioctl.c
@@ -108,7 +108,7 @@ static int setflags(struct inode *inode, int flags)
struct ubifs_inode *ui = ubifs_inode(inode);
struct ubifs_info *c = inode->i_sb->s_fs_info;
struct ubifs_budget_req req = { .dirtied_ino = 1,
- .dirtied_ino_d = ui->data_len };
+ .dirtied_ino_d = ALIGN(ui->data_len, 8) };
err = ubifs_budget_space(c, &req);
if (err)
--
2.31.1
next prev parent reply other threads:[~2021-11-06 12:12 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-06 12:25 [PATCH v2 00/12] Some bugfixs for ubi/ubifs Zhihao Cheng
2021-11-06 12:25 ` [PATCH v2 01/12] ubifs: rename_whiteout: Fix double free for whiteout_ui->data Zhihao Cheng
2021-11-06 12:25 ` [PATCH v2 02/12] ubifs: Fix deadlock in concurrent rename whiteout and inode writeback Zhihao Cheng
2021-11-06 12:25 ` [PATCH v2 03/12] ubifs: Fix wrong number of inodes locked by ui_mutex in ubifs_inode comment Zhihao Cheng
2021-11-06 12:25 ` [PATCH v2 04/12] ubifs: Add missing iput if do_tmpfile() failed in rename whiteout Zhihao Cheng
2021-11-06 12:25 ` [PATCH v2 05/12] ubifs: Rename whiteout atomically Zhihao Cheng
2021-11-06 12:25 ` [PATCH v2 06/12] ubifs: Fix 'ui->dirty' race between do_tmpfile() and writeback work Zhihao Cheng
2021-11-06 12:25 ` [PATCH v2 07/12] ubifs: Rectify space amount budget for mkdir/tmpfile operations Zhihao Cheng
2021-11-06 12:25 ` Zhihao Cheng [this message]
2021-11-06 12:25 ` [PATCH v2 09/12] ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock() Zhihao Cheng
2021-11-06 12:25 ` [PATCH v2 10/12] ubifs: Fix to add refcount once page is set private Zhihao Cheng
2021-11-06 12:25 ` [PATCH v2 11/12] ubi: fastmap: Return error code if memory allocation fails in add_aeb() Zhihao Cheng
2021-11-06 12:25 ` [PATCH v2 12/12] ubi: fastmap: Add all fastmap pebs into 'ai->fastmap' when fm->used_blocks>=2 Zhihao Cheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211106122517.3304628-9-chengzhihao1@huawei.com \
--to=chengzhihao1@huawei.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=mcoquelin.stm32@gmail.com \
--cc=miquel.raynal@bootlin.com \
--cc=richard@nod.at \
--cc=vigneshr@ti.com \
--cc=yukuai3@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).