[PATCH] RTAS syscall - updated

Anton Blanchard anton at samba.org
Sat Nov 15 10:26:06 EST 2003


> Looks good.  You have reminded me that we need to add the fadvise64_64
> system call for 32-bit processes, but that can go in after you have
> pushed the patch.

Speaking of which, recent glibc uses the new statfs64 calls, we need the
following patch from davem.

Anton

--- fs/compat.c.~1~	Wed Nov 12 16:09:49 2003
+++ fs/compat.c	Wed Nov 12 16:10:35 2003
@@ -169,7 +169,6 @@

 static int put_compat_statfs64(struct compat_statfs64 *ubuf, struct kstatfs *kbuf)
 {
-
 	if (sizeof ubuf->f_blocks == 4) {
 		if ((kbuf->f_blocks | kbuf->f_bfree |
 		     kbuf->f_bavail | kbuf->f_files | kbuf->f_ffree) &
@@ -192,10 +191,13 @@
 	return 0;
 }

-asmlinkage long compat_statfs64(const char *path, struct compat_statfs64 *buf)
+asmlinkage long compat_statfs64(const char *path, compat_size_t sz, struct compat_statfs64 *buf)
 {
 	struct nameidata nd;
 	int error;
+
+	if (sz != sizeof(*buf))
+		return -EINVAL;

 	error = user_path_walk(path, &nd);
 	if (!error) {


We also need to hook them in:

--- /tmp/misc.S	2003-10-16 14:30:22.000000000 +0000
+++ for-linus-ppc64/arch/ppc64/kernel/misc.S	2003-11-14 09:24:24.000000000 +0000
@@ -850,8 +850,8 @@
 	.llong .sys_ni_syscall
 	.llong .sys32_tgkill		/* 250 */
 	.llong .sys32_utimes
-	.llong .sys_statfs64
-	.llong .sys_fstatfs64
+	.llong .compat_statfs64
+	.llong .compat_fstatfs64

 	.balign 8
 _GLOBAL(sys_call_table)

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc64-dev mailing list