Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: [PATCH] Use early clobber in semaphores [PATCH] Define vsyscall cache as blob to make clearer that user space shouldn't use it [PATCH] Re-positioning the bss segment [PATCH] Use ARRAY_SIZE in setup.c [PATCH] i386: replace intermediate array-size definitions with ARRAY_SIZE() [PATCH] x86: Clean up x86 NMI sysctls [PATCH] Refactor some duplicated code in mpparse.c [PATCH] Document iommu=panic [PATCH] Fix broken indentation in iommu_setup [PATCH] Allow disabling DAC using command line options [PATCH] Add proper sparse __user casts to __copy_to_user_inatomic [PATCH] i386: Update defconfig [PATCH] Update defconfig
This commit is contained in:
@@ -36,4 +36,10 @@ extern unsigned int nmi_watchdog;
|
||||
#define NMI_LOCAL_APIC 2
|
||||
#define NMI_INVALID 3
|
||||
|
||||
struct ctl_table;
|
||||
struct file;
|
||||
extern int proc_nmi_enabled(struct ctl_table *, int , struct file *,
|
||||
void __user *, size_t *, loff_t *);
|
||||
extern int unknown_nmi_panic;
|
||||
|
||||
#endif /* ASM_NMI_H */
|
||||
|
||||
@@ -70,4 +70,11 @@ extern unsigned int nmi_watchdog;
|
||||
#define NMI_LOCAL_APIC 2
|
||||
#define NMI_INVALID 3
|
||||
|
||||
struct ctl_table;
|
||||
struct file;
|
||||
extern int proc_nmi_enabled(struct ctl_table *, int , struct file *,
|
||||
void __user *, size_t *, loff_t *);
|
||||
|
||||
extern int unknown_nmi_panic;
|
||||
|
||||
#endif /* ASM_NMI_H */
|
||||
|
||||
@@ -132,7 +132,7 @@ static inline int down_interruptible(struct semaphore * sem)
|
||||
"jns 2f\n\t"
|
||||
"call __down_failed_interruptible\n"
|
||||
"2:\n"
|
||||
:"=a" (result), "=m" (sem->count)
|
||||
:"=&a" (result), "=m" (sem->count)
|
||||
:"D" (sem)
|
||||
:"memory");
|
||||
return result;
|
||||
@@ -153,7 +153,7 @@ static inline int down_trylock(struct semaphore * sem)
|
||||
"jns 2f\n\t"
|
||||
"call __down_failed_trylock\n\t"
|
||||
"2:\n"
|
||||
:"=a" (result), "=m" (sem->count)
|
||||
:"=&a" (result), "=m" (sem->count)
|
||||
:"D" (sem)
|
||||
:"memory","cc");
|
||||
return result;
|
||||
|
||||
@@ -361,6 +361,11 @@ __must_check unsigned long clear_user(void __user *mem, unsigned long len);
|
||||
__must_check unsigned long __clear_user(void __user *mem, unsigned long len);
|
||||
|
||||
__must_check long __copy_from_user_inatomic(void *dst, const void __user *src, unsigned size);
|
||||
#define __copy_to_user_inatomic copy_user_generic
|
||||
|
||||
static __must_check __always_inline int
|
||||
__copy_to_user_inatomic(void __user *dst, const void *src, unsigned size)
|
||||
{
|
||||
return copy_user_generic((__force void *)dst, src, size);
|
||||
}
|
||||
|
||||
#endif /* __X86_64_UACCESS_H */
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
#ifndef _LINUX_GETCPU_H
|
||||
#define _LINUX_GETCPU_H 1
|
||||
|
||||
/* Cache for getcpu() to speed it up. Results might be upto a jiffie
|
||||
/* Cache for getcpu() to speed it up. Results might be a short time
|
||||
out of date, but will be faster.
|
||||
|
||||
User programs should not refer to the contents of this structure.
|
||||
It is only a cache for vgetcpu(). It might change in future kernels.
|
||||
I repeat they should not refer to it. If they do they will break
|
||||
in future kernels.
|
||||
|
||||
It is only a private cache for vgetcpu(). It will change in future kernels.
|
||||
The user program must store this information per thread (__thread)
|
||||
If you want 100% accurate information pass NULL instead. */
|
||||
struct getcpu_cache {
|
||||
unsigned long t0;
|
||||
unsigned long t1;
|
||||
unsigned long res[4];
|
||||
unsigned long blob[128 / sizeof(long)];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user