summaryrefslogtreecommitdiffstats
path: root/net/core/flow_dissector.c
diff options
context:
space:
mode:
authorAlexander Lobakin <alobakin@pm.me>2021-03-12 20:08:57 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-30 14:31:58 +0200
commit33cc382c5830c7fbbc69625c3cb29b5fd0f808f2 (patch)
tree77b5369aa6ee9d3aba0acc0bc2827c38102261db /net/core/flow_dissector.c
parentfce6fb90218935f7319265459484b3762c80d0a8 (diff)
downloadlinux-stable-33cc382c5830c7fbbc69625c3cb29b5fd0f808f2.tar.gz
linux-stable-33cc382c5830c7fbbc69625c3cb29b5fd0f808f2.tar.bz2
linux-stable-33cc382c5830c7fbbc69625c3cb29b5fd0f808f2.zip
flow_dissector: fix byteorder of dissected ICMP ID
[ Upstream commit a25f822285420486f5da434efc8d940d42a83bce ] flow_dissector_key_icmp::id is of type u16 (CPU byteorder), ICMP header has its ID field in network byteorder obviously. Sparse says: net/core/flow_dissector.c:178:43: warning: restricted __be16 degrades to integer Convert ID value to CPU byteorder when storing it into flow_dissector_key_icmp. Fixes: 5dec597e5cd0 ("flow_dissector: extract more ICMP information") Signed-off-by: Alexander Lobakin <alobakin@pm.me> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net/core/flow_dissector.c')
-rw-r--r--net/core/flow_dissector.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
index e21950a2c897..c79be25b2e0c 100644
--- a/net/core/flow_dissector.c
+++ b/net/core/flow_dissector.c
@@ -175,7 +175,7 @@ void skb_flow_get_icmp_tci(const struct sk_buff *skb,
* avoid confusion with packets without such field
*/
if (icmp_has_id(ih->type))
- key_icmp->id = ih->un.echo.id ? : 1;
+ key_icmp->id = ih->un.echo.id ? ntohs(ih->un.echo.id) : 1;
else
key_icmp->id = 0;
}