Invalid values may overflow later, leading to undefined behaviour when
multiplied by 60 to get the amount of seconds.
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
                return error;
 
        if (tz) {
+               /* Verify we're witin the +-15 hrs range */
+               if (tz->tz_minuteswest > 15*60 || tz->tz_minuteswest < -15*60)
+                       return -EINVAL;
+
                sys_tz = *tz;
                update_vsyscall_tz();
                if (firsttime) {