diff options
| author | David S. Miller <davem@davemloft.net> | 2019-08-19 11:54:03 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2019-08-19 11:54:03 -0700 |
| commit | 446bf64b613c4433dac4b15f4eaf326beaad3c8e (patch) | |
| tree | b20b9457234f6f9a5d7464213ef6d10f95f3eed3 /include/net/sock.h | |
| parent | net: hns: add phy_attached_info() to the hns driver (diff) | |
| parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (diff) | |
| download | linux-446bf64b613c4433dac4b15f4eaf326beaad3c8e.tar.gz linux-446bf64b613c4433dac4b15f4eaf326beaad3c8e.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Merge conflict of mlx5 resolved using instructions in merge
commit 9566e650bf7fdf58384bb06df634f7531ca3a97e.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/sock.h')
| -rw-r--r-- | include/net/sock.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index 228db3998e46..2c53f1a1d905 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -2482,6 +2482,7 @@ static inline bool sk_fullsock(const struct sock *sk) /* Checks if this SKB belongs to an HW offloaded socket * and whether any SW fallbacks are required based on dev. + * Check decrypted mark in case skb_orphan() cleared socket. */ static inline struct sk_buff *sk_validate_xmit_skb(struct sk_buff *skb, struct net_device *dev) @@ -2489,8 +2490,15 @@ static inline struct sk_buff *sk_validate_xmit_skb(struct sk_buff *skb, #ifdef CONFIG_SOCK_VALIDATE_XMIT struct sock *sk = skb->sk; - if (sk && sk_fullsock(sk) && sk->sk_validate_xmit_skb) + if (sk && sk_fullsock(sk) && sk->sk_validate_xmit_skb) { skb = sk->sk_validate_xmit_skb(sk, dev, skb); +#ifdef CONFIG_TLS_DEVICE + } else if (unlikely(skb->decrypted)) { + pr_warn_ratelimited("unencrypted skb with no associated socket - dropping\n"); + kfree_skb(skb); + skb = NULL; +#endif + } #endif return skb; |
