Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Minor conflict in drivers/s390/net/qeth_l2_main.c, kept the lock from commitc8183f5489
("s390/qeth: fix potential deadlock on workqueue flush"), removed the code which was removed by commit9897d583b0
("s390/qeth: consolidate some duplicated HW cmd code"). Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
This commit is contained in:
@@ -1297,6 +1297,27 @@ out:
|
||||
|
||||
#define UDP_SKB_IS_STATELESS 0x80000000
|
||||
|
||||
/* all head states (dst, sk, nf conntrack) except skb extensions are
|
||||
* cleared by udp_rcv().
|
||||
*
|
||||
* We need to preserve secpath, if present, to eventually process
|
||||
* IP_CMSG_PASSSEC at recvmsg() time.
|
||||
*
|
||||
* Other extensions can be cleared.
|
||||
*/
|
||||
static bool udp_try_make_stateless(struct sk_buff *skb)
|
||||
{
|
||||
if (!skb_has_extensions(skb))
|
||||
return true;
|
||||
|
||||
if (!secpath_exists(skb)) {
|
||||
skb_ext_reset(skb);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static void udp_set_dev_scratch(struct sk_buff *skb)
|
||||
{
|
||||
struct udp_dev_scratch *scratch = udp_skb_scratch(skb);
|
||||
@@ -1308,11 +1329,7 @@ static void udp_set_dev_scratch(struct sk_buff *skb)
|
||||
scratch->csum_unnecessary = !!skb_csum_unnecessary(skb);
|
||||
scratch->is_linear = !skb_is_nonlinear(skb);
|
||||
#endif
|
||||
/* all head states execept sp (dst, sk, nf) are always cleared by
|
||||
* udp_rcv() and we need to preserve secpath, if present, to eventually
|
||||
* process IP_CMSG_PASSSEC at recvmsg() time
|
||||
*/
|
||||
if (likely(!skb_sec_path(skb)))
|
||||
if (udp_try_make_stateless(skb))
|
||||
scratch->_tsize_state |= UDP_SKB_IS_STATELESS;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user