On Saturday 16 May 2015 00:46:44 Thomas Gleixner wrote:
On Wed, 6 May 2015, Arnd Bergmann wrote:
+SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops,
unsigned, nsops,const struct __kernel_timespec __user *, timeout)+{
unsigned long jiffies_left = 0;if (timeout) {struct timespec64 _timeout;if (get_timespec64(&_timeout, timeout))Moo. I had to look 3 times to get not confused by the extra underscore. What's wrong with a proper variable name which is easy to distinguish?
return -EFAULT;
if (_timeout.tv_sec < 0 || _timeout.tv_nsec < 0 ||_timeout.tv_nsec >= 1000000000L)return -EINVAL;We have proper helper functions to validate time specs.
I tried to change the existing code as little as possible, but I agree with your points here. I'll add a cleanup patch to fix the current code before my own patches.
Arnd