diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sys.c | 20 | ||||
-rw-r--r-- | kernel/time/ntp.c | 2 |
2 files changed, 2 insertions, 20 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index 304b5410d746..d1fe71eb4546 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -1750,7 +1750,7 @@ asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3, | |||
1750 | } | 1750 | } |
1751 | 1751 | ||
1752 | asmlinkage long sys_getcpu(unsigned __user *cpup, unsigned __user *nodep, | 1752 | asmlinkage long sys_getcpu(unsigned __user *cpup, unsigned __user *nodep, |
1753 | struct getcpu_cache __user *cache) | 1753 | struct getcpu_cache __user *unused) |
1754 | { | 1754 | { |
1755 | int err = 0; | 1755 | int err = 0; |
1756 | int cpu = raw_smp_processor_id(); | 1756 | int cpu = raw_smp_processor_id(); |
@@ -1758,24 +1758,6 @@ asmlinkage long sys_getcpu(unsigned __user *cpup, unsigned __user *nodep, | |||
1758 | err |= put_user(cpu, cpup); | 1758 | err |= put_user(cpu, cpup); |
1759 | if (nodep) | 1759 | if (nodep) |
1760 | err |= put_user(cpu_to_node(cpu), nodep); | 1760 | err |= put_user(cpu_to_node(cpu), nodep); |
1761 | if (cache) { | ||
1762 | /* | ||
1763 | * The cache is not needed for this implementation, | ||
1764 | * but make sure user programs pass something | ||
1765 | * valid. vsyscall implementations can instead make | ||
1766 | * good use of the cache. Only use t0 and t1 because | ||
1767 | * these are available in both 32bit and 64bit ABI (no | ||
1768 | * need for a compat_getcpu). 32bit has enough | ||
1769 | * padding | ||
1770 | */ | ||
1771 | unsigned long t0, t1; | ||
1772 | get_user(t0, &cache->blob[0]); | ||
1773 | get_user(t1, &cache->blob[1]); | ||
1774 | t0++; | ||
1775 | t1++; | ||
1776 | put_user(t0, &cache->blob[0]); | ||
1777 | put_user(t1, &cache->blob[1]); | ||
1778 | } | ||
1779 | return err ? -EFAULT : 0; | 1761 | return err ? -EFAULT : 0; |
1780 | } | 1762 | } |
1781 | 1763 | ||
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c index de6a2d6b3ebb..14a2ecf2b318 100644 --- a/kernel/time/ntp.c +++ b/kernel/time/ntp.c | |||
@@ -205,7 +205,7 @@ static void sync_cmos_clock(unsigned long dummy) | |||
205 | return; | 205 | return; |
206 | 206 | ||
207 | getnstimeofday(&now); | 207 | getnstimeofday(&now); |
208 | if (abs(xtime.tv_nsec - (NSEC_PER_SEC / 2)) <= tick_nsec / 2) | 208 | if (abs(now.tv_nsec - (NSEC_PER_SEC / 2)) <= tick_nsec / 2) |
209 | fail = update_persistent_clock(now); | 209 | fail = update_persistent_clock(now); |
210 | 210 | ||
211 | next.tv_nsec = (NSEC_PER_SEC / 2) - now.tv_nsec; | 211 | next.tv_nsec = (NSEC_PER_SEC / 2) - now.tv_nsec; |