Re: [PATCH 1/1] tty: fix up atime/mtime mess, take four
From: Raymond Jennings
Date: Fri Mar 06 2015 - 08:16:20 EST
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@xxxxxxx>
> Reported-by: John Paul Perry <john_paul.perry@xxxxxxxxxxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx> # all, as b0b885657 was backported
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> ---
> 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;
> }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/