Linux 5.4.272
Sasha Levin
maintainer-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
I'm announcing the release of the 5.4.272 kernel.
All users of the 5.4 kernel series must upgrade.
The updated 5.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.4.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
Thanks,
Sasha
- ------------
Makefile | 2 +- arch/alpha/kernel/osf_sys.c | 2 +- arch/arm64/boot/dts/qcom/sdm845.dtsi | 25 +- arch/um/Kconfig | 13 + arch/um/Makefile | 3 +- arch/x86/Makefile.um | 2 +- drivers/base/regmap/internal.h | 4 + drivers/base/regmap/regmap.c | 77 ++- drivers/input/serio/i8042-x86ia64io.h | 6 + drivers/net/ethernet/intel/ice/ice_main.c | 2 + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 56 +- drivers/net/geneve.c | 18 +- drivers/net/hyperv/netvsc_drv.c | 96 ++- drivers/net/usb/lan78xx.c | 910 ++++++++++++++++++++------ drivers/tty/serial/Kconfig | 1 + drivers/tty/serial/max310x.c | 378 ++++++++--- include/linux/regmap.h | 19 + include/uapi/linux/resource.h | 4 +- kernel/sys.c | 91 +-- net/ipv6/route.c | 21 +- net/netfilter/nf_conntrack_h323_asn1.c | 4 + net/netfilter/nft_ct.c | 11 +- net/netrom/af_netrom.c | 14 +- net/netrom/nr_dev.c | 2 +- net/netrom/nr_in.c | 6 +- net/netrom/nr_out.c | 2 +- net/netrom/nr_route.c | 8 +- net/netrom/nr_subr.c | 5 +- net/rds/rdma.c | 3 + net/rds/send.c | 6 +- tools/testing/selftests/vm/map_hugetlb.c | 7 + 31 files changed, 1334 insertions(+), 464 deletions(-)
Andy Shevchenko (4):
serial: max310x: Use devm_clk_get_optional() to get the input clock
serial: max310x: Try to get crystal clock rate from property
serial: max310x: Make use of device properties
serial: max310x: Unprepare and disable clock in error pathAnsuel Smith (1):
regmap: allow to define reg_update_bits for no bus configuration
Arnd Bergmann (1):
y2038: rusage: use __kernel_old_timeval
Cosmin Tanislav (4):
serial: max310x: use regmap methods for SPI batch operations
serial: max310x: use a separate regmap for each port
serial: max310x: make accessing revision id interface-agnostic
serial: max310x: implement I2C supportDexuan Cui (1):
hv_netvsc: Make netvsc/VF binding check both MAC and serial number
Edward Adam Davis (1):
net/rds: fix WARNING in rds_conn_connect_if_down
Eric Dumazet (2):
geneve: make sure to pull inner header in geneve_rx() net/ipv6: avoid possible UAF in ip6_route_mpath_notify()
Florian Westphal (1):
netfilter: nft_ct: fix l3num expectations with inet pseudo family
Hugo Villeneuve (2):
serial: max310x: fail probe if clock crystal is unstable
serial: max310x: prevent infinite while() loop in port startupJan Kundrát (1):
serial: max310x: fix IO data corruption in batched operations
Jason Xing (12):
netrom: Fix a data-race around sysctl_netrom_default_path_quality
netrom: Fix a data-race around sysctl_netrom_obsolescence_count_initialiser
netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser
netrom: Fix a data-race around sysctl_netrom_transport_timeout
netrom: Fix a data-race around sysctl_netrom_transport_maximum_tries
netrom: Fix a data-race around sysctl_netrom_transport_acknowledge_delay
netrom: Fix a data-race around sysctl_netrom_transport_busy_delay
netrom: Fix a data-race around sysctl_netrom_transport_requested_window_size
netrom: Fix a data-race around sysctl_netrom_transport_no_activity_timeout
netrom: Fix a data-race around sysctl_netrom_routing_control
netrom: Fix a data-race around sysctl_netrom_link_fails_count
netrom: Fix data-races around sysctl_net_busy_read
Johan Hovold (1):
arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts
Johannes Berg (1):
um: allow not setting extra rpaths in the linux binary
John Efstathiades (4):
lan78xx: Fix white space and style issues
lan78xx: Add missing return code checks
lan78xx: Fix partial packet errors on suspend/resume
lan78xx: Fix race conditions in suspend/resume handling
Juhee Kang (1):
hv_netvsc: use netif_is_bond_master() instead of open code
Lena Wang (1):
netfilter: nf_conntrack_h323: Add protection for bmp length out of range
Lina Iyer (1):
arm64: dts: qcom: add PDC interrupt controller for SDM845
Maciej Fijalkowski (1):
ixgbe: {dis, en}able irqs in ixgbe_txrx_ring_{dis, en}able
Marek Vasut (1):
regmap: Add bulk read/write callbacks into regmap_config
Nico Pache (1):
selftests: mm: fix map_hugetlb failure on 64K page size systems
Oleg Nesterov (4):
getrusage: add the "signal_struct *sig" local variable
getrusage: move thread_group_cputime_adjusted() outside of lock_task_sighand()
getrusage: use __for_each_thread()
getrusage: use sig->stats_lock rather than lock_task_sighand()
Oleksij Rempel (1):
net: lan78xx: fix runtime PM count underflow on link stop
Rand Deeb (1):
net: ice: Fix potential NULL pointer dereference in ice_bridge_setlink()
Sasha Levin (1):
Linux 5.4.272
Shradha Gupta (1):
hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed
Werner Sembach (1):
Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEE4n5dijQDou9mhzu83qZv95d3LNwFAmX0nLoACgkQ3qZv95d3 LNxrdw/+OcKPa2m7vFsJC7VGQgT9PtU14MOS3rrsVBotR76muYTk9xCXk2JX2fnK qaJKLv59rX0bkXTqzrHZbBlWSzslaM9Ka4gdB3hIyLglIAmjXNRb2PKPb0HVA9Dw a7vCLxGvv3wGPopTHd5/kED/XPh361VZP3OuNM9+qGsSPh/G4sgy031/6ABLx/i/ NyUKqY/+5CIx8uzMXKdytseNwBKh0oEaq6JbZ9o+9J6Uf5ZxonW5svSYhWPnr8ks WbkH1+Ykxdz77w84WGL1EHjeR5FmeXECUcDviQ9UqHVJabpJManmSV1t4O+8uoev x/1+/En9+1viEyUN4F+kbQFwb0a3icN+uF8LSz1GPOR4zJP/AKw7qec4vgcIXElm MDGSRNss41pNcCGXQzqQ40fXtdbP+ZOQS1l4GqrLzwt0YKEmF/rAgCxMCfPtiQRI BmUoTlTnpD/Yq7VudOXs8dNcH1Fmmfr1jGkEKTulcK8xyHbjxEMaJE19YSa7lnOy A1jdfwuNmlY+aM+keUqST5gJDM0qiLTMizxiZwSR9faMefh2teKekLEbCSenJXxw OEGlUBZ7EW1P6N6/IUO07Q5BJAcX+pgpj1u3lKYA/x+SxQscAh38F6k/Z44929UK F50bBtIsGliRxdktknGA7lYuUJTuVCYulLHYCqP7ovxsOu7D9z8= =116+
-----END PGP SIGNATURE-----
Sasha Levin
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 4 -SUBLEVEL = 271 +SUBLEVEL = 272 EXTRAVERSION = NAME = Kleptomaniac Octopus
arch/alpha/kernel/osf_sys.c +1 -1
@@ -963,7 +963,7 @@ put_tv32(struct timeval32 __user *o, struct timespec64 *i) }static inline long -put_tv_to_tv32 (struct timeval32 __user *o,struct timeval *i) +put_tv_to_tv32 (struct timeval32 __user *o,struct __kernel_old_timeval *i) { return copy_to_user(o, &(struct timeval32){ .tv_sec = i->tv_sec,
arch/arm64/boot/dts/qcom/sdm845.dtsi +17 -8
@@ -2501,10 +2501,10 @@ <&gcc GCC_USB30_PRIM_MASTER_CLK>; assigned-clock-rates = <19200000>, <150000000>; - interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 488 IRQ_TYPE_EDGE_BOTH>, - <GIC_SPI 489 IRQ_TYPE_EDGE_BOTH>; + interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>, + <&pdc_intc 8 IRQ_TYPE_EDGE_BOTH>, + <&pdc_intc 9 IRQ_TYPE_EDGE_BOTH>; interrupt-names = "hs_phy_irq", "ss_phy_irq", "dm_hs_phy_irq", "dp_hs_phy_irq";
@@ -2545,10 +2545,10 @@ <&gcc GCC_USB30_SEC_MASTER_CLK>; assigned-clock-rates = <19200000>, <150000000>; - interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 487 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 490 IRQ_TYPE_EDGE_BOTH>, - <GIC_SPI 491 IRQ_TYPE_EDGE_BOTH>; + interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 487 IRQ_TYPE_LEVEL_HIGH>, + <&pdc_intc 10 IRQ_TYPE_EDGE_BOTH>, + <&pdc_intc 11 IRQ_TYPE_EDGE_BOTH>; interrupt-names = "hs_phy_irq", "ss_phy_irq", "dm_hs_phy_irq", "dp_hs_phy_irq";
@@ -2940,6 +2940,15 @@ #power-domain-cells = <1>; }; + pdc_intc: interrupt-controller@b220000 { + compatible = "qcom,sdm845-pdc", "qcom,pdc"; + reg = <0 0x0b220000 0 0x30000>; + qcom,pdc-ranges = <0 480 94>, <94 609 15>, <115 630 7>; + #interrupt-cells = <2>; + interrupt-parent = <&intc>; + interrupt-controller; + }; + pdc_reset: reset-controller@b2e0000 { compatible = "qcom,sdm845-pdc-global"; reg = <0 0x0b2e0000 0 0x20000>;
arch/um/Kconfig +13 -0
@@ -85,6 +85,19 @@ config LD_SCRIPT_DYN depends on !LD_SCRIPT_STATIC select MODULE_REL_CRCS if MODVERSIONS +config LD_SCRIPT_DYN_RPATH + bool "set rpath in the binary" if EXPERT + default y + depends on LD_SCRIPT_DYN + help + Add /lib (and /lib64 for 64-bit) to the linux binary's rpath + explicitly. + + You may need to turn this off if compiling for nix systems + that have their libraries in random /nix directories and + might otherwise unexpected use libraries from /lib or /lib64 + instead of the desired ones. + config HOSTFS tristate "Host filesystem" help
arch/um/Makefile +2 -1
@@ -118,7 +118,8 @@ archprepare: $(Q)$(MAKE) $(build)=$(HOST_DIR)/um include/generated/user_constants.h LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static -LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib $(call cc-option, -no-pie) +LINK-$(CONFIG_LD_SCRIPT_DYN) += $(call cc-option, -no-pie) +LINK-$(CONFIG_LD_SCRIPT_DYN_RPATH) += -Wl,-rpath,/lib CFLAGS_NO_HARDENING := $(call cc-option, -fno-PIC,) $(call cc-option, -fno-pic,) \ $(call cc-option, -fno-stack-protector,) \
arch/x86/Makefile.um +1 -1
@@ -44,7 +44,7 @@ ELF_FORMAT := elf64-x86-64 # Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example. -LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64 +LINK-$(CONFIG_LD_SCRIPT_DYN_RPATH) += -Wl,-rpath,/lib64 LINK-y += -m64 endif
drivers/base/regmap/internal.h +4 -0
@@ -104,6 +104,10 @@ struct regmap {int (*reg_write)(void *context,unsigned int reg,unsigned int val);int (*reg_update_bits)(void *context,unsigned int reg,unsigned int mask,unsigned int val); +/* Bulk read/write */ +int (*read)(void *context,const void *reg_buf,size_t reg_size, +void *val_buf,size_t val_size); +int (*write)(void *context,const void *data,size_t count);bool defer_caching;
drivers/base/regmap/regmap.c +41 -36
197 lines not on this page · raw message
drivers/input/serio/i8042-x86ia64io.h +6 -0
@@ -1179,6 +1179,12 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {SERIO_QUIRK_RESET_ALWAYS |SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "NS5x_7xPU"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOAUX ) + }, { .matches = { DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"),
drivers/net/ethernet/intel/ice/ice_main.c +2 -0
@@ -4594,6 +4594,8 @@ ice_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh, pf_sw = pf->first_sw;/* find the attribute in the netlink message */ br_spec =nlmsg_find_attr (nlh,sizeof (struct ifinfomsg ),IFLA_AF_SPEC ); +if (!br_spec) +return -EINVAL ;nla_for_each_nested (attr, br_spec, rem) {__u16 mode;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +49 -7
93 lines not on this page · raw message
drivers/net/geneve.c +16 -2
@@ -215,7 +215,7 @@ static void geneve_rx(struct geneve_dev *geneve, struct geneve_sock *gs,struct metadata_dst *tun_dst =NULL ;struct pcpu_sw_netstats *stats;unsigned int len; -int err =0 ; +int nh, err =0 ;void *oiph;if (ip_tunnel_collect_metadata () || gs->collect_md) {
@@ -259,9 +259,23 @@ static void geneve_rx(struct geneve_dev *geneve, struct geneve_sock *gs, goto drop; } - oiph =skb_network_header (skb); +/* Save offset of outer header relative to skb->head, +* because we are going to reset the network header to the inner header +* and might change skb->head. +*/ + nh =skb_network_header (skb) - skb->head; +skb_reset_network_header (skb); +if (!pskb_inet_may_pull (skb)) { +DEV_STATS_INC (geneve->dev, rx_length_errors); +DEV_STATS_INC (geneve->dev, rx_errors); + goto drop; + } + +/* Get the outer header. */ + oiph = skb->head + nh; +if (geneve_get_sk_family (gs) ==AF_INET ) err =IP_ECN_decapsulate (oiph, skb);#if IS_ENABLED (CONFIG_IPV6 )
drivers/net/hyperv/netvsc_drv.c +73 -23
160 lines not on this page · raw message
drivers/net/usb/lan78xx.c +711 -199
1,454 lines not on this page · raw message
drivers/tty/serial/Kconfig +1 -0
@@ -354,6 +354,7 @@ config SERIAL_MAX310X depends on SPI_MASTER select SERIAL_CORE select REGMAP_SPI if SPI_MASTER + select REGMAP_I2C if I2C help This selects support for an advanced UART from Maxim (Dallas). Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830.
drivers/tty/serial/max310x.c +277 -101
636 lines not on this page · raw message
include/linux/regmap.h +19 -0
@@ -295,6 +295,17 @@ typedef void (*regmap_unlock)(void *);* read operation on a bus such as SPI, I2C, etc. Most of the * devices do not need this. * @reg_write: Same as above for writing. +* @reg_update_bits: Optional callback that if filled will be used to perform +* all the update_bits(rmw) operation. Should only be provided +* if the function require special handling with lock and reg +* handling and the operation cannot be represented as a simple +* update_bits operation on a bus such as SPI, I2C, etc. +* @read: Optional callback that if filled will be used to perform all the +* bulk reads from the registers. Data is returned in the buffer used +* to transmit data. +* @write: Same as above for writing. +* @max_raw_read: Max raw read size that can be used on the device. +* @max_raw_write: Max raw write size that can be used on the device. * @fast_io: Register IO is fast. Use a spinlock instead of a mutex * to perform locking. This field is ignored if custom lock/unlock * functions are used (see fields lock/unlock of struct regmap_config).
@@ -371,6 +382,14 @@ struct regmap_config {int (*reg_read)(void *context,unsigned int reg,unsigned int *val);int (*reg_write)(void *context,unsigned int reg,unsigned int val); +int (*reg_update_bits)(void *context,unsigned int reg, +unsigned int mask,unsigned int val); +/* Bulk read/write */ +int (*read)(void *context,const void *reg_buf,size_t reg_size, +void *val_buf,size_t val_size); +int (*write)(void *context,const void *data,size_t count); +size_t max_raw_read; +size_t max_raw_write;bool fast_io;
include/uapi/linux/resource.h +2 -2
@@ -22,8 +22,8 @@#define RUSAGE_THREAD 1/* only the calling thread */ struct rusage { -struct timeval ru_utime;/* user time used */ -struct timeval ru_stime;/* system time used */ +struct __kernel_old_timeval ru_utime;/* user time used */ +struct __kernel_old_timeval ru_stime;/* system time used */ __kernel_long_t ru_maxrss;/* maximum resident set size */ __kernel_long_t ru_ixrss;/* integral shared memory size */ __kernel_long_t ru_idrss;/* integral unshared data size */
kernel/sys.c +52 -39
126 lines not on this page · raw message
net/ipv6/route.c +7 -14
@@ -5218,19 +5218,7 @@ static int ip6_route_multipath_add(struct fib6_config *cfg, err_nh =NULL ;list_for_each_entry (nh, &rt6_nh_list, next) { err =__ip6_ins_rt (nh->fib6_info, info, extack); -fib6_info_release (nh->fib6_info); - -if (!err) { -/* save reference to last route successfully inserted */ - rt_last = nh->fib6_info; - -/* save reference to first route for notification */ -if (!rt_notif) - rt_notif = nh->fib6_info; - } -/* nh->fib6_info is used or freed at this point, reset to NULL*/ - nh->fib6_info =NULL ;if (err) {if (replace && nhn) NL_SET_ERR_MSG_MOD(extack,
@@ -5238,6 +5226,12 @@ static int ip6_route_multipath_add(struct fib6_config *cfg, err_nh = nh; goto add_errout; } +/* save reference to last route successfully inserted */ + rt_last = nh->fib6_info; + +/* save reference to first route for notification */ +if (!rt_notif) + rt_notif = nh->fib6_info;/* Because each route is added like a single route we remove * these flags after the first nexthop: if there is a collision,
@@ -5284,8 +5278,7 @@ static int ip6_route_multipath_add(struct fib6_config *cfg, cleanup:list_for_each_entry_safe (nh, nh_safe, &rt6_nh_list, next) { -if (nh->fib6_info) -fib6_info_release (nh->fib6_info); +fib6_info_release (nh->fib6_info);list_del (&nh->next);kfree (nh); }
net/netfilter/nf_conntrack_h323_asn1.c +4 -0
@@ -533,6 +533,8 @@ static int decode_seq(struct bitstr *bs, const struct field_t *f,/* Get fields bitmap */ if (nf_h323_error_boundary (bs,0 , f->sz))return H323_ERROR_BOUND ; +if (f->sz >32 ) +return H323_ERROR_RANGE ; bmp =get_bitmap (bs, f->sz);if (base) *(unsigned int *)base = bmp;
@@ -589,6 +591,8 @@ static int decode_seq(struct bitstr *bs, const struct field_t *f, bmp2_len =get_bits (bs,7 ) +1 ;if (nf_h323_error_boundary (bs,0 , bmp2_len))return H323_ERROR_BOUND ; +if (bmp2_len >32 ) +return H323_ERROR_RANGE ; bmp2 =get_bitmap (bs, bmp2_len); bmp |= bmp2 >> f->sz;if (base)
net/netfilter/nft_ct.c +5 -6
@@ -1180,14 +1180,13 @@ static int nft_ct_expect_obj_init(const struct nft_ctx *ctx,switch (priv->l3num) {case NFPROTO_IPV4 :case NFPROTO_IPV6 : -if (priv->l3num != ctx->family) -return -EINVAL ; +if (priv->l3num == ctx->family || ctx->family ==NFPROTO_INET ) +break ; - fallthrough; -case NFPROTO_INET : -break ; +return -EINVAL ; +case NFPROTO_INET :/* tuple.src.l3num supports NFPROTO_IPV4/6 only */ default : -return -EOPNOTSUPP ; +return -EAFNOSUPPORT ; } priv->l4proto =nla_get_u8 (tb[NFTA_CT_EXPECT_L4PROTO ]);
net/netrom/af_netrom.c +7 -7
@@ -431,16 +431,16 @@ static int nr_create(struct net *net, struct socket *sock, int protocol,nr_init_timers (sk); nr->t1 = -msecs_to_jiffies (sysctl_netrom_transport_timeout); +msecs_to_jiffies (READ_ONCE (sysctl_netrom_transport_timeout)); nr->t2 = -msecs_to_jiffies (sysctl_netrom_transport_acknowledge_delay); +msecs_to_jiffies (READ_ONCE (sysctl_netrom_transport_acknowledge_delay)); nr->n2 = -msecs_to_jiffies (sysctl_netrom_transport_maximum_tries); +msecs_to_jiffies (READ_ONCE (sysctl_netrom_transport_maximum_tries)); nr->t4 = -msecs_to_jiffies (sysctl_netrom_transport_busy_delay); +msecs_to_jiffies (READ_ONCE (sysctl_netrom_transport_busy_delay)); nr->idle = -msecs_to_jiffies (sysctl_netrom_transport_no_activity_timeout); - nr->window = sysctl_netrom_transport_requested_window_size; +msecs_to_jiffies (READ_ONCE (sysctl_netrom_transport_no_activity_timeout)); + nr->window =READ_ONCE (sysctl_netrom_transport_requested_window_size); nr->bpqext =1 ; nr->state =NR_STATE_0 ;
@@ -932,7 +932,7 @@ int nr_rx_frame(struct sk_buff *skb, struct net_device *dev)* G8PZT's Xrouter which is sending packets with command type 7 * as an extension of the protocol. */ -if (sysctl_netrom_reset_circuit && +if (READ_ONCE (sysctl_netrom_reset_circuit) && (frametype !=NR_RESET || flags !=0 ))nr_transmit_reset (skb,1 );
net/netrom/nr_dev.c +1 -1
@@ -81,7 +81,7 @@ static int nr_header(struct sk_buff *skb, struct net_device *dev, buff[6 ] |=AX25_SSSID_SPARE ; buff +=AX25_ADDR_LEN ; - *buff++ = sysctl_netrom_network_ttl_initialiser; + *buff++ =READ_ONCE (sysctl_netrom_network_ttl_initialiser); *buff++ =NR_PROTO_IP ; *buff++ =NR_PROTO_IP ;
net/netrom/nr_in.c +3 -3
@@ -97,7 +97,7 @@ static int nr_state1_machine(struct sock *sk, struct sk_buff *skb,break ;case NR_RESET : -if (sysctl_netrom_reset_circuit) +if (READ_ONCE (sysctl_netrom_reset_circuit))nr_disconnect (sk,ECONNRESET );break ;
@@ -128,7 +128,7 @@ static int nr_state2_machine(struct sock *sk, struct sk_buff *skb,break ;case NR_RESET : -if (sysctl_netrom_reset_circuit) +if (READ_ONCE (sysctl_netrom_reset_circuit))nr_disconnect (sk,ECONNRESET );break ;
Lines of this file are not shown. View the raw message.
tools/testing/selftests/vm/map_hugetlb.c +7 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.