Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
add67461
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
add67461
编写于
2月 03, 2010
作者:
P
Patrick McHardy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
netfilter: add struct net * to target parameters
Signed-off-by:
N
Patrick McHardy
<
kaber@trash.net
>
上级
794e6871
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
18 addition
and
10 deletion
+18
-10
include/linux/netfilter/x_tables.h
include/linux/netfilter/x_tables.h
+2
-0
net/bridge/netfilter/ebtables.c
net/bridge/netfilter/ebtables.c
+6
-4
net/ipv4/netfilter/ip_tables.c
net/ipv4/netfilter/ip_tables.c
+5
-3
net/ipv6/netfilter/ip6_tables.c
net/ipv6/netfilter/ip6_tables.c
+5
-3
未找到文件。
include/linux/netfilter/x_tables.h
浏览文件 @
add67461
...
...
@@ -249,6 +249,7 @@ struct xt_target_param {
* Other fields see above.
*/
struct
xt_tgchk_param
{
struct
net
*
net
;
const
char
*
table
;
const
void
*
entryinfo
;
const
struct
xt_target
*
target
;
...
...
@@ -259,6 +260,7 @@ struct xt_tgchk_param {
/* Target destructor parameters */
struct
xt_tgdtor_param
{
struct
net
*
net
;
const
struct
xt_target
*
target
;
void
*
targinfo
;
u_int8_t
family
;
...
...
net/bridge/netfilter/ebtables.c
浏览文件 @
add67461
...
...
@@ -579,13 +579,14 @@ ebt_cleanup_match(struct ebt_entry_match *m, struct net *net, unsigned int *i)
}
static
inline
int
ebt_cleanup_watcher
(
struct
ebt_entry_watcher
*
w
,
unsigned
int
*
i
)
ebt_cleanup_watcher
(
struct
ebt_entry_watcher
*
w
,
struct
net
*
net
,
unsigned
int
*
i
)
{
struct
xt_tgdtor_param
par
;
if
(
i
&&
(
*
i
)
--
==
0
)
return
1
;
par
.
net
=
net
;
par
.
target
=
w
->
u
.
watcher
;
par
.
targinfo
=
w
->
data
;
par
.
family
=
NFPROTO_BRIDGE
;
...
...
@@ -606,10 +607,11 @@ ebt_cleanup_entry(struct ebt_entry *e, struct net *net, unsigned int *cnt)
/* we're done */
if
(
cnt
&&
(
*
cnt
)
--
==
0
)
return
1
;
EBT_WATCHER_ITERATE
(
e
,
ebt_cleanup_watcher
,
NULL
);
EBT_WATCHER_ITERATE
(
e
,
ebt_cleanup_watcher
,
net
,
NULL
);
EBT_MATCH_ITERATE
(
e
,
ebt_cleanup_match
,
net
,
NULL
);
t
=
(
struct
ebt_entry_target
*
)(((
char
*
)
e
)
+
e
->
target_offset
);
par
.
net
=
net
;
par
.
target
=
t
->
u
.
target
;
par
.
targinfo
=
t
->
data
;
par
.
family
=
NFPROTO_BRIDGE
;
...
...
@@ -674,7 +676,7 @@ ebt_check_entry(struct ebt_entry *e,
}
i
=
0
;
mtpar
.
net
=
net
;
mtpar
.
net
=
tgpar
.
net
=
net
;
mtpar
.
table
=
tgpar
.
table
=
name
;
mtpar
.
entryinfo
=
tgpar
.
entryinfo
=
e
;
mtpar
.
hook_mask
=
tgpar
.
hook_mask
=
hookmask
;
...
...
@@ -730,7 +732,7 @@ ebt_check_entry(struct ebt_entry *e,
(
*
cnt
)
++
;
return
0
;
cleanup_watchers:
EBT_WATCHER_ITERATE
(
e
,
ebt_cleanup_watcher
,
&
j
);
EBT_WATCHER_ITERATE
(
e
,
ebt_cleanup_watcher
,
net
,
&
j
);
cleanup_matches:
EBT_MATCH_ITERATE
(
e
,
ebt_cleanup_match
,
net
,
&
i
);
return
ret
;
...
...
net/ipv4/netfilter/ip_tables.c
浏览文件 @
add67461
...
...
@@ -638,10 +638,11 @@ find_check_match(struct ipt_entry_match *m, struct xt_mtchk_param *par,
return
ret
;
}
static
int
check_target
(
struct
ipt_entry
*
e
,
const
char
*
name
)
static
int
check_target
(
struct
ipt_entry
*
e
,
struct
net
*
net
,
const
char
*
name
)
{
struct
ipt_entry_target
*
t
=
ipt_get_target
(
e
);
struct
xt_tgchk_param
par
=
{
.
net
=
net
,
.
table
=
name
,
.
entryinfo
=
e
,
.
target
=
t
->
u
.
kernel
.
target
,
...
...
@@ -697,7 +698,7 @@ find_check_entry(struct ipt_entry *e, struct net *net, const char *name,
}
t
->
u
.
kernel
.
target
=
target
;
ret
=
check_target
(
e
,
name
);
ret
=
check_target
(
e
,
n
et
,
n
ame
);
if
(
ret
)
goto
err
;
...
...
@@ -788,6 +789,7 @@ cleanup_entry(struct ipt_entry *e, struct net *net, unsigned int *i)
IPT_MATCH_ITERATE
(
e
,
cleanup_match
,
net
,
NULL
);
t
=
ipt_get_target
(
e
);
par
.
net
=
net
;
par
.
target
=
t
->
u
.
kernel
.
target
;
par
.
targinfo
=
t
->
data
;
par
.
family
=
NFPROTO_IPV4
;
...
...
@@ -1675,7 +1677,7 @@ compat_check_entry(struct ipt_entry *e, struct net *net, const char *name,
if
(
ret
)
goto
cleanup_matches
;
ret
=
check_target
(
e
,
name
);
ret
=
check_target
(
e
,
n
et
,
n
ame
);
if
(
ret
)
goto
cleanup_matches
;
...
...
net/ipv6/netfilter/ip6_tables.c
浏览文件 @
add67461
...
...
@@ -669,10 +669,11 @@ find_check_match(struct ip6t_entry_match *m, struct xt_mtchk_param *par,
return
ret
;
}
static
int
check_target
(
struct
ip6t_entry
*
e
,
const
char
*
name
)
static
int
check_target
(
struct
ip6t_entry
*
e
,
struct
net
*
net
,
const
char
*
name
)
{
struct
ip6t_entry_target
*
t
=
ip6t_get_target
(
e
);
struct
xt_tgchk_param
par
=
{
.
net
=
net
,
.
table
=
name
,
.
entryinfo
=
e
,
.
target
=
t
->
u
.
kernel
.
target
,
...
...
@@ -729,7 +730,7 @@ find_check_entry(struct ip6t_entry *e, struct net *net, const char *name,
}
t
->
u
.
kernel
.
target
=
target
;
ret
=
check_target
(
e
,
name
);
ret
=
check_target
(
e
,
n
et
,
n
ame
);
if
(
ret
)
goto
err
;
...
...
@@ -820,6 +821,7 @@ cleanup_entry(struct ip6t_entry *e, struct net *net, unsigned int *i)
IP6T_MATCH_ITERATE
(
e
,
cleanup_match
,
net
,
NULL
);
t
=
ip6t_get_target
(
e
);
par
.
net
=
net
;
par
.
target
=
t
->
u
.
kernel
.
target
;
par
.
targinfo
=
t
->
data
;
par
.
family
=
NFPROTO_IPV6
;
...
...
@@ -1710,7 +1712,7 @@ static int compat_check_entry(struct ip6t_entry *e, struct net *net,
if
(
ret
)
goto
cleanup_matches
;
ret
=
check_target
(
e
,
name
);
ret
=
check_target
(
e
,
n
et
,
n
ame
);
if
(
ret
)
goto
cleanup_matches
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录