Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fixes from Thomas Gleixner: "As you requested in the rc2 release mail the timer department serves you a few real bug fixes: - Fix the probe logic of the architected arm/arm64 timer - Plug a stack info leak in posix-timers - Prevent a shift out of bounds issue in the clockevents core" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: ARM/ARM64: arch-timer: fix arch_timer_probed logic clockevents: Prevent shift out of bounds posix-timers: Fix stack info leak in timer_create()
This commit is contained in:
commit
0f4b06766b
|
@ -660,11 +660,11 @@ static bool __init
|
|||
arch_timer_probed(int type, const struct of_device_id *matches)
|
||||
{
|
||||
struct device_node *dn;
|
||||
bool probed = false;
|
||||
bool probed = true;
|
||||
|
||||
dn = of_find_matching_node(NULL, matches);
|
||||
if (dn && of_device_is_available(dn) && (arch_timers_present & type))
|
||||
probed = true;
|
||||
if (dn && of_device_is_available(dn) && !(arch_timers_present & type))
|
||||
probed = false;
|
||||
of_node_put(dn);
|
||||
|
||||
return probed;
|
||||
|
|
|
@ -72,7 +72,7 @@ static u64 cev_delta2ns(unsigned long latch, struct clock_event_device *evt,
|
|||
* Also omit the add if it would overflow the u64 boundary.
|
||||
*/
|
||||
if ((~0ULL - clc > rnd) &&
|
||||
(!ismax || evt->mult <= (1U << evt->shift)))
|
||||
(!ismax || evt->mult <= (1ULL << evt->shift)))
|
||||
clc += rnd;
|
||||
|
||||
do_div(clc, evt->mult);
|
||||
|
|
|
@ -636,6 +636,7 @@ SYSCALL_DEFINE3(timer_create, const clockid_t, which_clock,
|
|||
goto out;
|
||||
}
|
||||
} else {
|
||||
memset(&event.sigev_value, 0, sizeof(event.sigev_value));
|
||||
event.sigev_notify = SIGEV_SIGNAL;
|
||||
event.sigev_signo = SIGALRM;
|
||||
event.sigev_value.sival_int = new_timer->it_id;
|
||||
|
|
Loading…
Reference in New Issue