diff options
| author | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2019-06-19 15:18:48 +0200 |
|---|---|---|
| committer | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2019-06-19 15:18:48 +0200 |
| commit | 2ee692802b8f6c54bd6499addd3d07c2833d84d8 (patch) | |
| tree | 6aa9a7de774804de0d5a944436a380eb99a6ac68 /include/net/udp.h | |
| parent | 0f5a5712ad1e3b8472b1c1459681dadad9277067 (diff) | |
| parent | 1dcff4ae65185e8c0300972f6d8d39d9a9db2bda (diff) | |
| download | talos-op-linux-2ee692802b8f6c54bd6499addd3d07c2833d84d8.tar.gz talos-op-linux-2ee692802b8f6c54bd6499addd3d07c2833d84d8.zip | |
Merge tag 'topic/remove-fbcon-notifiers-2019-06-14-1' of git://anongit.freedesktop.org/drm/drm-misc into fbdev-for-next
topic/remove-fbcon-notifiers:
- remove fbdev notifier usage for fbcon, as prep work to clean up the fbcon locking
- assorted locking checks in vt/console code
- assorted notifier and cleanups in fbdev and backlight code
One trivial merge conflict fixed.
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Diffstat (limited to 'include/net/udp.h')
| -rw-r--r-- | include/net/udp.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/include/net/udp.h b/include/net/udp.h index d8ce937bc395..79d141d2103b 100644 --- a/include/net/udp.h +++ b/include/net/udp.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * INET An implementation of the TCP/IP protocol suite for the LINUX * operating system. INET is implemented using the BSD Socket @@ -13,11 +14,6 @@ * Fixes: * Alan Cox : Turned on udp checksums. I don't want to * chase 'memory corruption' bugs that aren't! - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. */ #ifndef _UDP_H #define _UDP_H @@ -471,12 +467,19 @@ void udpv6_encap_enable(void); static inline struct sk_buff *udp_rcv_segment(struct sock *sk, struct sk_buff *skb, bool ipv4) { + netdev_features_t features = NETIF_F_SG; struct sk_buff *segs; + /* Avoid csum recalculation by skb_segment unless userspace explicitly + * asks for the final checksum values + */ + if (!inet_get_convert_csum(sk)) + features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM; + /* the GSO CB lays after the UDP one, no need to save and restore any * CB fragment */ - segs = __skb_gso_segment(skb, NETIF_F_SG, false); + segs = __skb_gso_segment(skb, features, false); if (unlikely(IS_ERR_OR_NULL(segs))) { int segs_nr = skb_shinfo(skb)->gso_segs; |

