diff --git a/[refs] b/[refs] index 0d2ed2e565c3..2ad545353347 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7811fb8f400a3dbfa027d86bb583a31c66fddfc3 +refs/heads/master: 8e8505be9c0ba608cbd634faa8fba361f17d2512 diff --git a/trunk/drivers/char/hpet.c b/trunk/drivers/char/hpet.c index 8e59639fb03c..c85d11de5feb 100644 --- a/trunk/drivers/char/hpet.c +++ b/trunk/drivers/char/hpet.c @@ -500,8 +500,12 @@ hpet_ioctl_common(struct hpet_dev *devp, int cmd, unsigned long arg, int kernel) readq(&timer->hpet_config) & Tn_PER_INT_CAP_MASK; info.hi_hpet = devp->hd_hpets->hp_which; info.hi_timer = devp - devp->hd_hpets->hp_dev; - if (copy_to_user((void __user *)arg, &info, sizeof(info))) - err = -EFAULT; + if (kernel) + memcpy((void *)arg, &info, sizeof(info)); + else + if (copy_to_user((void __user *)arg, &info, + sizeof(info))) + err = -EFAULT; break; } case HPET_EPI: