[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49934b3d13263360fbf26bc56de2914db0b3513a.camel@kernel.org>
Date: Thu, 17 May 2018 14:55:36 -0400
From: Jeff Layton <jlayton@...nel.org>
To: Matthew Wilcox <willy@...radead.org>
Cc: viro@...iv.linux.org.uk, jack@...e.com,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
lurodriguez@...e.de
Subject: Re: [PATCH v2] vfs: avoid dereferencing pointers in iterate_supers
callbacks
On Thu, 2018-05-17 at 11:26 -0700, Matthew Wilcox wrote:
> On Thu, May 17, 2018 at 01:43:36PM -0400, Jeff Layton wrote:
> > @@ -107,12 +109,10 @@ static void fdatawait_one_bdev(struct block_device *bdev, void *arg)
> > */
> > void ksys_sync(void)
> > {
> > - int nowait = 0, wait = 1;
> > -
> > wakeup_flusher_threads(WB_REASON_SYNC);
> > iterate_supers(sync_inodes_one_sb, NULL);
> > - iterate_supers(sync_fs_one_sb, &nowait);
> > - iterate_supers(sync_fs_one_sb, &wait);
> > + iterate_supers(sync_fs_one_sb, NULL);
> > + iterate_supers(sync_fs_one_sb, (void *)1UL);
>
> I think this is actually less clear. How about:
>
> void *wait = (void *)1UL;
>
> iterate_supers(sync_fs_one_sb, !wait);
> iterate_supers(sync_fs_one_sb, wait);
>
Sure, I could do that. We could also keep the wait/nowait vars too, I
guess.
Powered by blists - more mailing lists