git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
include
/
asm-sparc64
/
compat.h
diff --git
a/include/asm-sparc64/compat.h
b/include/asm-sparc64/compat.h
index
22f5805
..
36511ca
100644
(file)
--- a/
include/asm-sparc64/compat.h
+++ b/
include/asm-sparc64/compat.h
@@
-12,8
+12,10
@@
typedef s32 compat_ssize_t;
typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef s32 compat_pid_t;
typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef s32 compat_pid_t;
-typedef u16 compat_uid_t;
-typedef u16 compat_gid_t;
+typedef u16 __compat_uid_t;
+typedef u16 __compat_gid_t;
+typedef u32 __compat_uid32_t;
+typedef u32 __compat_gid32_t;
typedef u16 compat_mode_t;
typedef u32 compat_ino_t;
typedef u16 compat_dev_t;
typedef u16 compat_mode_t;
typedef u32 compat_ino_t;
typedef u16 compat_dev_t;
@@
-25,6
+27,7
@@
typedef s32 compat_daddr_t;
typedef u32 compat_caddr_t;
typedef __kernel_fsid_t compat_fsid_t;
typedef s32 compat_key_t;
typedef u32 compat_caddr_t;
typedef __kernel_fsid_t compat_fsid_t;
typedef s32 compat_key_t;
+typedef s32 compat_timer_t;
typedef s32 compat_int_t;
typedef s32 compat_long_t;
typedef s32 compat_int_t;
typedef s32 compat_long_t;
@@
-46,8
+49,8
@@
struct compat_stat {
compat_ino_t st_ino;
compat_mode_t st_mode;
compat_nlink_t st_nlink;
compat_ino_t st_ino;
compat_mode_t st_mode;
compat_nlink_t st_nlink;
-
compat_uid_t
st_uid;
-
compat_gid_t
st_gid;
+
__compat_uid_t
st_uid;
+
__compat_gid_t
st_gid;
compat_dev_t st_rdev;
compat_off_t st_size;
compat_time_t st_atime;
compat_dev_t st_rdev;
compat_off_t st_size;
compat_time_t st_atime;
@@
-161,7
+164,7
@@
static inline compat_uptr_t ptr_to_compat(void __user *uptr)
return (u32)(unsigned long)uptr;
}
return (u32)(unsigned long)uptr;
}
-static
__inline__
void __user *compat_alloc_user_space(long len)
+static
inline
void __user *compat_alloc_user_space(long len)
{
struct pt_regs *regs = current_thread_info()->kregs;
unsigned long usp = regs->u_regs[UREG_I6];
{
struct pt_regs *regs = current_thread_info()->kregs;
unsigned long usp = regs->u_regs[UREG_I6];
@@
-171,15
+174,18
@@
static __inline__ void __user *compat_alloc_user_space(long len)
else
usp &= 0xffffffffUL;
else
usp &= 0xffffffffUL;
- return (void __user *) (usp - len);
+ usp -= len;
+ usp &= ~0x7UL;
+
+ return (void __user *) usp;
}
struct compat_ipc64_perm {
compat_key_t key;
}
struct compat_ipc64_perm {
compat_key_t key;
- __
kernel_uid
_t uid;
- __
kernel_gid
_t gid;
- __
kernel_uid
_t cuid;
- __
kernel_gid
_t cgid;
+ __
compat_uid32
_t uid;
+ __
compat_gid32
_t gid;
+ __
compat_uid32
_t cuid;
+ __
compat_gid32
_t cgid;
unsigned short __pad1;
compat_mode_t mode;
unsigned short __pad2;
unsigned short __pad1;
compat_mode_t mode;
unsigned short __pad2;