On 20 May 2015 at 20:40, Arnd Bergmann arnd@linaro.org wrote:
On Tuesday 19 May 2015 20:50:04 Baolin Wang wrote:
@@ -1248,6 +1249,8 @@ static int do_cpu_nanosleep(const clockid_t
which_clock, int flags,
struct timespec *rqtp, struct itimerspec *it)
{ struct k_itimer timer;
struct timespec64 ts64;
struct itimerspec64 *it64; int error; /*
@@ -1260,13 +1263,14 @@ static int do_cpu_nanosleep(const clockid_t
which_clock, int flags,
error = posix_cpu_timer_create(&timer); timer.it_process = current; if (!error) {
static struct itimerspec zero_it;
static struct itimerspec64 zero_it; memset(it, 0, sizeof *it); it->it_value = *rqtp; spin_lock_irq(&timer.it_lock);
error = posix_cpu_timer_set(&timer, flags, it, NULL);
*it64 = itimerspec_to_itimerspec64(it);
error = posix_cpu_timer_set(&timer, flags, it64, NULL); if (error) { spin_unlock_irq(&timer.it_lock); return error;
And one more bug of this kind here.
Arnd
Another dereferencing an uninitialized pointer? I'll fix that in next patch. Thanks.