--- rtc.c~ 2006-02-14 02:31:51.000000000 +0100 +++ rtc.c 2006-02-14 02:32:48.000000000 +0100 @@ -478,6 +478,9 @@ unsigned char hrs, min, sec; struct rtc_time alm_tm; + if (!capable(CAP_SYS_TIME)) + return -EACCES; + if (copy_from_user(&alm_tm, (struct rtc_time __user *)arg, sizeof(struct rtc_time))) return -EFAULT;