diff options
| author | Florian Westphal <fw@strlen.de> | 2022-06-23 15:05:12 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-11-28 16:56:24 +0000 |
| commit | 25da0f582119eee67334c942c61a5570618d0701 (patch) | |
| tree | b7acc9e7a1f294b5f17b13d0423bd3355e430c22 /include | |
| parent | a48f6be5bdb76b0d54b0b341ec87072d340072fe (diff) | |
| download | linux-25da0f582119eee67334c942c61a5570618d0701.tar.gz linux-25da0f582119eee67334c942c61a5570618d0701.tar.bz2 linux-25da0f582119eee67334c942c61a5570618d0701.zip | |
netfilter: nf_tables: add and use BE register load-store helpers
[ Upstream commit 7278b3c1e4ebf6f9c4cda07600f19824857c81fe ]
Same as the existing ones, no conversions. This is just for sparse sake
only so that we no longer mix be16/u16 and be32/u32 types.
Alternative is to add __force __beX in various places, but this
seems nicer.
objdiff shows no changes.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Stable-dep-of: c301f0981fdd ("netfilter: nf_tables: fix pointer math issue in nft_byteorder_eval()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/netfilter/nf_tables.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h index a0b47f2b896e..df91b9f42255 100644 --- a/include/net/netfilter/nf_tables.h +++ b/include/net/netfilter/nf_tables.h @@ -144,11 +144,26 @@ static inline void nft_reg_store16(u32 *dreg, u16 val) *(u16 *)dreg = val; } +static inline void nft_reg_store_be16(u32 *dreg, __be16 val) +{ + nft_reg_store16(dreg, (__force __u16)val); +} + static inline u16 nft_reg_load16(const u32 *sreg) { return *(u16 *)sreg; } +static inline __be16 nft_reg_load_be16(const u32 *sreg) +{ + return (__force __be16)nft_reg_load16(sreg); +} + +static inline __be32 nft_reg_load_be32(const u32 *sreg) +{ + return *(__force __be32 *)sreg; +} + static inline void nft_reg_store64(u32 *dreg, u64 val) { put_unaligned(val, (u64 *)dreg); |
