diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-09-24 18:42:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-24 18:55:03 -0400 |
commit | 3e597c6045502dd0fa98a61aa95ba178f8a2cc03 (patch) | |
tree | 61d8994ed00550ae641e2a5743e072a1c02654fb | |
parent | 1db2ea398ffbfd9ea46d509ff0e4a85bb4b8c0ea (diff) |
[PATCH] fix iptables __user misannotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | include/linux/netfilter/x_tables.h | 4 | ||||
-rw-r--r-- | net/ipv4/netfilter/ip_tables.c | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 739a98eebe2c..04319a76103a 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h | |||
@@ -390,13 +390,13 @@ extern int xt_compat_match_offset(struct xt_match *match); | |||
390 | extern void xt_compat_match_from_user(struct xt_entry_match *m, | 390 | extern void xt_compat_match_from_user(struct xt_entry_match *m, |
391 | void **dstptr, int *size); | 391 | void **dstptr, int *size); |
392 | extern int xt_compat_match_to_user(struct xt_entry_match *m, | 392 | extern int xt_compat_match_to_user(struct xt_entry_match *m, |
393 | void * __user *dstptr, int *size); | 393 | void __user **dstptr, int *size); |
394 | 394 | ||
395 | extern int xt_compat_target_offset(struct xt_target *target); | 395 | extern int xt_compat_target_offset(struct xt_target *target); |
396 | extern void xt_compat_target_from_user(struct xt_entry_target *t, | 396 | extern void xt_compat_target_from_user(struct xt_entry_target *t, |
397 | void **dstptr, int *size); | 397 | void **dstptr, int *size); |
398 | extern int xt_compat_target_to_user(struct xt_entry_target *t, | 398 | extern int xt_compat_target_to_user(struct xt_entry_target *t, |
399 | void * __user *dstptr, int *size); | 399 | void __user **dstptr, int *size); |
400 | 400 | ||
401 | #endif /* CONFIG_COMPAT */ | 401 | #endif /* CONFIG_COMPAT */ |
402 | #endif /* __KERNEL__ */ | 402 | #endif /* __KERNEL__ */ |
diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c index 800067d69a9a..78a44b01c035 100644 --- a/net/ipv4/netfilter/ip_tables.c +++ b/net/ipv4/netfilter/ip_tables.c | |||
@@ -1364,15 +1364,15 @@ struct compat_ipt_replace { | |||
1364 | }; | 1364 | }; |
1365 | 1365 | ||
1366 | static inline int compat_copy_match_to_user(struct ipt_entry_match *m, | 1366 | static inline int compat_copy_match_to_user(struct ipt_entry_match *m, |
1367 | void * __user *dstptr, compat_uint_t *size) | 1367 | void __user **dstptr, compat_uint_t *size) |
1368 | { | 1368 | { |
1369 | return xt_compat_match_to_user(m, dstptr, size); | 1369 | return xt_compat_match_to_user(m, dstptr, size); |
1370 | } | 1370 | } |
1371 | 1371 | ||
1372 | static int compat_copy_entry_to_user(struct ipt_entry *e, | 1372 | static int compat_copy_entry_to_user(struct ipt_entry *e, |
1373 | void * __user *dstptr, compat_uint_t *size) | 1373 | void __user **dstptr, compat_uint_t *size) |
1374 | { | 1374 | { |
1375 | struct ipt_entry_target __user *t; | 1375 | struct ipt_entry_target *t; |
1376 | struct compat_ipt_entry __user *ce; | 1376 | struct compat_ipt_entry __user *ce; |
1377 | u_int16_t target_offset, next_offset; | 1377 | u_int16_t target_offset, next_offset; |
1378 | compat_uint_t origsize; | 1378 | compat_uint_t origsize; |