linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Marshall <hubcap@omnibond.com>
To: Al Viro <viro@zeniv.linux.org.uk>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-next@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: linux-next: build failure after merge of the vfs tree
Date: Thu, 10 Dec 2015 10:44:02 -0500	[thread overview]
Message-ID: <CAOg9mSQDR4cS5tTTiPigjLi1o9g0L9rAanUsk0pFPQ22_hGFmA@mail.gmail.com> (raw)
In-Reply-To: <20151210004851.GB20997@ZenIV.linux.org.uk>

 > Said that, there is an unpleasant bug in that area - link_target of a live
 > inode can be overwritten, right under the pathname resolution walking the
 > old contents of that thing

Figuring that out is on the list. This week I've been working on cleaning up
orangefs_devreq_writev, and Martin even has a version that changes
the protocol where userspace uses write instead of writev, getting rid
of the 4-or-5 iovec scheme Al hates. If he still hates it after the code
is readable, we'll probably go that direction...

And we have an infant fuzzer that we've already crashed the kernel with (and
made an easy and good fix, I think).

And also this week I have tried to address Linus' concerns about our
old fashioned waiting scheme where we used add_wait_queue and
set_current_state instead of the wait_event() model.

Yi Liu who is also working with us on this project has provided a patch
that changes all the pvfs2 occurrences to orangefs.

These patches will be in our kernel.org tree very soon I hope,
but we won't be done yet...

-Mike "you're never done..."

On Wed, Dec 9, 2015 at 7:48 PM, Al Viro <viro@zeniv.linux.org.uk> wrote:
> On Thu, Dec 10, 2015 at 11:23:22AM +1100, Stephen Rothwell wrote:
>> [Just adding the origefs maintainer to the cc list]
>> > -static const char *pvfs2_follow_link(struct dentry *dentry, void **cookie)
>> > +static const char *pvfs2_get_link(struct dentry *dentry, struct inode *inode,
>> > +                             void **cookie)
>> >  {
>> > -   char *target =  PVFS2_I(dentry->d_inode)->link_target;
>
> Better fix is to have inode->link = PVFS2_I(dentry->d_inode)->link_target;
> when we set the latter and use .get_link = simple_get_link...
>
> Said that, there is an unpleasant bug in that area - link_target of a live
> inode can be overwritten, right under the pathname resolution walking the
> old contents of that thing.
>
> copy_attributes_to_inode() is triggered by ->d_revalidate() and by ->getattr()
> and it's really, really unsafe for a live inode.  Just look what it does
> to ->i_mode...  Sure, normally a server won't return different symlink bodies
> on subsequent getattr requests.  As long as it's sane (and not compromised,
> etc.), but relying upon that is not a good idea.

  reply	other threads:[~2015-12-10 15:44 UTC|newest]

Thread overview: 138+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-10  0:18 linux-next: build failure after merge of the vfs tree Stephen Rothwell
2015-12-10  0:23 ` Stephen Rothwell
2015-12-10  0:48   ` Al Viro
2015-12-10 15:44     ` Mike Marshall [this message]
2015-12-21  0:23 ` Stephen Rothwell
2016-01-07  0:42   ` Stephen Rothwell
2016-01-07  2:09     ` Al Viro
  -- strict thread matches above, loose matches on Subject: below --
2021-01-04 22:36 Stephen Rothwell
2021-01-04 23:28 ` Al Viro
2020-10-27  4:14 Stephen Rothwell
2020-10-27  4:59 ` Al Viro
2020-11-10 19:00   ` Al Viro
2020-11-10 21:24     ` Stephen Rothwell
2020-09-28  1:31 Stephen Rothwell
2020-09-28  6:05 ` Christoph Hellwig
2020-09-24  8:30 Stephen Rothwell
2020-09-24 20:08 ` Al Viro
2020-09-25 12:01   ` Stephen Rothwell
2020-09-25 13:38     ` Al Viro
2020-09-29  4:10       ` Josh Poimboeuf
2020-10-06 14:30         ` Josh Poimboeuf
2020-10-06 21:04           ` Stephen Rothwell
2020-10-07 15:46             ` Josh Poimboeuf
2020-07-29  1:56 Stephen Rothwell
2020-07-29  6:33 ` Christoph Hellwig
2020-07-29 19:19   ` Al Viro
2020-07-27 12:06 Stephen Rothwell
2020-05-07  0:39 Stephen Rothwell
2020-05-07  2:35 ` Al Viro
2020-05-07 15:07   ` Jens Axboe
2020-01-10  6:57 Stephen Rothwell
2020-01-10 10:00 ` Carlos Maiolino
2020-01-10 11:03 ` Carlos Maiolino
2020-01-10 22:44   ` Stephen Rothwell
2020-01-13  9:28     ` Carlos Maiolino
2020-01-24  2:41 ` Stephen Rothwell
2020-01-29 22:40   ` Stephen Rothwell
2019-01-02  4:01 Stephen Rothwell
2019-01-30  3:45 ` Stephen Rothwell
2018-10-03  0:32 Stephen Rothwell
2018-10-16  0:17 ` Stephen Rothwell
2018-10-16 16:37   ` Jaegeuk Kim
2018-10-16 20:45     ` Stephen Rothwell
2018-09-10  3:59 Stephen Rothwell
2018-09-10  3:35 Stephen Rothwell
2018-09-18 21:38 ` Stephen Rothwell
2018-09-18 22:17 ` David Howells
2018-09-18 23:49   ` Stephen Rothwell
2018-09-19  7:17     ` Geert Uytterhoeven
2018-09-19  6:01   ` David Howells
2018-09-19  6:31     ` Stephen Rothwell
2018-09-20 10:48       ` Michael Ellerman
2018-09-20 16:20       ` David Howells
2018-09-20 10:44   ` Michael Ellerman
2018-10-29  4:33 ` Stephen Rothwell
2018-10-29  9:07   ` Stephen Rothwell
2018-10-29  9:21   ` David Howells
2018-10-29 10:29     ` Stephen Rothwell
2018-09-06  2:28 Stephen Rothwell
2018-08-07 10:58 Stephen Rothwell
2018-08-07  1:11 Stephen Rothwell
2018-08-06  0:37 Stephen Rothwell
2018-08-06 12:24 ` Stephen Rothwell
2018-08-07  0:59   ` Stephen Rothwell
2018-08-07  2:20     ` Masahiro Yamada
2018-06-19  1:47 Stephen Rothwell
2018-03-19  6:06 Stephen Rothwell
2018-03-19 19:56 ` Mateusz Guzik
2018-04-03  2:26 ` Stephen Rothwell
2018-04-08  2:19   ` Al Viro
2018-04-08  2:55     ` Stephen Rothwell
2017-12-03 23:16 Stephen Rothwell
2017-07-11  0:55 Stephen Rothwell
2017-07-11  9:21 ` David Howells
2017-07-10  2:15 Stephen Rothwell
2017-07-10  2:34 ` Al Viro
2017-02-27  0:27 Stephen Rothwell
2017-02-27  8:31 ` David Howells
2016-07-29  1:19 Stephen Rothwell
2016-07-29  4:18 ` Al Viro
2016-05-02  1:25 Stephen Rothwell
2016-05-02  1:31 ` Al Viro
2016-05-02  4:48   ` Abhijith Das
2015-12-09  5:58 Stephen Rothwell
2015-12-09  1:19 Stephen Rothwell
2015-12-09 21:30 ` Mike Marshall
2015-12-09 22:20   ` Stephen Rothwell
2015-12-09 22:53     ` Andreas Grünbacher
2015-12-07 22:42 Stephen Rothwell
2015-05-11  1:26 Stephen Rothwell
2015-05-13  2:26 ` Stephen Rothwell
2015-03-13  1:02 Stephen Rothwell
2015-03-24  3:24 ` Stephen Rothwell
2015-03-24 10:44   ` Christoph Hellwig
2014-12-10  7:45 Stephen Rothwell
2014-12-11  2:32 ` Al Viro
2014-04-22  1:26 Stephen Rothwell
2014-04-23  0:33 ` Stephen Rothwell
2013-11-07  0:30 Stephen Rothwell
2013-09-09  2:33 Stephen Rothwell
2013-09-09  8:54 ` Ian Kent
2013-06-24  1:35 Stephen Rothwell
2013-06-24  9:34 ` Al Viro
2013-05-01  2:22 Stephen Rothwell
2013-05-01 13:13 ` J. Bruce Fields
2013-04-08  1:15 Stephen Rothwell
2013-04-09 15:49 ` Stephen Rothwell
2013-04-03  0:22 Stephen Rothwell
2013-04-03  1:14 ` Al Viro
2013-04-02  0:26 Stephen Rothwell
2013-04-02  0:39 ` Al Viro
2012-07-16  0:59 Stephen Rothwell
2012-05-31  0:51 Stephen Rothwell
2012-05-31  1:02 ` Al Viro
2012-01-03  1:43 Stephen Rothwell
2012-01-03 13:39 ` Jan Kara
2012-01-03 14:45   ` Al Viro
2012-01-04  2:17     ` Al Viro
2012-01-04  2:50       ` Dave Chinner
2012-01-04 18:00         ` Jan Kara
2012-01-04 18:47           ` Christoph Hellwig
2012-01-04 22:26             ` Jan Kara
2011-12-22  0:15 Stephen Rothwell
2011-12-20  0:31 Stephen Rothwell
2011-12-19  1:06 Stephen Rothwell
2011-12-19  1:12 ` Al Viro
2011-07-16  6:44 Stephen Rothwell
2011-07-25  3:20 ` Stephen Rothwell
2011-07-25 18:26   ` Trond Myklebust
2011-07-16  6:36 Stephen Rothwell
2010-07-19  0:25 Stephen Rothwell
2010-08-04  1:47 ` Stephen Rothwell
2010-07-12  2:24 Stephen Rothwell
2010-07-12  5:31 ` Ryusuke Konishi
2010-06-22  1:22 Stephen Rothwell
2010-08-04  1:50 ` Stephen Rothwell
2010-05-28  1:45 Stephen Rothwell
2010-05-28  1:51 ` Al Viro

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=CAOg9mSQDR4cS5tTTiPigjLi1o9g0L9rAanUsk0pFPQ22_hGFmA@mail.gmail.com \
    --to=hubcap@omnibond.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=sfr@canb.auug.org.au \
    --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 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).