Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
45063097
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
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看板
提交
45063097
编写于
12月 04, 2016
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
don't open-code file_inode()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
e5517c2a
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
40 addition
and
46 deletion
+40
-46
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+10
-10
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
+1
-1
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+2
-2
drivers/staging/greybus/camera.c
drivers/staging/greybus/camera.c
+2
-2
drivers/staging/greybus/es2.c
drivers/staging/greybus/es2.c
+3
-3
drivers/staging/greybus/svc.c
drivers/staging/greybus/svc.c
+3
-3
drivers/staging/greybus/timesync.c
drivers/staging/greybus/timesync.c
+1
-1
drivers/target/target_core_configfs.c
drivers/target/target_core_configfs.c
+1
-1
fs/aio.c
fs/aio.c
+3
-3
fs/autofs4/inode.c
fs/autofs4/inode.c
+1
-1
fs/fcntl.c
fs/fcntl.c
+1
-1
fs/orangefs/file.c
fs/orangefs/file.c
+1
-1
fs/orangefs/orangefs-debugfs.c
fs/orangefs/orangefs-debugfs.c
+4
-2
fs/overlayfs/copy_up.c
fs/overlayfs/copy_up.c
+1
-1
kernel/audit_watch.c
kernel/audit_watch.c
+2
-2
kernel/events/core.c
kernel/events/core.c
+1
-1
kernel/locking/qspinlock_stat.h
kernel/locking/qspinlock_stat.h
+2
-10
security/smack/smack_lsm.c
security/smack/smack_lsm.c
+1
-1
未找到文件。
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
浏览文件 @
45063097
...
...
@@ -2501,7 +2501,7 @@ static void amdgpu_debugfs_remove_files(struct amdgpu_device *adev)
static
ssize_t
amdgpu_debugfs_regs_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
bool
pm_pg_lock
,
use_bank
;
...
...
@@ -2570,7 +2570,7 @@ static ssize_t amdgpu_debugfs_regs_read(struct file *f, char __user *buf,
static
ssize_t
amdgpu_debugfs_regs_write
(
struct
file
*
f
,
const
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
...
...
@@ -2601,7 +2601,7 @@ static ssize_t amdgpu_debugfs_regs_write(struct file *f, const char __user *buf,
static
ssize_t
amdgpu_debugfs_regs_pcie_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
...
...
@@ -2628,7 +2628,7 @@ static ssize_t amdgpu_debugfs_regs_pcie_read(struct file *f, char __user *buf,
static
ssize_t
amdgpu_debugfs_regs_pcie_write
(
struct
file
*
f
,
const
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
...
...
@@ -2656,7 +2656,7 @@ static ssize_t amdgpu_debugfs_regs_pcie_write(struct file *f, const char __user
static
ssize_t
amdgpu_debugfs_regs_didt_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
...
...
@@ -2683,7 +2683,7 @@ static ssize_t amdgpu_debugfs_regs_didt_read(struct file *f, char __user *buf,
static
ssize_t
amdgpu_debugfs_regs_didt_write
(
struct
file
*
f
,
const
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
...
...
@@ -2711,7 +2711,7 @@ static ssize_t amdgpu_debugfs_regs_didt_write(struct file *f, const char __user
static
ssize_t
amdgpu_debugfs_regs_smc_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
...
...
@@ -2738,7 +2738,7 @@ static ssize_t amdgpu_debugfs_regs_smc_read(struct file *f, char __user *buf,
static
ssize_t
amdgpu_debugfs_regs_smc_write
(
struct
file
*
f
,
const
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
...
...
@@ -2766,7 +2766,7 @@ static ssize_t amdgpu_debugfs_regs_smc_write(struct file *f, const char __user *
static
ssize_t
amdgpu_debugfs_gca_config_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
uint32_t
*
config
,
no_regs
=
0
;
...
...
@@ -2836,7 +2836,7 @@ static ssize_t amdgpu_debugfs_gca_config_read(struct file *f, char __user *buf,
static
ssize_t
amdgpu_debugfs_sensor_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
int
idx
,
r
;
int32_t
value
;
...
...
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
浏览文件 @
45063097
...
...
@@ -283,7 +283,7 @@ void amdgpu_ring_fini(struct amdgpu_ring *ring)
static
ssize_t
amdgpu_debugfs_ring_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_ring
*
ring
=
(
struct
amdgpu_ring
*
)
f
->
f_inode
->
i_private
;
struct
amdgpu_ring
*
ring
=
file_inode
(
f
)
->
i_private
;
int
r
,
i
;
uint32_t
value
,
result
,
early
[
3
];
...
...
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
浏览文件 @
45063097
...
...
@@ -1412,7 +1412,7 @@ static const struct drm_info_list amdgpu_ttm_debugfs_list[] = {
static
ssize_t
amdgpu_ttm_vram_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
...
...
@@ -1456,7 +1456,7 @@ static const struct file_operations amdgpu_ttm_vram_fops = {
static
ssize_t
amdgpu_ttm_gtt_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
size
,
loff_t
*
pos
)
{
struct
amdgpu_device
*
adev
=
f
->
f_inode
->
i_private
;
struct
amdgpu_device
*
adev
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
result
=
0
;
int
r
;
...
...
drivers/staging/greybus/camera.c
浏览文件 @
45063097
...
...
@@ -1091,7 +1091,7 @@ static ssize_t gb_camera_debugfs_read(struct file *file, char __user *buf,
size_t
len
,
loff_t
*
offset
)
{
const
struct
gb_camera_debugfs_entry
*
op
=
file
->
private_data
;
struct
gb_camera
*
gcam
=
file
->
f_inode
->
i_private
;
struct
gb_camera
*
gcam
=
file
_inode
(
file
)
->
i_private
;
struct
gb_camera_debugfs_buffer
*
buffer
;
ssize_t
ret
;
...
...
@@ -1113,7 +1113,7 @@ static ssize_t gb_camera_debugfs_write(struct file *file,
loff_t
*
offset
)
{
const
struct
gb_camera_debugfs_entry
*
op
=
file
->
private_data
;
struct
gb_camera
*
gcam
=
file
->
f_inode
->
i_private
;
struct
gb_camera
*
gcam
=
file
_inode
(
file
)
->
i_private
;
ssize_t
ret
;
char
*
kbuf
;
...
...
drivers/staging/greybus/es2.c
浏览文件 @
45063097
...
...
@@ -1250,7 +1250,7 @@ static int apb_log_poll(void *data)
static
ssize_t
apb_log_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
struct
es2_ap_dev
*
es2
=
f
->
f_inode
->
i_private
;
struct
es2_ap_dev
*
es2
=
f
ile_inode
(
f
)
->
i_private
;
ssize_t
ret
;
size_t
copied
;
char
*
tmp_buf
;
...
...
@@ -1304,7 +1304,7 @@ static void usb_log_disable(struct es2_ap_dev *es2)
static
ssize_t
apb_log_enable_read
(
struct
file
*
f
,
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
struct
es2_ap_dev
*
es2
=
f
->
f_inode
->
i_private
;
struct
es2_ap_dev
*
es2
=
f
ile_inode
(
f
)
->
i_private
;
int
enable
=
!
IS_ERR_OR_NULL
(
es2
->
apb_log_task
);
char
tmp_buf
[
3
];
...
...
@@ -1317,7 +1317,7 @@ static ssize_t apb_log_enable_write(struct file *f, const char __user *buf,
{
int
enable
;
ssize_t
retval
;
struct
es2_ap_dev
*
es2
=
f
->
f_inode
->
i_private
;
struct
es2_ap_dev
*
es2
=
f
ile_inode
(
f
)
->
i_private
;
retval
=
kstrtoint_from_user
(
buf
,
count
,
10
,
&
enable
);
if
(
retval
)
...
...
drivers/staging/greybus/svc.c
浏览文件 @
45063097
...
...
@@ -757,7 +757,7 @@ static int gb_svc_version_request(struct gb_operation *op)
static
ssize_t
pwr_debugfs_voltage_read
(
struct
file
*
file
,
char
__user
*
buf
,
size_t
len
,
loff_t
*
offset
)
{
struct
svc_debugfs_pwrmon_rail
*
pwrmon_rails
=
file
->
f_inode
->
i_private
;
struct
svc_debugfs_pwrmon_rail
*
pwrmon_rails
=
file
_inode
(
file
)
->
i_private
;
struct
gb_svc
*
svc
=
pwrmon_rails
->
svc
;
int
ret
,
desc
;
u32
value
;
...
...
@@ -780,7 +780,7 @@ static ssize_t pwr_debugfs_voltage_read(struct file *file, char __user *buf,
static
ssize_t
pwr_debugfs_current_read
(
struct
file
*
file
,
char
__user
*
buf
,
size_t
len
,
loff_t
*
offset
)
{
struct
svc_debugfs_pwrmon_rail
*
pwrmon_rails
=
file
->
f_inode
->
i_private
;
struct
svc_debugfs_pwrmon_rail
*
pwrmon_rails
=
file
_inode
(
file
)
->
i_private
;
struct
gb_svc
*
svc
=
pwrmon_rails
->
svc
;
int
ret
,
desc
;
u32
value
;
...
...
@@ -803,7 +803,7 @@ static ssize_t pwr_debugfs_current_read(struct file *file, char __user *buf,
static
ssize_t
pwr_debugfs_power_read
(
struct
file
*
file
,
char
__user
*
buf
,
size_t
len
,
loff_t
*
offset
)
{
struct
svc_debugfs_pwrmon_rail
*
pwrmon_rails
=
file
->
f_inode
->
i_private
;
struct
svc_debugfs_pwrmon_rail
*
pwrmon_rails
=
file
_inode
(
file
)
->
i_private
;
struct
gb_svc
*
svc
=
pwrmon_rails
->
svc
;
int
ret
,
desc
;
u32
value
;
...
...
drivers/staging/greybus/timesync.c
浏览文件 @
45063097
...
...
@@ -921,7 +921,7 @@ EXPORT_SYMBOL_GPL(gb_timesync_schedule_asynchronous);
static
ssize_t
gb_timesync_ping_read
(
struct
file
*
file
,
char
__user
*
ubuf
,
size_t
len
,
loff_t
*
offset
,
bool
ktime
)
{
struct
gb_timesync_svc
*
timesync_svc
=
file
->
f_inode
->
i_private
;
struct
gb_timesync_svc
*
timesync_svc
=
file
_inode
(
file
)
->
i_private
;
char
*
buf
;
ssize_t
ret
=
0
;
...
...
drivers/target/target_core_configfs.c
浏览文件 @
45063097
...
...
@@ -143,7 +143,7 @@ static ssize_t target_core_item_dbroot_store(struct config_item *item,
pr_err
(
"db_root: cannot open: %s
\n
"
,
db_root_stage
);
return
-
EINVAL
;
}
if
(
!
S_ISDIR
(
f
p
->
f_inode
->
i_mode
))
{
if
(
!
S_ISDIR
(
f
ile_inode
(
fp
)
->
i_mode
))
{
filp_close
(
fp
,
0
);
mutex_unlock
(
&
g_tf_lock
);
pr_err
(
"db_root: not a directory: %s
\n
"
,
db_root_stage
);
...
...
fs/aio.c
浏览文件 @
45063097
...
...
@@ -277,10 +277,10 @@ static void put_aio_ring_file(struct kioctx *ctx)
struct
address_space
*
i_mapping
;
if
(
aio_ring_file
)
{
truncate_setsize
(
aio_ring_file
->
f_inode
,
0
);
truncate_setsize
(
file_inode
(
aio_ring_file
)
,
0
);
/* Prevent further access to the kioctx from migratepages */
i_mapping
=
aio_ring_file
->
f_
inode
->
i_
mapping
;
i_mapping
=
aio_ring_file
->
f_mapping
;
spin_lock
(
&
i_mapping
->
private_lock
);
i_mapping
->
private_data
=
NULL
;
ctx
->
aio_ring_file
=
NULL
;
...
...
@@ -483,7 +483,7 @@ static int aio_setup_ring(struct kioctx *ctx)
for
(
i
=
0
;
i
<
nr_pages
;
i
++
)
{
struct
page
*
page
;
page
=
find_or_create_page
(
file
->
f_
inode
->
i_
mapping
,
page
=
find_or_create_page
(
file
->
f_mapping
,
i
,
GFP_HIGHUSER
|
__GFP_ZERO
);
if
(
!
page
)
break
;
...
...
fs/autofs4/inode.c
浏览文件 @
45063097
...
...
@@ -94,7 +94,7 @@ static int autofs4_show_options(struct seq_file *m, struct dentry *root)
seq_printf
(
m
,
",indirect"
);
#ifdef CONFIG_CHECKPOINT_RESTORE
if
(
sbi
->
pipe
)
seq_printf
(
m
,
",pipe_ino=%ld"
,
sbi
->
pipe
->
f_inode
->
i_ino
);
seq_printf
(
m
,
",pipe_ino=%ld"
,
file_inode
(
sbi
->
pipe
)
->
i_ino
);
else
seq_printf
(
m
,
",pipe_ino=-1"
);
#endif
...
...
fs/fcntl.c
浏览文件 @
45063097
...
...
@@ -52,7 +52,7 @@ static int setfl(int fd, struct file * filp, unsigned long arg)
arg
|=
O_NONBLOCK
;
/* Pipe packetized mode is controlled by O_DIRECT flag */
if
(
!
S_ISFIFO
(
filp
->
f_
inode
->
i_mode
)
&&
(
arg
&
O_DIRECT
))
{
if
(
!
S_ISFIFO
(
inode
->
i_mode
)
&&
(
arg
&
O_DIRECT
))
{
if
(
!
filp
->
f_mapping
||
!
filp
->
f_mapping
->
a_ops
||
!
filp
->
f_mapping
->
a_ops
->
direct_IO
)
return
-
EINVAL
;
...
...
fs/orangefs/file.c
浏览文件 @
45063097
...
...
@@ -724,7 +724,7 @@ static int orangefs_lock(struct file *filp, int cmd, struct file_lock *fl)
{
int
rc
=
-
EINVAL
;
if
(
ORANGEFS_SB
(
fil
p
->
f_inode
->
i_sb
)
->
flags
&
ORANGEFS_OPT_LOCAL_LOCK
)
{
if
(
ORANGEFS_SB
(
fil
e_inode
(
filp
)
->
i_sb
)
->
flags
&
ORANGEFS_OPT_LOCAL_LOCK
)
{
if
(
cmd
==
F_GETLK
)
{
rc
=
0
;
posix_test_lock
(
filp
,
fl
);
...
...
fs/orangefs/orangefs-debugfs.c
浏览文件 @
45063097
...
...
@@ -434,6 +434,7 @@ static ssize_t orangefs_debug_write(struct file *file,
char
*
debug_string
;
struct
orangefs_kernel_op_s
*
new_op
=
NULL
;
struct
client_debug_mask
c_mask
=
{
NULL
,
0
,
0
};
char
*
s
;
gossip_debug
(
GOSSIP_DEBUGFS_DEBUG
,
"orangefs_debug_write: %pD
\n
"
,
...
...
@@ -521,8 +522,9 @@ static ssize_t orangefs_debug_write(struct file *file,
}
mutex_lock
(
&
orangefs_debug_lock
);
memset
(
file
->
f_inode
->
i_private
,
0
,
ORANGEFS_MAX_DEBUG_STRING_LEN
);
sprintf
((
char
*
)
file
->
f_inode
->
i_private
,
"%s
\n
"
,
debug_string
);
s
=
file_inode
(
file
)
->
i_private
;
memset
(
s
,
0
,
ORANGEFS_MAX_DEBUG_STRING_LEN
);
sprintf
(
s
,
"%s
\n
"
,
debug_string
);
mutex_unlock
(
&
orangefs_debug_lock
);
*
ppos
+=
count
;
...
...
fs/overlayfs/copy_up.c
浏览文件 @
45063097
...
...
@@ -33,7 +33,7 @@ static int ovl_check_fd(const void *data, struct file *f, unsigned int fd)
{
const
struct
dentry
*
dentry
=
data
;
if
(
f
->
f_inode
==
d_inode
(
dentry
))
if
(
f
ile_inode
(
f
)
==
d_inode
(
dentry
))
pr_warn_ratelimited
(
"overlayfs: Warning: Copying up %pD, but open R/O on fd %u which will cease to be coherent [pid=%d %s]
\n
"
,
f
,
fd
,
current
->
pid
,
current
->
comm
);
return
0
;
...
...
kernel/audit_watch.c
浏览文件 @
45063097
...
...
@@ -548,8 +548,8 @@ int audit_exe_compare(struct task_struct *tsk, struct audit_fsnotify_mark *mark)
exe_file
=
get_task_exe_file
(
tsk
);
if
(
!
exe_file
)
return
0
;
ino
=
exe_file
->
f_inode
->
i_ino
;
dev
=
exe_file
->
f_inode
->
i_sb
->
s_dev
;
ino
=
file_inode
(
exe_file
)
->
i_ino
;
dev
=
file_inode
(
exe_file
)
->
i_sb
->
s_dev
;
fput
(
exe_file
);
return
audit_mark_compare
(
mark
,
ino
,
dev
);
}
kernel/events/core.c
浏览文件 @
45063097
...
...
@@ -6701,7 +6701,7 @@ static bool perf_addr_filter_match(struct perf_addr_filter *filter,
struct
file
*
file
,
unsigned
long
offset
,
unsigned
long
size
)
{
if
(
filter
->
inode
!=
file
->
f_inode
)
if
(
filter
->
inode
!=
file
_inode
(
file
)
)
return
false
;
if
(
filter
->
offset
>
offset
+
size
)
...
...
kernel/locking/qspinlock_stat.h
浏览文件 @
45063097
...
...
@@ -108,11 +108,7 @@ static ssize_t qstat_read(struct file *file, char __user *user_buf,
/*
* Get the counter ID stored in file->f_inode->i_private
*/
if
(
!
file
->
f_inode
)
{
WARN_ON_ONCE
(
1
);
return
-
EBADF
;
}
counter
=
(
long
)(
file
->
f_inode
->
i_private
);
counter
=
(
long
)
file_inode
(
file
)
->
i_private
;
if
(
counter
>=
qstat_num
)
return
-
EBADF
;
...
...
@@ -177,11 +173,7 @@ static ssize_t qstat_write(struct file *file, const char __user *user_buf,
/*
* Get the counter ID stored in file->f_inode->i_private
*/
if
(
!
file
->
f_inode
)
{
WARN_ON_ONCE
(
1
);
return
-
EBADF
;
}
if
((
long
)(
file
->
f_inode
->
i_private
)
!=
qstat_reset_cnts
)
if
((
long
)
file_inode
(
file
)
->
i_private
!=
qstat_reset_cnts
)
return
count
;
for_each_possible_cpu
(
cpu
)
{
...
...
security/smack/smack_lsm.c
浏览文件 @
45063097
...
...
@@ -225,7 +225,7 @@ static int smk_bu_credfile(const struct cred *cred, struct file *file,
{
struct
task_smack
*
tsp
=
cred
->
security
;
struct
smack_known
*
sskp
=
tsp
->
smk_task
;
struct
inode
*
inode
=
file
->
f_inode
;
struct
inode
*
inode
=
file
_inode
(
file
)
;
struct
inode_smack
*
isp
=
inode
->
i_security
;
char
acc
[
SMK_NUM_ACCESS_TYPE
+
1
];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录