diff options
| author | Steve French <sfrench@us.ibm.com> | 2007-11-25 04:53:27 -0500 | 
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2007-11-25 04:53:27 -0500 | 
| commit | 058250a0d5886b4d96a195ecc7e3a75e2df5e4b1 (patch) | |
| tree | fb67e8f5258c6aa11d4e8c39650e23de7556b38d /kernel/sys.c | |
| parent | cea218054ad277d6c126890213afde07b4eb1602 (diff) | |
| parent | 2ffbb8377c7a0713baf6644e285adc27a5654582 (diff) | |
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'kernel/sys.c')
| -rw-r--r-- | kernel/sys.c | 20 | 
1 files changed, 1 insertions, 19 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 | ||
