public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Deepa Dinamani <deepa.kernel@gmail.com>
To: tglx@linutronix.de, viro@zeniv.linux.org.uk,
	linux-kernel@vger.kernel.org
Cc: john.stultz@linaro.org, nicolas.pitre@linaro.org, arnd@arndb.de,
	y2038@lists.linaro.org, linux-fsdevel@vger.kernel.org
Subject: [PATCH 0/8] Isolate time_t data types for clock/timer syscalls
Date: Sun, 18 Jun 2017 23:45:07 -0700	[thread overview]
Message-ID: <20170619064515.922-1-deepa.kernel@gmail.com> (raw)

The series aims at isolating data conversions of time_t based structures:
struct timespec and struct itimerspec at user space boundaries.
This helps to later change the underlying types to handle y2038 changes
to these.

The series is an update to Arnd Bergmann's previous series:
http://sourceware.org/ml/libc-alpha/2015-05/msg00070.html

The series particularly aims at changing kernel clock and timer interfaces.

The changes include
a. Add data conversion apis for native and compat modes.
b. Refactor nanosleep and clock_nanosleep logic:
   1. Move nanosleep and its compat version to a new file nanosleep.c.
      Alternatively, these can be moved into hrtimer.c.
   2. Refactor common functions for nanosleep: same functions
      are used for posix timers and posix stubs.
   3. Change the posix clock callbacks to take advantage of these
      common functions.
b. Move compat syscalls to the same files as the regular syscalls.
c. Use data conversion apis in the regular and compat syscall paths.
d. Remove set_fs()/get_fs() calls in the compat syscall path and
   use the same logic as in the regular syscall path.

Deepa Dinamani (8):
  time: add get_timespec64 and put_timespec64
  nanosleep: Move native and compat syscalls
  kernel: compat: Move clock and timer compat syscalls
  nanosleep: Use get_timespec64() and set_timespec64()
  posix-timers: Use get_timepsec64() and put_timespec64()
  time: introduce {get,put}_itimerspec64
  posix_clocks: Use get_itimerspec64() and put_itimerspec64()
  timerfd: Use get_itimerspec64() and put_itimerspec64()

 fs/timerfd.c                   |  43 +++---
 include/linux/compat.h         |   6 +
 include/linux/hrtimer.h        |   5 +-
 include/linux/posix-timers.h   |   1 -
 include/linux/time.h           |  18 +++
 kernel/compat.c                | 288 ++++++++++------------------------------
 kernel/time/Makefile           |   2 +-
 kernel/time/alarmtimer.c       |  26 ++--
 kernel/time/hrtimer.c          |  34 +----
 kernel/time/nanosleep.c        | 126 ++++++++++++++++++
 kernel/time/nanosleep.h        |  19 +++
 kernel/time/posix-cpu-timers.c |  27 ++--
 kernel/time/posix-stubs.c      | 155 +++++++++++++++++-----
 kernel/time/posix-timers.c     | 292 +++++++++++++++++++++++++++++++----------
 kernel/time/posix-timers.h     |   5 +-
 kernel/time/time.c             |  58 ++++++++
 16 files changed, 694 insertions(+), 411 deletions(-)
 create mode 100644 kernel/time/nanosleep.c
 create mode 100644 kernel/time/nanosleep.h

-- 
2.11.0

             reply	other threads:[~2017-06-19  6:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-19  6:45 Deepa Dinamani [this message]
2017-06-19  6:45 ` [PATCH 1/8] time: add get_timespec64 and put_timespec64 Deepa Dinamani
2017-06-19  6:45 ` [PATCH 2/8] nanosleep: Move native and compat syscalls Deepa Dinamani
2017-06-19  6:45 ` [PATCH 3/8] kernel: compat: Move clock and timer " Deepa Dinamani
2017-06-19  6:45 ` [PATCH 4/8] nanosleep: Use get_timespec64() and set_timespec64() Deepa Dinamani
2017-06-19  6:45 ` [PATCH 5/8] posix-timers: Use get_timepsec64() and put_timespec64() Deepa Dinamani
2017-06-19  6:45 ` [PATCH 6/8] time: introduce {get,put}_itimerspec64 Deepa Dinamani
2017-06-19  6:45 ` [PATCH 7/8] posix_clocks: Use get_itimerspec64() and put_itimerspec64() Deepa Dinamani
2017-06-19  6:45 ` [PATCH 8/8] timerfd: " Deepa Dinamani
2017-06-19  7:25 ` [PATCH 0/8] Isolate time_t data types for clock/timer syscalls Al Viro
2017-06-19 19:31   ` Deepa Dinamani
2017-06-19 19:46     ` Al Viro
2017-06-19 20:52       ` Deepa Dinamani
2017-06-19 21:12         ` 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=20170619064515.922-1-deepa.kernel@gmail.com \
    --to=deepa.kernel@gmail.com \
    --cc=arnd@arndb.de \
    --cc=john.stultz@linaro.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolas.pitre@linaro.org \
    --cc=tglx@linutronix.de \
    --cc=viro@zeniv.linux.org.uk \
    --cc=y2038@lists.linaro.org \
    /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