lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <7fcc02550908231518m1d35a0c6kd4397b974ac65747@mail.gmail.com>
Date:	Sun, 23 Aug 2009 17:18:02 -0500
From:	Lin Tan <tammy000@...il.com>
To:	linux-kernel@...r.kernel.org
Subject: kernel/posix-timer.c: Forgot to disable interrupts in 
	sys_timer_settime()?

Hi,

Did we forget to disable interrupts before calling
posix_cpu_timer_set() in the system call function sys_timer_settime()
(in code literally as SYSCALL_DEFINE4(timer_settime, ...) as shown
below)? The CLOCK_DISPATCH macro invokes posix_cpu_timer_set(), which
requires interrupts to be disabled upon entry of calling. When
posix_cpu_timer_set() was called from other functions such as
do_cpu_nanosleep(), interrupts are disabled.


SYSCALL_DEFINE4(timer_settime, timer_t, timer_id, int, flags,
 769                const struct itimerspec __user *, new_setting,
 770                struct itimerspec __user *, old_setting)
 771{
    ...
 792        error = CLOCK_DISPATCH(timr->it_clock, timer_set,
 793                               (timr, flags, &new_spec, rtn)); //
this MACRO invokes posix_cpu_timer_set()
 ...
}


In addition, its block comments also state that we must disable
interrupts before calling it (in posix-cpu-timers.c):

/*
 712 * ...
 713 * This is called with the timer locked and interrupts disabled.
 714 *
 ...
 716 */
 717int posix_cpu_timer_set(struct k_itimer *timer, int flags,
 718                        struct itimerspec *new, struct itimerspec *old)
 719{
  ...
}

Thanks,
Lin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ