y2038: move itimer reset into itimer.c

Preparing for a change to the itimer internals, stop using the
do_setitimer() symbol and instead use a new higher-level interface.

The do_getitimer()/do_setitimer functions can now be made static,
allowing the compiler to potentially produce better object code.

Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2019-10-25 21:37:43 +02:00
parent 4c22ea2b91
commit ddbc7d0657
3 changed files with 21 additions and 13 deletions

View file

@ -73,7 +73,7 @@ static void get_cpu_itimer(struct task_struct *tsk, unsigned int clock_id,
value->it_interval = ns_to_timeval(interval);
}
int do_getitimer(int which, struct itimerval *value)
static int do_getitimer(int which, struct itimerval *value)
{
struct task_struct *tsk = current;
@ -197,7 +197,7 @@ static void set_cpu_itimer(struct task_struct *tsk, unsigned int clock_id,
#define timeval_valid(t) \
(((t)->tv_sec >= 0) && (((unsigned long) (t)->tv_usec) < USEC_PER_SEC))
int do_setitimer(int which, struct itimerval *value, struct itimerval *ovalue)
static int do_setitimer(int which, struct itimerval *value, struct itimerval *ovalue)
{
struct task_struct *tsk = current;
struct hrtimer *timer;
@ -249,6 +249,17 @@ again:
return 0;
}
#ifdef CONFIG_SECURITY_SELINUX
void clear_itimer(void)
{
struct itimerval v = {};
int i;
for (i = 0; i < 3; i++)
do_setitimer(i, &v, NULL);
}
#endif
#ifdef __ARCH_WANT_SYS_ALARM
/**