| Submitter | Jason Gunthorpe |
|---|---|
| Date | Sept. 30, 2012, 11:17 p.m. |
| Message ID | <20120930231737.GA30637@obsidianresearch.com> |
| Download | mbox | patch |
| Permalink | /patch/188206/ |
| State | Not Applicable |
| Delegated to: | David Miller |
| Headers | show |
Comments
From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Date: Sun, 30 Sep 2012 17:17:37 -0600 > The implicit cast from void * is not allowed for C++ compilers, and the > arithmetic on void * generates warnings in C++ mode. > > $ g++ -c t.cc > ip_tables.h:221:24: warning: pointer of type 'void *' used in arithmetic > ip_tables.h:221:24: error: invalid conversion from 'void*' to 'xt_entry_target*' > > Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Please post netfilter patches to netfilter-devel@vger.kernel.org Thank you. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h index db79231..050ad8a 100644 --- a/include/linux/netfilter_ipv4/ip_tables.h +++ b/include/linux/netfilter_ipv4/ip_tables.h @@ -226,7 +226,7 @@ struct ipt_get_entries { static __inline__ struct xt_entry_target * ipt_get_target(struct ipt_entry *e) { - return (void *)e + e->target_offset; + return (struct xt_entry_target *)((__u8 *)e + e->target_offset); } /* diff --git a/include/linux/netfilter_ipv6/ip6_tables.h b/include/linux/netfilter_ipv6/ip6_tables.h index 08c2cbb..3349bf1 100644 --- a/include/linux/netfilter_ipv6/ip6_tables.h +++ b/include/linux/netfilter_ipv6/ip6_tables.h @@ -263,7 +263,7 @@ struct ip6t_get_entries { static __inline__ struct xt_entry_target * ip6t_get_target(struct ip6t_entry *e) { - return (void *)e + e->target_offset; + return (struct xt_entry_target *)((__u8 *)e + e->target_offset); } /*
The implicit cast from void * is not allowed for C++ compilers, and the arithmetic on void * generates warnings in C++ mode. $ g++ -c t.cc ip_tables.h:221:24: warning: pointer of type 'void *' used in arithmetic ip_tables.h:221:24: error: invalid conversion from 'void*' to 'xt_entry_target*' Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> --- include/linux/netfilter_ipv4/ip_tables.h | 2 +- include/linux/netfilter_ipv6/ip6_tables.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)