From: Dan Carpenter <dan.carpenter@oracle.com>
To: Viacheslav Dubeyko <slava@dubeyko.com>
Cc: Chengyu Song <csong84@gatech.edu>,
Andrew Morton <akpm@linux-foundation.org>,
David Howells <dhowells@redhat.com>,
Al Viro <viro@zeniv.linux.org.uk>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
kernel-janitors@vger.kernel.org
Subject: Re: [patch] hfs: fix hfs_readdir()
Date: Mon, 16 Jan 2017 14:22:11 +0000 [thread overview]
Message-ID: <20170116142211.GF4104@mwanda> (raw)
In-Reply-To: <1453845246.2633.17.camel@slavad-ubuntu-14.04>
I was reviewing old warnings and I stumbled across this one again.
Although I wrote that &fd.key->cat and "fd.key" are equivalent, I feel
that actually we should be doing the former. fd.key is a union but we
want the ->cat member of the union.
On Tue, Jan 26, 2016 at 01:54:06PM -0800, Viacheslav Dubeyko wrote:
> On Tue, 2016-01-26 at 22:18 +0300, Dan Carpenter wrote:
> > Hm, I completely didn't see that it was a union instead of a struct. I
> > still think my fix is actually correct though. Now that you point out
> > the union, I see that my change is equivalent to just removing the '&'
> > char.
> >
> > - memcpy(&rd->key, &fd.key, sizeof(struct hfs_cat_key));
> > + memcpy(&rd->key, fd.key, sizeof(struct hfs_cat_key));
> >
>
> Yeahh, it looks correct right now. The rd is the pointer that includes
> struct hfs_cat_key object. So, we need to use &rd->key. But on another
> side we have struct hfs_find_data object on the stack. And this object
> includes the pointer on union btree_key. We want to copy struct
> hfs_cat_key object and we should use sizeof(struct hfs_cat_key).
I've read this paragraph several times now and I think you are saying
that the patch is correct.
>
> > We don't want to copy sizeof(*fd.key) because that would write past the
> > end of the destination struct.
> >
> > On Tue, Jan 26, 2016 at 10:18:56AM -0800, Viacheslav Dubeyko wrote:
> > > Another worry could be the "search_key" field of the struct
> > > hfs_find_data.
> >
> > I don't understand what you mean here.
> >
>
> I mean here that we could have another incorrect copy operations for
> "search_key" field. That's all.
I don't see the bugs you are saying might exist... ;)
regards,
dan carpenter
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Viacheslav Dubeyko <slava@dubeyko.com>
Cc: Chengyu Song <csong84@gatech.edu>,
Andrew Morton <akpm@linux-foundation.org>,
David Howells <dhowells@redhat.com>,
Al Viro <viro@zeniv.linux.org.uk>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
kernel-janitors@vger.kernel.org
Subject: Re: [patch] hfs: fix hfs_readdir()
Date: Mon, 16 Jan 2017 17:22:11 +0300 [thread overview]
Message-ID: <20170116142211.GF4104@mwanda> (raw)
In-Reply-To: <1453845246.2633.17.camel@slavad-ubuntu-14.04>
I was reviewing old warnings and I stumbled across this one again.
Although I wrote that &fd.key->cat and "fd.key" are equivalent, I feel
that actually we should be doing the former. fd.key is a union but we
want the ->cat member of the union.
On Tue, Jan 26, 2016 at 01:54:06PM -0800, Viacheslav Dubeyko wrote:
> On Tue, 2016-01-26 at 22:18 +0300, Dan Carpenter wrote:
> > Hm, I completely didn't see that it was a union instead of a struct. I
> > still think my fix is actually correct though. Now that you point out
> > the union, I see that my change is equivalent to just removing the '&'
> > char.
> >
> > - memcpy(&rd->key, &fd.key, sizeof(struct hfs_cat_key));
> > + memcpy(&rd->key, fd.key, sizeof(struct hfs_cat_key));
> >
>
> Yeahh, it looks correct right now. The rd is the pointer that includes
> struct hfs_cat_key object. So, we need to use &rd->key. But on another
> side we have struct hfs_find_data object on the stack. And this object
> includes the pointer on union btree_key. We want to copy struct
> hfs_cat_key object and we should use sizeof(struct hfs_cat_key).
I've read this paragraph several times now and I think you are saying
that the patch is correct.
>
> > We don't want to copy sizeof(*fd.key) because that would write past the
> > end of the destination struct.
> >
> > On Tue, Jan 26, 2016 at 10:18:56AM -0800, Viacheslav Dubeyko wrote:
> > > Another worry could be the "search_key" field of the struct
> > > hfs_find_data.
> >
> > I don't understand what you mean here.
> >
>
> I mean here that we could have another incorrect copy operations for
> "search_key" field. That's all.
I don't see the bugs you are saying might exist... ;)
regards,
dan carpenter
next prev parent reply other threads:[~2017-01-16 14:22 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-26 9:26 [patch] hfs: fix hfs_readdir() Dan Carpenter
2016-01-26 9:26 ` Dan Carpenter
2016-01-26 18:18 ` Viacheslav Dubeyko
2016-01-26 18:18 ` Viacheslav Dubeyko
2016-01-26 19:18 ` Dan Carpenter
2016-01-26 19:18 ` Dan Carpenter
2016-01-26 21:54 ` Viacheslav Dubeyko
2016-01-26 21:54 ` Viacheslav Dubeyko
2017-01-16 14:22 ` Dan Carpenter [this message]
2017-01-16 14:22 ` Dan Carpenter
2017-01-16 22:34 ` Viacheslav Dubeyko
2017-01-16 22:34 ` Viacheslav Dubeyko
2017-01-18 11:13 ` [patch resend] hfs: fix " Dan Carpenter
2017-01-18 11:13 ` Dan Carpenter
2017-01-18 17:28 ` Viacheslav Dubeyko
2017-01-18 17:28 ` Viacheslav Dubeyko
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=20170116142211.GF4104@mwanda \
--to=dan.carpenter@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=csong84@gatech.edu \
--cc=dhowells@redhat.com \
--cc=kernel-janitors@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=slava@dubeyko.com \
--cc=viro@zeniv.linux.org.uk \
/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.