Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 20234
b: refs/heads/master
c: d524c5e
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Feb 12, 2006
1 parent e695a20 commit 654b2b0
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a7122f916978a6cd58b765949cb315aabcddf151
refs/heads/master: d524c5e200486d55942fcd25b0b6e181f843f837
20 changes: 20 additions & 0 deletions trunk/arch/s390/kernel/compat_linux.c
Original file line number Diff line number Diff line change
Expand Up @@ -905,6 +905,26 @@ asmlinkage long sys32_fstat64(unsigned long fd, struct stat64_emu31 __user * sta
return ret;
}

asmlinkage long sys32_fstatat(unsigned int dfd, char __user *filename,
struct stat64_emu31 __user* statbuf, int flag)
{
struct kstat stat;
int error = -EINVAL;

if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0)
goto out;

if (flag & AT_SYMLINK_NOFOLLOW)
error = vfs_lstat_fd(dfd, filename, &stat);
else
error = vfs_stat_fd(dfd, filename, &stat);

if (!error)
error = cp_stat64(statbuf, &stat);
out:
return error;
}

/*
* Linux/i386 didn't use to be able to handle more than
* 4 system call parameters, so these system calls used a memory
Expand Down
8 changes: 4 additions & 4 deletions trunk/arch/s390/kernel/compat_wrapper.S
Original file line number Diff line number Diff line change
Expand Up @@ -1523,13 +1523,13 @@ compat_sys_futimesat_wrapper:
llgtr %r4,%r4 # struct timeval *
jg compat_sys_futimesat

.globl compat_sys_newfstatat_wrapper
compat_sys_newfstatat_wrapper:
.globl sys32_fstatat_wrapper
sys32_fstatat_wrapper:
llgfr %r2,%r2 # unsigned int
llgtr %r3,%r3 # char *
llgtr %r4,%r4 # struct stat *
llgtr %r4,%r4 # struct stat64 *
lgfr %r5,%r5 # int
jg compat_sys_newfstatat
jg sys32_fstatat

.globl sys_unlinkat_wrapper
sys_unlinkat_wrapper:
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/s390/kernel/syscalls.S
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ SYSCALL(sys_mkdirat,sys_mkdirat,sys_mkdirat_wrapper)
SYSCALL(sys_mknodat,sys_mknodat,sys_mknodat_wrapper) /* 290 */
SYSCALL(sys_fchownat,sys_fchownat,sys_fchownat_wrapper)
SYSCALL(sys_futimesat,sys_futimesat,compat_sys_futimesat_wrapper)
SYSCALL(sys_newfstatat,sys_newfstatat,compat_sys_newfstatat_wrapper)
SYSCALL(sys_fstatat64,sys_newfstatat,sys32_fstatat_wrapper)
SYSCALL(sys_unlinkat,sys_unlinkat,sys_unlinkat_wrapper)
SYSCALL(sys_renameat,sys_renameat,sys_renameat_wrapper) /* 295 */
SYSCALL(sys_linkat,sys_linkat,sys_linkat_wrapper)
Expand Down
4 changes: 3 additions & 1 deletion trunk/include/asm-s390/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@
#define __NR_mknodat 290
#define __NR_fchownat 291
#define __NR_futimesat 292
#define __NR_newfstatat 293
#define __NR_fstatat64 293
#define __NR_unlinkat 294
#define __NR_renameat 295
#define __NR_linkat 296
Expand Down Expand Up @@ -359,6 +359,7 @@
#undef __NR_fcntl64
#undef __NR_sendfile64
#undef __NR_fadvise64_64
#undef __NR_fstatat64

#define __NR_select 142
#define __NR_getrlimit 191 /* SuS compliant getrlimit */
Expand All @@ -381,6 +382,7 @@
#define __NR_setgid 214
#define __NR_setfsuid 215
#define __NR_setfsgid 216
#define __NR_newfstatat 293

#endif

Expand Down

0 comments on commit 654b2b0

Please sign in to comment.