diff options
author | Florian Westphal <fw@strlen.de> | 2018-02-27 19:42:34 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-04-26 11:02:21 +0200 |
commit | 8d92d53365395c97cf819a10cda4693f792cd5b6 (patch) | |
tree | 860252383a6b62352f80e10d828a67fe4c64cbf7 /net/bridge/netfilter/ebtables.c | |
parent | 82b68ecde5d056588799f0d38e675bbb81fe3b46 (diff) | |
download | linux-stable-8d92d53365395c97cf819a10cda4693f792cd5b6.tar.gz linux-stable-8d92d53365395c97cf819a10cda4693f792cd5b6.tar.bz2 linux-stable-8d92d53365395c97cf819a10cda4693f792cd5b6.zip |
netfilter: compat: prepare xt_compat_init_offsets to return errors
commit 9782a11efc072faaf91d4aa60e9d23553f918029 upstream.
should have no impact, function still always returns 0.
This patch is only to ease review.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/bridge/netfilter/ebtables.c')
-rw-r--r-- | net/bridge/netfilter/ebtables.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c index 16eb99458df4..014a73b46064 100644 --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c @@ -1819,10 +1819,14 @@ static int compat_table_info(const struct ebt_table_info *info, { unsigned int size = info->entries_size; const void *entries = info->entries; + int ret; newinfo->entries_size = size; - xt_compat_init_offsets(NFPROTO_BRIDGE, info->nentries); + ret = xt_compat_init_offsets(NFPROTO_BRIDGE, info->nentries); + if (ret) + return ret; + return EBT_ENTRY_ITERATE(entries, size, compat_calc_entry, info, entries, newinfo); } @@ -2257,7 +2261,9 @@ static int compat_do_replace(struct net *net, void __user *user, xt_compat_lock(NFPROTO_BRIDGE); - xt_compat_init_offsets(NFPROTO_BRIDGE, tmp.nentries); + ret = xt_compat_init_offsets(NFPROTO_BRIDGE, tmp.nentries); + if (ret < 0) + goto out_unlock; ret = compat_copy_entries(entries_tmp, tmp.entries_size, &state); if (ret < 0) goto out_unlock; |