Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
91c2e0bc
Commit
91c2e0bc
authored
Mar 05, 2013
by
Al Viro
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE
Signed-off-by:
Al Viro
<
viro@zeniv.linux.org.uk
>
parent
5522ddb3
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
25 additions
and
65 deletions
+25
-65
arch/arm64/include/asm/unistd32.h
arch/arm64/include/asm/unistd32.h
+1
-1
arch/arm64/kernel/sys32.S
arch/arm64/kernel/sys32.S
+0
-7
arch/mips/kernel/linux32.c
arch/mips/kernel/linux32.c
+0
-7
arch/mips/kernel/scall64-o32.S
arch/mips/kernel/scall64-o32.S
+1
-1
arch/parisc/kernel/sys_parisc32.c
arch/parisc/kernel/sys_parisc32.c
+0
-8
arch/powerpc/kernel/sys_ppc32.c
arch/powerpc/kernel/sys_ppc32.c
+0
-8
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/compat_wrapper.S
+0
-9
arch/s390/kernel/syscalls.S
arch/s390/kernel/syscalls.S
+1
-1
arch/sparc/kernel/sys32.S
arch/sparc/kernel/sys32.S
+0
-9
arch/sparc/kernel/systbls_64.S
arch/sparc/kernel/systbls_64.S
+1
-1
arch/x86/ia32/sys_ia32.c
arch/x86/ia32/sys_ia32.c
+0
-9
arch/x86/include/asm/sys_ia32.h
arch/x86/include/asm/sys_ia32.h
+0
-3
arch/x86/syscalls/syscall_32.tbl
arch/x86/syscalls/syscall_32.tbl
+1
-1
fs/notify/fanotify/fanotify_user.c
fs/notify/fanotify/fanotify_user.c
+17
-0
include/linux/compat.h
include/linux/compat.h
+2
-0
kernel/sys_ni.c
kernel/sys_ni.c
+1
-0
No files found.
arch/arm64/include/asm/unistd32.h
View file @
91c2e0bc
...
...
@@ -389,7 +389,7 @@ __SYSCALL(364, sys_perf_event_open)
__SYSCALL
(
365
,
compat_sys_recvmmsg
)
__SYSCALL
(
366
,
sys_accept4
)
__SYSCALL
(
367
,
sys_fanotify_init
)
__SYSCALL
(
368
,
compat_sys_fanotify_mark
_wrapper
)
__SYSCALL
(
368
,
compat_sys_fanotify_mark
)
__SYSCALL
(
369
,
sys_prlimit64
)
__SYSCALL
(
370
,
sys_name_to_handle_at
)
__SYSCALL
(
371
,
compat_sys_open_by_handle_at
)
...
...
arch/arm64/kernel/sys32.S
View file @
91c2e0bc
...
...
@@ -104,13 +104,6 @@ compat_sys_fallocate_wrapper:
b
sys_fallocate
ENDPROC
(
compat_sys_fallocate_wrapper
)
compat_sys_fanotify_mark_wrapper
:
orr
x2
,
x2
,
x3
,
lsl
#
32
mov
w3
,
w4
mov
w4
,
w5
b
sys_fanotify_mark
ENDPROC
(
compat_sys_fanotify_mark_wrapper
)
#undef __SYSCALL
#define __SYSCALL(x, y) .quad y // x
...
...
arch/mips/kernel/linux32.c
View file @
91c2e0bc
...
...
@@ -165,10 +165,3 @@ asmlinkage long sys32_fallocate(int fd, int mode, unsigned offset_a2,
return
sys_fallocate
(
fd
,
mode
,
merge_64
(
offset_a2
,
offset_a3
),
merge_64
(
len_a4
,
len_a5
));
}
SYSCALL_DEFINE6
(
32
_fanotify_mark
,
int
,
fanotify_fd
,
unsigned
int
,
flags
,
u64
,
a3
,
u64
,
a4
,
int
,
dfd
,
const
char
__user
*
,
pathname
)
{
return
sys_fanotify_mark
(
fanotify_fd
,
flags
,
merge_64
(
a3
,
a4
),
dfd
,
pathname
);
}
arch/mips/kernel/scall64-o32.S
View file @
91c2e0bc
...
...
@@ -529,7 +529,7 @@ sys_call_table:
PTR
sys_accept4
PTR
compat_sys_recvmmsg
/*
4335
*/
PTR
sys_fanotify_init
PTR
sys_32
_fanotify_mark
PTR
compat_sys
_fanotify_mark
PTR
sys_prlimit64
PTR
sys_name_to_handle_at
PTR
compat_sys_open_by_handle_at
/*
4340
*/
...
...
arch/parisc/kernel/sys_parisc32.c
View file @
91c2e0bc
...
...
@@ -59,11 +59,3 @@ asmlinkage long sys32_unimplemented(int r26, int r25, int r24, int r23,
current
->
comm
,
current
->
pid
,
r20
);
return
-
ENOSYS
;
}
asmlinkage
long
compat_sys_fanotify_mark
(
int
fan_fd
,
int
flags
,
u32
mask_hi
,
u32
mask_lo
,
int
fd
,
const
char
__user
*
pathname
)
{
return
sys_fanotify_mark
(
fan_fd
,
flags
,
((
u64
)
mask_hi
<<
32
)
|
mask_lo
,
fd
,
pathname
);
}
arch/powerpc/kernel/sys_ppc32.c
View file @
91c2e0bc
...
...
@@ -126,11 +126,3 @@ 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
);
}
arch/s390/kernel/compat_wrapper.S
View file @
91c2e0bc
...
...
@@ -1349,15 +1349,6 @@ ENTRY(sys_fanotify_init_wrapper)
llgfr
%
r3
,%
r3
#
unsigned
int
jg
sys_fanotify_init
#
branch
to
system
call
ENTRY
(
sys_fanotify_mark_wrapper
)
lgfr
%
r2
,%
r2
#
int
llgfr
%
r3
,%
r3
#
unsigned
int
sllg
%
r4
,%
r4
,
32
#
get
high
word
of
64
bit
mask
lr
%
r4
,%
r5
#
get
low
word
of
64
bit
mask
llgfr
%
r5
,%
r6
#
unsigned
int
llgt
%
r6
,
164
(%
r15
)
#
char
*
jg
sys_fanotify_mark
#
branch
to
system
call
ENTRY
(
sys_prlimit64_wrapper
)
lgfr
%
r2
,%
r2
#
pid_t
llgfr
%
r3
,%
r3
#
unsigned
int
...
...
arch/s390/kernel/syscalls.S
View file @
91c2e0bc
...
...
@@ -341,7 +341,7 @@ SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev)
SYSCALL
(
sys_rt_tgsigqueueinfo
,
sys_rt_tgsigqueueinfo
,
compat_sys_rt_tgsigqueueinfo
)
/
*
330
*/
SYSCALL
(
sys_perf_event_open
,
sys_perf_event_open
,
sys_perf_event_open_wrapper
)
SYSCALL
(
sys_fanotify_init
,
sys_fanotify_init
,
sys_fanotify_init_wrapper
)
SYSCALL
(
sys_fanotify_mark
,
sys_fanotify_mark
,
sys_fanotify_mark_wrapper
)
SYSCALL
(
sys_fanotify_mark
,
sys_fanotify_mark
,
compat_sys_fanotify_mark
)
SYSCALL
(
sys_prlimit64
,
sys_prlimit64
,
sys_prlimit64_wrapper
)
SYSCALL
(
sys_name_to_handle_at
,
sys_name_to_handle_at
,
sys_name_to_handle_at_wrapper
)
/
*
335
*/
SYSCALL
(
sys_open_by_handle_at
,
sys_open_by_handle_at
,
compat_sys_open_by_handle_at
)
...
...
arch/sparc/kernel/sys32.S
View file @
91c2e0bc
...
...
@@ -239,15 +239,6 @@ do_sys_accept4: /* sys_accept4(int, struct sockaddr *, int *, int) */
nop
nop
.
globl
sys32_fanotify_mark
sys32_fanotify_mark
:
sethi
%
hi
(
sys_fanotify_mark
),
%
g1
sllx
%
o2
,
32
,
%
o2
or
%
o2
,
%
o3
,
%
o2
mov
%
o4
,
%
o3
jmpl
%
g1
+
%
lo
(
sys_fanotify_mark
),
%
g0
mov
%
o5
,
%
o4
.
section
__ex_table
,
"a"
.
align
4
.
word
1
b
,
__retl_efault
,
2
b
,
__retl_efault
...
...
arch/sparc/kernel/systbls_64.S
View file @
91c2e0bc
...
...
@@ -84,7 +84,7 @@ sys_call_table32:
.
word
compat_sys_timerfd_settime
,
compat_sys_timerfd_gettime
,
compat_sys_signalfd4
,
sys_eventfd2
,
sys_epoll_create1
/*
320
*/
.
word
sys_dup3
,
sys_pipe2
,
sys_inotify_init1
,
sys_accept4
,
compat_sys_preadv
.
word
compat_sys_pwritev
,
compat_sys_rt_tgsigqueueinfo
,
sys_perf_event_open
,
compat_sys_recvmmsg
,
sys_fanotify_init
/*
330
*/
.
word
sys32
_fanotify_mark
,
sys_prlimit64
,
sys_name_to_handle_at
,
compat_sys_open_by_handle_at
,
compat_sys_clock_adjtime
/*
330
*/
.
word
compat_sys
_fanotify_mark
,
sys_prlimit64
,
sys_name_to_handle_at
,
compat_sys_open_by_handle_at
,
compat_sys_clock_adjtime
.
word
sys_syncfs
,
compat_sys_sendmmsg
,
sys_setns
,
compat_sys_process_vm_readv
,
compat_sys_process_vm_writev
/*
340
*/
.
word
sys_kern_features
,
sys_kcmp
,
sys_finit_module
...
...
arch/x86/ia32/sys_ia32.c
View file @
91c2e0bc
...
...
@@ -243,12 +243,3 @@ asmlinkage long sys32_fallocate(int fd, int mode, unsigned offset_lo,
return
sys_fallocate
(
fd
,
mode
,
((
u64
)
offset_hi
<<
32
)
|
offset_lo
,
((
u64
)
len_hi
<<
32
)
|
len_lo
);
}
asmlinkage
long
sys32_fanotify_mark
(
int
fanotify_fd
,
unsigned
int
flags
,
u32
mask_lo
,
u32
mask_hi
,
int
fd
,
const
char
__user
*
pathname
)
{
return
sys_fanotify_mark
(
fanotify_fd
,
flags
,
((
u64
)
mask_hi
<<
32
)
|
mask_lo
,
fd
,
pathname
);
}
arch/x86/include/asm/sys_ia32.h
View file @
91c2e0bc
...
...
@@ -50,9 +50,6 @@ asmlinkage long sys32_fallocate(int, int, unsigned,
asmlinkage
long
sys32_sigreturn
(
void
);
asmlinkage
long
sys32_rt_sigreturn
(
void
);
asmlinkage
long
sys32_fanotify_mark
(
int
,
unsigned
int
,
u32
,
u32
,
int
,
const
char
__user
*
);
#endif
/* CONFIG_COMPAT */
#endif
/* _ASM_X86_SYS_IA32_H */
arch/x86/syscalls/syscall_32.tbl
View file @
91c2e0bc
...
...
@@ -345,7 +345,7 @@
336 i386 perf_event_open sys_perf_event_open
337 i386 recvmmsg sys_recvmmsg compat_sys_recvmmsg
338 i386 fanotify_init sys_fanotify_init
339 i386 fanotify_mark sys_fanotify_mark
sys32
_fanotify_mark
339 i386 fanotify_mark sys_fanotify_mark
compat_sys
_fanotify_mark
340 i386 prlimit64 sys_prlimit64
341 i386 name_to_handle_at sys_name_to_handle_at
342 i386 open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at
...
...
fs/notify/fanotify/fanotify_user.c
View file @
91c2e0bc
...
...
@@ -13,6 +13,7 @@
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/uaccess.h>
#include <linux/compat.h>
#include <asm/ioctls.h>
...
...
@@ -857,6 +858,22 @@ SYSCALL_DEFINE5(fanotify_mark, int, fanotify_fd, unsigned int, flags,
return
ret
;
}
#ifdef CONFIG_COMPAT
COMPAT_SYSCALL_DEFINE6
(
fanotify_mark
,
int
,
fanotify_fd
,
unsigned
int
,
flags
,
__u32
,
mask0
,
__u32
,
mask1
,
int
,
dfd
,
const
char
__user
*
,
pathname
)
{
return
sys_fanotify_mark
(
fanotify_fd
,
flags
,
#ifdef __BIG_ENDIAN
((
__u64
)
mask1
<<
32
)
|
mask0
,
#else
((
__u64
)
mask0
<<
32
)
|
mask1
,
#endif
dfd
,
pathname
);
}
#endif
/*
* fanotify_user_setup - Our initialization function. Note that we cannot return
* error because we have compiled-in VFS hooks. So an (unlikely) failure here
...
...
include/linux/compat.h
View file @
91c2e0bc
...
...
@@ -673,6 +673,8 @@ int __compat_save_altstack(compat_stack_t __user *, unsigned long);
asmlinkage
long
compat_sys_sched_rr_get_interval
(
compat_pid_t
pid
,
struct
compat_timespec
__user
*
interval
);
asmlinkage
long
compat_sys_fanotify_mark
(
int
,
unsigned
int
,
__u32
,
__u32
,
int
,
const
char
__user
*
);
#else
#define is_compat_task() (0)
...
...
kernel/sys_ni.c
View file @
91c2e0bc
...
...
@@ -200,6 +200,7 @@ cond_syscall(sys_perf_event_open);
/* fanotify! */
cond_syscall
(
sys_fanotify_init
);
cond_syscall
(
sys_fanotify_mark
);
cond_syscall
(
compat_sys_fanotify_mark
);
/* open by handle */
cond_syscall
(
sys_name_to_handle_at
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment