diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2016-09-05 17:14:17 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2016-09-05 17:14:17 +0200 |
commit | cbf2f8a99a2337894c3592c9ac2170e8c1f8f73f (patch) | |
tree | c018fb3826ea8492641be62c2f3162fb67f5aa0e /kernel/time/timekeeping_debug.c | |
parent | Linux 4.8-rc3 (diff) | |
parent | x86/efi: Use efi_exit_boot_services() (diff) | |
download | linux-cbf2f8a99a2337894c3592c9ac2170e8c1f8f73f.tar.xz linux-cbf2f8a99a2337894c3592c9ac2170e8c1f8f73f.zip |
Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into efi/urgent
* Make for_each_efi_memory_desc_in_map() safe on Xen and prevent an
infinte loop - Jan Beulich
* Fix boot error on arm64 Qualcomm platforms by refactoring and
improving the ExitBootServices() hack we already for x86 and moving
it to the libstub - Jeffrey Hugo
* Use correct return data type for of_get_flat_dt_subnode_by_name()
so that we correctly handle errors - Andrzej Hajda
Diffstat (limited to 'kernel/time/timekeeping_debug.c')
-rw-r--r-- | kernel/time/timekeeping_debug.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/time/timekeeping_debug.c b/kernel/time/timekeeping_debug.c index f6bd65236712..107310a6f36f 100644 --- a/kernel/time/timekeeping_debug.c +++ b/kernel/time/timekeeping_debug.c @@ -23,7 +23,9 @@ #include "timekeeping_internal.h" -static unsigned int sleep_time_bin[32] = {0}; +#define NUM_BINS 32 + +static unsigned int sleep_time_bin[NUM_BINS] = {0}; static int tk_debug_show_sleep_time(struct seq_file *s, void *data) { @@ -69,6 +71,9 @@ late_initcall(tk_debug_sleep_time_init); void tk_debug_account_sleep_time(struct timespec64 *t) { - sleep_time_bin[fls(t->tv_sec)]++; + /* Cap bin index so we don't overflow the array */ + int bin = min(fls(t->tv_sec), NUM_BINS-1); + + sleep_time_bin[bin]++; } |