[PATCH] fix iptables __user misannotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
@@ -390,13 +390,13 @@ extern int xt_compat_match_offset(struct xt_match *match);
|
|||||||
extern void xt_compat_match_from_user(struct xt_entry_match *m,
|
extern void xt_compat_match_from_user(struct xt_entry_match *m,
|
||||||
void **dstptr, int *size);
|
void **dstptr, int *size);
|
||||||
extern int xt_compat_match_to_user(struct xt_entry_match *m,
|
extern int xt_compat_match_to_user(struct xt_entry_match *m,
|
||||||
void * __user *dstptr, int *size);
|
void __user **dstptr, int *size);
|
||||||
|
|
||||||
extern int xt_compat_target_offset(struct xt_target *target);
|
extern int xt_compat_target_offset(struct xt_target *target);
|
||||||
extern void xt_compat_target_from_user(struct xt_entry_target *t,
|
extern void xt_compat_target_from_user(struct xt_entry_target *t,
|
||||||
void **dstptr, int *size);
|
void **dstptr, int *size);
|
||||||
extern int xt_compat_target_to_user(struct xt_entry_target *t,
|
extern int xt_compat_target_to_user(struct xt_entry_target *t,
|
||||||
void * __user *dstptr, int *size);
|
void __user **dstptr, int *size);
|
||||||
|
|
||||||
#endif /* CONFIG_COMPAT */
|
#endif /* CONFIG_COMPAT */
|
||||||
#endif /* __KERNEL__ */
|
#endif /* __KERNEL__ */
|
||||||
|
@@ -1364,15 +1364,15 @@ struct compat_ipt_replace {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static inline int compat_copy_match_to_user(struct ipt_entry_match *m,
|
static inline int compat_copy_match_to_user(struct ipt_entry_match *m,
|
||||||
void * __user *dstptr, compat_uint_t *size)
|
void __user **dstptr, compat_uint_t *size)
|
||||||
{
|
{
|
||||||
return xt_compat_match_to_user(m, dstptr, size);
|
return xt_compat_match_to_user(m, dstptr, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int compat_copy_entry_to_user(struct ipt_entry *e,
|
static int compat_copy_entry_to_user(struct ipt_entry *e,
|
||||||
void * __user *dstptr, compat_uint_t *size)
|
void __user **dstptr, compat_uint_t *size)
|
||||||
{
|
{
|
||||||
struct ipt_entry_target __user *t;
|
struct ipt_entry_target *t;
|
||||||
struct compat_ipt_entry __user *ce;
|
struct compat_ipt_entry __user *ce;
|
||||||
u_int16_t target_offset, next_offset;
|
u_int16_t target_offset, next_offset;
|
||||||
compat_uint_t origsize;
|
compat_uint_t origsize;
|
||||||
|
Reference in New Issue
Block a user