Commit f737be8d authored by David S. Miller's avatar David S. Miller

Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf

Pablo Neira Ayuso says:

====================
Netfilter fixes for net

The following patchset contains Netfilter fixes for your net tree,
they are:

1) Fix chain filtering when dumping rules via nf_tables_dump_rules().

2) Fix accidental change in NF_CT_STATE_UNTRACKED_BIT through uapi,
   introduced when removing the untracked conntrack object, from
   Florian Westphal.

3) Fix potential nul-dereference when releasing dump filter in
   nf_tables_dump_obj_done(), patch from Hangbin Liu.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 6926e041 8bea728d
...@@ -36,7 +36,7 @@ enum ip_conntrack_info { ...@@ -36,7 +36,7 @@ enum ip_conntrack_info {
#define NF_CT_STATE_INVALID_BIT (1 << 0) #define NF_CT_STATE_INVALID_BIT (1 << 0)
#define NF_CT_STATE_BIT(ctinfo) (1 << ((ctinfo) % IP_CT_IS_REPLY + 1)) #define NF_CT_STATE_BIT(ctinfo) (1 << ((ctinfo) % IP_CT_IS_REPLY + 1))
#define NF_CT_STATE_UNTRACKED_BIT (1 << (IP_CT_UNTRACKED + 1)) #define NF_CT_STATE_UNTRACKED_BIT (1 << 6)
/* Bitset representing status of connection. */ /* Bitset representing status of connection. */
enum ip_conntrack_status { enum ip_conntrack_status {
......
...@@ -2072,7 +2072,7 @@ static int nf_tables_dump_rules(struct sk_buff *skb, ...@@ -2072,7 +2072,7 @@ static int nf_tables_dump_rules(struct sk_buff *skb,
continue; continue;
list_for_each_entry_rcu(chain, &table->chains, list) { list_for_each_entry_rcu(chain, &table->chains, list) {
if (ctx && ctx->chain[0] && if (ctx && ctx->chain &&
strcmp(ctx->chain, chain->name) != 0) strcmp(ctx->chain, chain->name) != 0)
continue; continue;
...@@ -4665,8 +4665,10 @@ static int nf_tables_dump_obj_done(struct netlink_callback *cb) ...@@ -4665,8 +4665,10 @@ static int nf_tables_dump_obj_done(struct netlink_callback *cb)
{ {
struct nft_obj_filter *filter = cb->data; struct nft_obj_filter *filter = cb->data;
kfree(filter->table); if (filter) {
kfree(filter); kfree(filter->table);
kfree(filter);
}
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment