kernel: bump 4.14 to 4.14.104
[openwrt/openwrt.git] / target / linux / generic / backport-4.14 / 321-v4.16-netfilter-nf_tables-add-flow-table-netlink-frontend.patch
index f573d53b265592af24a4d836c24b8de7d8e60ea5..bce3914effd6a362aafb57d65bf09b8e6ea7aadf 100644 (file)
@@ -217,7 +217,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
  /**
   *    nft_register_afinfo - register nf_tables address family info
-@@ -374,6 +376,40 @@ static int nft_delobj(struct nft_ctx *ct
+@@ -377,6 +379,40 @@ static int nft_delobj(struct nft_ctx *ct
        return err;
  }
  
@@ -258,7 +258,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  /*
   * Tables
   */
-@@ -757,6 +793,7 @@ static int nf_tables_newtable(struct net
+@@ -760,6 +796,7 @@ static int nf_tables_newtable(struct net
        INIT_LIST_HEAD(&table->chains);
        INIT_LIST_HEAD(&table->sets);
        INIT_LIST_HEAD(&table->objects);
@@ -266,7 +266,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        table->flags = flags;
  
        nft_ctx_init(&ctx, net, skb, nlh, afi, table, NULL, nla);
-@@ -778,10 +815,11 @@ err1:
+@@ -781,10 +818,11 @@ err1:
  
  static int nft_flush_table(struct nft_ctx *ctx)
  {
@@ -279,7 +279,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
        list_for_each_entry(chain, &ctx->table->chains, list) {
                if (!nft_is_active_next(ctx->net, chain))
-@@ -807,6 +845,12 @@ static int nft_flush_table(struct nft_ct
+@@ -810,6 +848,12 @@ static int nft_flush_table(struct nft_ct
                        goto out;
        }
  
@@ -292,7 +292,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        list_for_each_entry_safe(obj, ne, &ctx->table->objects, list) {
                err = nft_delobj(ctx, obj);
                if (err < 0)
-@@ -4829,6 +4873,605 @@ static void nf_tables_obj_notify(const s
+@@ -4834,6 +4878,605 @@ static void nf_tables_obj_notify(const s
                       ctx->afi->family, ctx->report, GFP_KERNEL);
  }
  
@@ -898,7 +898,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  static int nf_tables_fill_gen_info(struct sk_buff *skb, struct net *net,
                                   u32 portid, u32 seq)
  {
-@@ -4859,6 +5502,49 @@ nla_put_failure:
+@@ -4864,6 +5507,49 @@ nla_put_failure:
        return -EMSGSIZE;
  }
  
@@ -948,7 +948,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  static void nf_tables_gen_notify(struct net *net, struct sk_buff *skb,
                                 int event)
  {
-@@ -5011,6 +5697,21 @@ static const struct nfnl_callback nf_tab
+@@ -5016,6 +5702,21 @@ static const struct nfnl_callback nf_tab
                .attr_count     = NFTA_OBJ_MAX,
                .policy         = nft_obj_policy,
        },
@@ -970,7 +970,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  };
  
  static void nft_chain_commit_update(struct nft_trans *trans)
-@@ -5059,6 +5760,9 @@ static void nf_tables_commit_release(str
+@@ -5064,6 +5765,9 @@ static void nf_tables_commit_release(str
        case NFT_MSG_DELOBJ:
                nft_obj_destroy(nft_trans_obj(trans));
                break;
@@ -980,7 +980,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        }
        kfree(trans);
  }
-@@ -5178,6 +5882,21 @@ static int nf_tables_commit(struct net *
+@@ -5183,6 +5887,21 @@ static int nf_tables_commit(struct net *
                        nf_tables_obj_notify(&trans->ctx, nft_trans_obj(trans),
                                             NFT_MSG_DELOBJ);
                        break;
@@ -1002,7 +1002,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                }
        }
  
-@@ -5215,6 +5934,9 @@ static void nf_tables_abort_release(stru
+@@ -5220,6 +5939,9 @@ static void nf_tables_abort_release(stru
        case NFT_MSG_NEWOBJ:
                nft_obj_destroy(nft_trans_obj(trans));
                break;
@@ -1012,7 +1012,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        }
        kfree(trans);
  }
-@@ -5306,6 +6028,17 @@ static int nf_tables_abort(struct net *n
+@@ -5311,6 +6033,17 @@ static int nf_tables_abort(struct net *n
                        nft_clear(trans->ctx.net, nft_trans_obj(trans));
                        nft_trans_destroy(trans);
                        break;
@@ -1030,7 +1030,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                }
        }
  
-@@ -5856,6 +6589,7 @@ EXPORT_SYMBOL_GPL(__nft_release_basechai
+@@ -5861,6 +6594,7 @@ EXPORT_SYMBOL_GPL(__nft_release_basechai
  /* Called by nft_unregister_afinfo() from __net_exit path, nfnl_lock is held. */
  static void __nft_release_afinfo(struct net *net, struct nft_af_info *afi)
  {
@@ -1038,7 +1038,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        struct nft_table *table, *nt;
        struct nft_chain *chain, *nc;
        struct nft_object *obj, *ne;
-@@ -5869,6 +6603,9 @@ static void __nft_release_afinfo(struct
+@@ -5874,6 +6608,9 @@ static void __nft_release_afinfo(struct
        list_for_each_entry_safe(table, nt, &afi->tables, list) {
                list_for_each_entry(chain, &table->chains, list)
                        nf_tables_unregister_hook(net, table, chain);
@@ -1048,7 +1048,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                /* No packets are walking on these chains anymore. */
                ctx.table = table;
                list_for_each_entry(chain, &table->chains, list) {
-@@ -5879,6 +6616,11 @@ static void __nft_release_afinfo(struct
+@@ -5884,6 +6621,11 @@ static void __nft_release_afinfo(struct
                                nf_tables_rule_release(&ctx, rule);
                        }
                }
@@ -1060,7 +1060,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                list_for_each_entry_safe(set, ns, &table->sets, list) {
                        list_del(&set->list);
                        table->use--;
-@@ -5922,6 +6664,8 @@ static int __init nf_tables_module_init(
+@@ -5927,6 +6669,8 @@ static int __init nf_tables_module_init(
        if (err < 0)
                goto err3;
  
@@ -1069,7 +1069,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        pr_info("nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>\n");
        return register_pernet_subsys(&nf_tables_net_ops);
  err3:
-@@ -5936,6 +6680,7 @@ static void __exit nf_tables_module_exit
+@@ -5941,6 +6685,7 @@ static void __exit nf_tables_module_exit
  {
        unregister_pernet_subsys(&nf_tables_net_ops);
        nfnetlink_subsys_unregister(&nf_tables_subsys);