Messages in this thread | | | Subject | Re: [PATCH 1/1] tty: fix up atime/mtime mess, take four | From | Raymond Jennings <> | Date | Fri, 06 Mar 2015 05:16:14 -0800 |
| |
On Fri, 2015-02-27 at 18:40 +0100, Jiri Slaby wrote: > So check the absolute difference of times and if it large than "8 > seconds or so", always update the time. That means we will update > immediatelly when changing time. Ergo, CAP_SYS_TIME can foul the > check, but it was always that way.
If I may ask, what is supposed to happen normally when you write to a tty device? I always thought the tty device was treated just like a normal file wrt. timestamps.
Now I see a patch for 8 seconds something. > > Thanks John for serving me this so nicely debugged. > > Signed-off-by: Jiri Slaby <jslaby@suse.cz> > Reported-by: John Paul Perry <john_paul.perry@alcatel-lucent.com> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: <stable@vger.kernel.org> # all, as b0b885657 was backported > Cc: Linus Torvalds <torvalds@linux-foundation.org> > --- > drivers/tty/tty_io.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c > index e07f35e14fa2..e31b18a6d576 100644 > --- a/drivers/tty/tty_io.c > +++ b/drivers/tty/tty_io.c > @@ -1032,8 +1032,8 @@ EXPORT_SYMBOL(start_tty); > /* We limit tty time update visibility to every 8 seconds or so. */ > static void tty_update_time(struct timespec *time) > { > - unsigned long sec = get_seconds() & ~7; > - if ((long)(sec - time->tv_sec) > 0) > + unsigned long sec = get_seconds(); > + if (abs(sec - time->tv_sec) & ~7) > time->tv_sec = sec; > } >
| |