Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
91c2e0bc
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
91c2e0bc
编写于
3月 05, 2013
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
5522ddb3
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
25 addition
and
65 deletion
+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
未找到文件。
arch/arm64/include/asm/unistd32.h
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录