[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CABeXuvqk1npq6ROEyF6O-uedkM1OV-zyfeAUcj3yeS-WP6GMQg@mail.gmail.com>
Date: Mon, 26 Mar 2018 21:43:03 -0700
From: Deepa Dinamani <deepa.kernel@...il.com>
To: Matthew Wilcox <willy@...radead.org>
Cc: Arnd Bergmann <arnd@...db.de>, Jeff Moyer <jmoyer@...hat.com>,
"Leizhen (ThunderTown)" <thunder.leizhen@...wei.com>,
Alexander Viro <viro@...iv.linux.org.uk>,
Benjamin LaHaise <bcrl@...ck.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
linux-aio <linux-aio@...ck.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Tianhong Ding <dingtianhong@...wei.com>,
Hanjun Guo <guohanjun@...wei.com>,
Libin <huawei.libin@...wei.com>,
Kefeng Wang <wangkefeng.wang@...wei.com>
Subject: Re: [PATCH 1/1] aio: make sure the input "timeout" value is valid
On Mon, Mar 26, 2018 at 2:55 PM, Matthew Wilcox <willy@...radead.org> wrote:
> On Mon, Mar 26, 2018 at 10:01:30PM +0200, Arnd Bergmann wrote:
>> I had suggested a more complete helper function at some point,
>> to take care of all combinations of checking/non-checking, 32/64
>> bit, microsecond/nanosecond, and zeroing/checking the upper 32 bits
>> of nanoseconds before comparing against 1 billion, but Deepa
>> thought that was overkill, so I didn't continue that.
>
> Yeah, that sounds like a nightmare to use ;-)
>
>> For all I can tell, the get_timespec64() helper should almost always
>> include the check, the one exception I know is utimensat() and related
>> functions that may encode the special UTIME_NOW and UTIME_OMIT
>> constants in the nanoseconds.
>
> So do you endorse the get_valid_timespec64() patch I posted up-thread?
> We can't just make get_timespec64 return an errno directly because it'll
> require changing all the users.
I missed this thread earlier.
I had leaned away from this idea before, because of the special cases
which don't need it. I was also trying to keep the syntax close to
copy_from_user(), which is what was there before.
We could probably just change all the
get_timespec64()/compat_get_timespec64() to do the check using a
simple coccinelle script.
I can own this.
But, this would not be needed if Arnd is posting the other helper function.
Arnd, let me know what you prefer here.
-Deepa
Powered by blists - more mailing lists