As no "genre" on pf.os exceed 16 bytes of length, we reduce OSF_GENRE_SIZE parameter to 16 bytes and use it instead of IFNAMSIZ. Signed-off-by: Fernando Fernandez Mancera <ffmancera@xxxxxxxxxx> --- include/linux/netfilter/nfnetlink_osf.h | 2 ++ net/netfilter/nft_osf.c | 6 ++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/netfilter/nfnetlink_osf.h b/include/linux/netfilter/nfnetlink_osf.h index a7311bc03d3a..6215dbf4f122 100644 --- a/include/linux/netfilter/nfnetlink_osf.h +++ b/include/linux/netfilter/nfnetlink_osf.h @@ -4,6 +4,8 @@ #include <uapi/linux/netfilter/nfnetlink_osf.h> +#define OSF_GENRE_SIZE 16 + /* Initial window size option state machine: multiple of mss, mtu or * plain numeric value. Can also be made as plain numeric value which * is not a multiple of specified value. diff --git a/net/netfilter/nft_osf.c b/net/netfilter/nft_osf.c index 9b2f3de7be4f..6564adfe5c6f 100644 --- a/net/netfilter/nft_osf.c +++ b/net/netfilter/nft_osf.c @@ -4,8 +4,6 @@ #include <net/netfilter/nf_tables.h> #include <linux/netfilter/nfnetlink_osf.h> -#define OSF_GENRE_SIZE 32 - struct nft_osf { enum nft_registers dreg:8; }; @@ -37,9 +35,9 @@ static void nft_osf_eval(const struct nft_expr *expr, struct nft_regs *regs, os_name = nf_osf_find(skb, nf_osf_fingers); if (!os_name) - strncpy((char *)dest, "unknown", IFNAMSIZ); + strncpy((char *)dest, "unknown", OSF_GENRE_SIZE); else - strncpy((char *)dest, os_name, IFNAMSIZ); + strncpy((char *)dest, os_name, OSF_GENRE_SIZE); } static int nft_osf_init(const struct nft_ctx *ctx, -- 2.18.0 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html