From: Kees Cook <keescook@chromium.org>
To: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: Bob Copeland <me@bobcopeland.com>,
linux-karma-devel@lists.sourceforge.net,
linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org
Subject: Re: [PATCH][next] fs: omfs: Use flexible-array member in struct omfs_extent
Date: Mon, 17 Jul 2023 08:20:22 -0700 [thread overview]
Message-ID: <202307170758.14B5D83D@keescook> (raw)
In-Reply-To: <ZLGodUeD307GlINN@work>
On Fri, Jul 14, 2023 at 01:56:37PM -0600, Gustavo A. R. Silva wrote:
> There are some binary differences before and after changes, but this are
> expected due to the change in the size of 'struct omfs_extent' and the
> necessary adjusments.
For binary changes, I think commit logs should have more details. In
this case, I can figure it out:
> diff --git a/fs/omfs/file.c b/fs/omfs/file.c
> index de8f57ee39ec..6b580b9da8e3 100644
> --- a/fs/omfs/file.c
> +++ b/fs/omfs/file.c
> @@ -14,7 +14,7 @@ static u32 omfs_max_extents(struct omfs_sb_info *sbi, int offset)
> {
> return (sbi->s_sys_blocksize - offset -
> sizeof(struct omfs_extent)) /
> - sizeof(struct omfs_extent_entry) + 1;
> + sizeof(struct omfs_extent_entry);
> }
I think the original calculation meant to do:
return (sbi->s_sys_blocksize - offset -
(sizeof(struct omfs_extent) - sizeof(struct omfs_extent_entry))) /
sizeof(struct omfs_extent_entry);
So this binary difference looks correct. I rebuilt before/after this
patch with omfs_max_extents() marked as noinline, and all the binary
changes were isolated here, and did exactly as expected: the first half
is 16 smaller (size of struct omfs_extent_entry), and the final +1 is
removed:
- 2e1: lea -0x20(%rbx),%rax
+ 2e1: lea -0x10(%rbx),%rax
2e5: pop %rbx
2e6: pop %rbp
2e7: shr $0x4,%rax
- 2eb: add $0x1,%eax
So this looks correct to me. Thanks!
Reviewed-by: Kees Cook <keescook@chromium.org>
--
Kees Cook
next prev parent reply other threads:[~2023-07-17 15:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-14 19:56 [PATCH][next] fs: omfs: Use flexible-array member in struct omfs_extent Gustavo A. R. Silva
2023-07-17 15:20 ` Kees Cook [this message]
2023-07-19 13:03 ` Bob Copeland
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=202307170758.14B5D83D@keescook \
--to=keescook@chromium.org \
--cc=gustavoars@kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-karma-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=me@bobcopeland.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.