static void posix_cpu_timer_get(struct k_itimer *timer, struct itimerspec64 *itp)
 {
+       clockid_t clkid = CPUCLOCK_WHICH(timer->it_clock);
        struct task_struct *p = timer->it.cpu.task;
        u64 now;
 
         * Sample the clock to take the difference with the expiry time.
         */
        if (CPUCLOCK_PERTHREAD(timer->it_clock)) {
-               cpu_clock_sample(timer->it_clock, p, &now);
+               cpu_clock_sample(clkid, p, &now);
        } else {
                struct sighand_struct *sighand;
                unsigned long flags;
                        timer->it.cpu.expires = 0;
                        return;
                } else {
-                       cpu_clock_sample_group(timer->it_clock, p, &now, false);
+                       cpu_clock_sample_group(clkid, p, &now, false);
                        unlock_task_sighand(p, &flags);
                }
        }