From: Al Viro <viro@ZenIV.linux.org.uk>
To: Arnd Bergmann <arnd@arndb.de>
Cc: James Simmons <jsimmons@infradead.org>,
Oleg Drokin <oleg.drokin@intel.com>,
Andreas Dilger <andreas.dilger@intel.com>,
"# 3.4.x" <stable@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Doug Oucharek <doug.s.oucharek@intel.com>,
Dmitry Eremin <dmitry.eremin@intel.com>,
Liang Zhen <liang.zhen@intel.com>,
Nicholas Hanley <nicholasjhanley@gmail.com>,
Lustre Development List <lustre-devel@lists.lustre.org>,
devel@driverdev.osuosl.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] lustre: check copy_from_iter/copy_to_iter return code
Date: Fri, 14 Jul 2017 02:50:34 +0100 [thread overview]
Message-ID: <20170714015034.GE13102@ZenIV.linux.org.uk> (raw)
In-Reply-To: <CAK8P3a3nJRN2QQO4AGVB3V=jKafqvjdwoJ5u4ntEMsEugzJ_+Q@mail.gmail.com>
On Thu, Jul 13, 2017 at 10:57:59PM +0200, Arnd Bergmann wrote:
> Thanks for testing it!
>
> That means we did not copy any data and the kernel continues with
> an uninitialized buffer, right? The problem may be the definition of
>
> struct kib_immediate_msg {
> struct lnet_hdr ibim_hdr; /* portals header */
> char ibim_payload[0]; /* piggy-backed payload */
> } WIRE_ATTR;
>
> The check that Al added will try to ensure that we don't write
> beyond the size of the ibim_payload[] array, which unfortunately
> is defined as a zero-byte array, so I can see why it will now
> fail. However, it's already broken in mainline now, with or without
> my patch.
>
> Are you able to come up with a fix that avoids the warning in
> 'allmodconfig' and makes the function do something reasonable
> again?
Might make sense to try and use valid C99 for "array of indefinite
size as the last member", i.e.
struct kib_immediate_msg {
struct lnet_hdr ibim_hdr; /* portals header */
char ibim_payload[]; /* piggy-backed payload */
} WIRE_ATTR;
Zero-sized array as the last member is gcc hack predating that;
looks like gcc gets confused into deciding that it knows the distance
from the end of object...
Said that, are we really guaranteed the IBLND_MSG_SIZE bytes
in there?
next prev parent reply other threads:[~2017-07-14 1:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-10 13:08 [PATCH] lustre: check copy_from_iter/copy_to_iter return code Arnd Bergmann
2017-07-13 17:07 ` James Simmons
2017-07-13 20:57 ` Arnd Bergmann
2017-07-14 1:50 ` Al Viro [this message]
2017-07-15 14:40 ` James Simmons
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=20170714015034.GE13102@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=andreas.dilger@intel.com \
--cc=arnd@arndb.de \
--cc=devel@driverdev.osuosl.org \
--cc=dmitry.eremin@intel.com \
--cc=doug.s.oucharek@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=jsimmons@infradead.org \
--cc=liang.zhen@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lustre-devel@lists.lustre.org \
--cc=nicholasjhanley@gmail.com \
--cc=oleg.drokin@intel.com \
--cc=stable@vger.kernel.org \
/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