瀏覽代碼

[PATCH] fix iptables __user misannotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro 18 年之前
父節點
當前提交
3e597c6045
共有 2 個文件被更改,包括 5 次插入5 次删除
  1. 2 2
      include/linux/netfilter/x_tables.h
  2. 3 3
      net/ipv4/netfilter/ip_tables.c

+ 2 - 2
include/linux/netfilter/x_tables.h

@@ -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,
 				      void **dstptr, int *size);
 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 void xt_compat_target_from_user(struct xt_entry_target *t,
 				       void **dstptr, int *size);
 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 /* __KERNEL__ */

+ 3 - 3
net/ipv4/netfilter/ip_tables.c

@@ -1364,15 +1364,15 @@ struct compat_ipt_replace {
 };
 
 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);
 }
 
 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;
 	u_int16_t target_offset, next_offset;
 	compat_uint_t origsize;