Skip to contentSkip to conversation

Wire up fanotify_init, fanotify_mark, prlimit64 syscalls

PATCH In review Andreas Schwab 4 participants 6 messages Aug 19, 2010 – Aug 24, 2010 PowerPC

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Wire up fanotify_init, fanotify_mark, prlimit64 syscalls

---
 arch/powerpc/include/asm/systbl.h |    3 +++
 arch/powerpc/include/asm/unistd.h |    5 ++++-
 arch/powerpc/kernel/sys_ppc32.c   |    8 ++++++++
 3 files changed, 15 insertions(+), 1 deletions(-)
arch/powerpc/include/asm/systbl.h +3 -0
index a5ee345..3d21266 100644
@@ -326,3 +326,6 @@ SYSCALL_SPU(perf_event_open)
 COMPAT_SYS_SPU(preadv)
 COMPAT_SYS_SPU(pwritev)
 COMPAT_SYS(rt_tgsigqueueinfo)
+SYSCALL(fanotify_init)
+COMPAT_SYS(fanotify_mark)
+SYSCALL_SPU(prlimit64)
arch/powerpc/include/asm/unistd.h +4 -1
index f0a1026..597e6f9 100644
@@ -345,10 +345,13 @@
 #define __NR_preadv		320
 #define __NR_pwritev		321
 #define __NR_rt_tgsigqueueinfo	322
+#define __NR_fanotify_init	323
+#define __NR_fanotify_mark	324
+#define __NR_prlimit64		325
 
 #ifdef __KERNEL__
 
-#define __NR_syscalls		323
+#define __NR_syscalls		326
 
 #define __NR__exit __NR_exit
 #define NR_syscalls	__NR_syscalls
arch/powerpc/kernel/sys_ppc32.c +8 -0
index 20fd701..b1b6043 100644
@@ -616,3 +616,11 @@ asmlinkage long compat_sys_sync_file_range2(int fd, unsigned int flags,
 
 	return sys_sync_file_range(fd, offset, nbytes, flags);
 }
+
+asmlinkage long compat_sys_fanotify_mark(int fanotify_fd, unsigned int flags,
+					 unsigned mask_hi, unsigned mask_lo,
+					 int dfd, const char __user *pathname)
+{
+	u64 mask = ((u64)mask_hi << 32) | mask_lo;
+	return sys_fanotify_mark(fanotify_fd, flags, mask, dfd, pathname);
+}
Signature · 7 lines
1.7.2.1


-- 
Andreas Schwab, [email protected]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
#1 lore raw

arch/powerpc/include/asm/systbl.h SYSCALL_SPU(perf_event_open) · line 330

Quoted 2 lines · On Thursday 19 August 2010 17:15:37 Andreas Schwab wrote:
arch/powerpc/include/asm/systbl.h +2 -0
+SYSCALL(fanotify_init)
+COMPAT_SYS(fanotify_mark)

why not _SPU? If it doesn't depend on getting signals, SPUs should be able to use it.

Arnd

#2 lore raw
Quoted 5 lines · Arnd Bergmann

arch/powerpc/include/asm/systbl.h SYSCALL_SPU(perf_event_open) · line 330

Quoted 2 lines · On Thursday 19 August 2010 17:15:37 Andreas Schwab wrote:
arch/powerpc/include/asm/systbl.h +2 -0
+SYSCALL(fanotify_init)
+COMPAT_SYS(fanotify_mark)

why not _SPU?

See arch/powerpc/platforms/cell/spu_callbacks.c.

* 4. They are optional and we can't rely on them being

 *    linked into the kernel. Unfortunately, the cond_syscall
 *    helper does not work here as it does not add the necessary
 *    opd symbols:

Andreas.

Signature · 3 lines
Andreas Schwab, [email protected]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
#3 lore raw
Quoted 6 lines · Andreas Schwab

See arch/powerpc/platforms/cell/spu_callbacks.c.

* 4. They are optional and we can't rely on them being

 *    linked into the kernel. Unfortunately, the cond_syscall
 *    helper does not work here as it does not add the necessary
 *    opd symbols:

Right. I should blame the person that wrote this comment. If only I could remember who that was.

Arnd

#4 lore raw
Quoted 10 lines · Arnd Bergmann
Quoted 6 lines · Andreas Schwab

See arch/powerpc/platforms/cell/spu_callbacks.c.

* 4. They are optional and we can't rely on them being

 *    linked into the kernel. Unfortunately, the cond_syscall
 *    helper does not work here as it does not add the necessary
 *    opd symbols:

Right. I should blame the person that wrote this comment. If only I could remember who that was.

Regardless of the outcome of that, I'm merging Andreas patch. We can always add SPU bindings if we feel like it later.

Cheers,
Ben.

#5 lore raw
Quoted 9 lines · Benjamin Herrenschmidt
Quoted 8 lines · Arnd Bergmann
Quoted 6 lines · Andreas Schwab

See arch/powerpc/platforms/cell/spu_callbacks.c.

* 4. They are optional and we can't rely on them being

 *    linked into the kernel. Unfortunately, the cond_syscall
 *    helper does not work here as it does not add the necessary
 *    opd symbols:
Quoted 5 lines
Quoted 2 lines

Right. I should blame the person that wrote this comment. If only I could remember who that was.

Regardless of the outcome of that, I'm merging Andreas patch. We can always add SPU bindings if we feel like it later.

Sorry, I should have added a ';-)' or been clearer. The patch is good, I wrote the comment that Andreas quoted and it's probably my own fault that we never found a way to handle syscalls like this correctly from the SPU.

Arnd