mirror of
https://github.com/raspberrypi/linux.git
synced 2026-01-02 15:53:42 +00:00
Merge tag 'timers-urgent-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fixes from Ingo Molnar: "Misc timer fixes: - fix a potential use-after-free bug in posix timers - correct a prototype - address a build warning" * tag 'timers-urgent-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: posix-cpu-timers: Cleanup CPU timers before freeing them during exec time: Correct the prototype of ns_to_kernel_old_timeval and ns_to_timespec64 posix-timers: Make do_clock_gettime() static
This commit is contained in:
@@ -1304,6 +1304,9 @@ int begin_new_exec(struct linux_binprm * bprm)
|
||||
bprm->mm = NULL;
|
||||
|
||||
#ifdef CONFIG_POSIX_TIMERS
|
||||
spin_lock_irq(&me->sighand->siglock);
|
||||
posix_cpu_timers_exit(me);
|
||||
spin_unlock_irq(&me->sighand->siglock);
|
||||
exit_itimers(me);
|
||||
flush_itimer_signals();
|
||||
#endif
|
||||
|
||||
@@ -145,7 +145,7 @@ static inline s64 timespec64_to_ns(const struct timespec64 *ts)
|
||||
*
|
||||
* Returns the timespec64 representation of the nsec parameter.
|
||||
*/
|
||||
extern struct timespec64 ns_to_timespec64(const s64 nsec);
|
||||
extern struct timespec64 ns_to_timespec64(s64 nsec);
|
||||
|
||||
/**
|
||||
* timespec64_add_ns - Adds nanoseconds to a timespec64
|
||||
|
||||
@@ -70,7 +70,7 @@ SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,
|
||||
return do_sys_settimeofday64(&new_tp, NULL);
|
||||
}
|
||||
|
||||
int do_clock_gettime(clockid_t which_clock, struct timespec64 *tp)
|
||||
static int do_clock_gettime(clockid_t which_clock, struct timespec64 *tp)
|
||||
{
|
||||
switch (which_clock) {
|
||||
case CLOCK_REALTIME:
|
||||
@@ -90,6 +90,7 @@ int do_clock_gettime(clockid_t which_clock, struct timespec64 *tp)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYSCALL_DEFINE2(clock_gettime, const clockid_t, which_clock,
|
||||
struct __kernel_timespec __user *, tp)
|
||||
{
|
||||
|
||||
@@ -449,7 +449,7 @@ time64_t mktime64(const unsigned int year0, const unsigned int mon0,
|
||||
}
|
||||
EXPORT_SYMBOL(mktime64);
|
||||
|
||||
struct __kernel_old_timeval ns_to_kernel_old_timeval(const s64 nsec)
|
||||
struct __kernel_old_timeval ns_to_kernel_old_timeval(s64 nsec)
|
||||
{
|
||||
struct timespec64 ts = ns_to_timespec64(nsec);
|
||||
struct __kernel_old_timeval tv;
|
||||
@@ -503,7 +503,7 @@ EXPORT_SYMBOL(set_normalized_timespec64);
|
||||
*
|
||||
* Returns the timespec64 representation of the nsec parameter.
|
||||
*/
|
||||
struct timespec64 ns_to_timespec64(const s64 nsec)
|
||||
struct timespec64 ns_to_timespec64(s64 nsec)
|
||||
{
|
||||
struct timespec64 ts = { 0, 0 };
|
||||
s32 rem;
|
||||
|
||||
Reference in New Issue
Block a user