|
22 | 22 | #include <net/net_namespace.h>
|
23 | 23 | #include <net/sock.h>
|
24 | 24 |
|
| 25 | +#define NFT_MODULE_AUTOLOAD_LIMIT (MODULE_NAME_LEN - sizeof("nft-expr-255-")) |
| 26 | + |
25 | 27 | static LIST_HEAD(nf_tables_expressions);
|
26 | 28 | static LIST_HEAD(nf_tables_objects);
|
27 | 29 | static LIST_HEAD(nf_tables_flowtables);
|
@@ -583,7 +585,7 @@ static void nft_request_module(struct net *net, const char *fmt, ...)
|
583 | 585 | va_start(args, fmt);
|
584 | 586 | ret = vsnprintf(module_name, MODULE_NAME_LEN, fmt, args);
|
585 | 587 | va_end(args);
|
586 |
| - if (WARN(ret >= MODULE_NAME_LEN, "truncated: '%s' (len %d)", module_name, ret)) |
| 588 | + if (ret >= MODULE_NAME_LEN) |
587 | 589 | return;
|
588 | 590 |
|
589 | 591 | mutex_unlock(&net->nft.commit_mutex);
|
@@ -1242,7 +1244,8 @@ static const struct nla_policy nft_chain_policy[NFTA_CHAIN_MAX + 1] = {
|
1242 | 1244 | .len = NFT_CHAIN_MAXNAMELEN - 1 },
|
1243 | 1245 | [NFTA_CHAIN_HOOK] = { .type = NLA_NESTED },
|
1244 | 1246 | [NFTA_CHAIN_POLICY] = { .type = NLA_U32 },
|
1245 |
| - [NFTA_CHAIN_TYPE] = { .type = NLA_STRING }, |
| 1247 | + [NFTA_CHAIN_TYPE] = { .type = NLA_STRING, |
| 1248 | + .len = NFT_MODULE_AUTOLOAD_LIMIT }, |
1246 | 1249 | [NFTA_CHAIN_COUNTERS] = { .type = NLA_NESTED },
|
1247 | 1250 | [NFTA_CHAIN_FLAGS] = { .type = NLA_U32 },
|
1248 | 1251 | };
|
@@ -2356,7 +2359,8 @@ static const struct nft_expr_type *nft_expr_type_get(struct net *net,
|
2356 | 2359 | }
|
2357 | 2360 |
|
2358 | 2361 | static const struct nla_policy nft_expr_policy[NFTA_EXPR_MAX + 1] = {
|
2359 |
| - [NFTA_EXPR_NAME] = { .type = NLA_STRING }, |
| 2362 | + [NFTA_EXPR_NAME] = { .type = NLA_STRING, |
| 2363 | + .len = NFT_MODULE_AUTOLOAD_LIMIT }, |
2360 | 2364 | [NFTA_EXPR_DATA] = { .type = NLA_NESTED },
|
2361 | 2365 | };
|
2362 | 2366 |
|
@@ -4199,7 +4203,8 @@ static const struct nla_policy nft_set_elem_policy[NFTA_SET_ELEM_MAX + 1] = {
|
4199 | 4203 | [NFTA_SET_ELEM_USERDATA] = { .type = NLA_BINARY,
|
4200 | 4204 | .len = NFT_USERDATA_MAXLEN },
|
4201 | 4205 | [NFTA_SET_ELEM_EXPR] = { .type = NLA_NESTED },
|
4202 |
| - [NFTA_SET_ELEM_OBJREF] = { .type = NLA_STRING }, |
| 4206 | + [NFTA_SET_ELEM_OBJREF] = { .type = NLA_STRING, |
| 4207 | + .len = NFT_OBJ_MAXNAMELEN - 1 }, |
4203 | 4208 | };
|
4204 | 4209 |
|
4205 | 4210 | static const struct nla_policy nft_set_elem_list_policy[NFTA_SET_ELEM_LIST_MAX + 1] = {
|
|
0 commit comments