Linux 5.3

From: Linus Torvalds
Date: Sun Sep 15 2019 - 18:02:09 EST


So we've had a fairly quiet last week, but I think it was good that we
ended up having that extra week and the final rc8.

Even if the reason for that extra week was my travel schedule rather
than any pending issues, we ended up having a few good fixes come in,
including some for some bad btrfs behavior. Yeah, there's some
unnecessary noise in there too (like the speling fixes), but we also
had several last-minute reverts for things that caused issues.

One _particularly_ last-minute revert is the top-most commit (ignoring
the version change itself) done just before the release, and while
it's very annoying, it's perhaps also instructive.

What's instructive about it is that I reverted a commit that wasn't
actually buggy. In fact, it was doing exactly what it set out to do,
and did it very well. In fact it did it _so_ well that the much
improved IO patterns it caused then ended up revealing a user-visible
regression due to a real bug in a completely unrelated area.

The actual details of that regression are not the reason I point that
revert out as instructive, though. It's more that it's an instructive
example of what counts as a regression, and what the whole "no
regressions" kernel rule means. The reverted commit didn't change any
API's, and it didn't introduce any new bugs. But it ended up exposing
another problem, and as such caused a kernel upgrade to fail for a
user. So it got reverted.

The point here being that we revert based on user-reported _behavior_,
not based on some "it changes the ABI" or "it caused a bug" concept.
The problem was really pre-existing, and it just didn't happen to
trigger before. The better IO patterns introduced by the change just
happened to expose an old bug, and people had grown to depend on the
previously benign behavior of that old issue.

And never fear, we'll re-introduce the fix that improved on the IO
patterns once we've decided just how to handle the fact that we had a
bad interaction with an interface that people had then just happened
to rely on incidental behavior for before. It's just that we'll have
to hash through how to do that (there are no less than three different
patches by three different developers being discussed, and there might
be more coming...). In the meantime, I reverted the thing that exposed
the problem to users for this release, even if I hope it will be
re-introduced (perhaps even backported as a stable patch) once we have
consensus about the issue it exposed.

Take-away from the whole thing: it's not about whether you change the
kernel-userspace ABI, or fix a bug, or about whether the old code
"should never have worked in the first place". It's about whether
something breaks existing users' workflow.

Anyway, that was my little aside on the whole regression thing. Since
it's that "first rule of kernel programming", I felt it is perhaps
worth just bringing it up every once in a while.

Other than that aside, I don't find a lot to really talk about last
week. Drivers, networking (and network drivers), arch updates,
selftests. And a few random fixes in various other corners. The
appended shortlog is not overly long, and gives a flavor for the
changes.

And this obviously means that the merge window for 5.4 is open, and
I'll start doing pull requests for that tomorrow. I already have a
number of them in my inbox, and I appreciate all the people who got
that over and done with early,

Linus

---

Alexander Duyck (1):
ixgbe: Prevent u8 wrapping of ITR value to something less than 10us

Alexei Starovoitov (1):
bpf: fix precision tracking of stack slots

Andreas Kemnade (1):
regulator: twl: voltage lists for vdd1/2 on twl4030

Andrew Jeffery (1):
pinctrl: aspeed: Fix spurious mux failures on the AST2500

Arnd Bergmann (2):
ipc: fix semtimedop for generic 32-bit architectures
ipc: fix sparc64 ipc() wrapper

BjÃrn Mork (1):
cdc_ether: fix rndis support for Mediatek based smartphones

Chris Wilson (2):
drm/i915: Restore relaxed padding (OCL_OOB_SUPPRES_ENABLE) for skl+
Revert "drm/i915/userptr: Acquire the page lock around set_page_dirty()"

Christophe JAILLET (3):
net/hamradio/6pack: Fix the size of a sk_buff used in 'sp_bump()'
ipv6: Fix the link time qualifier of 'ping_v6_proc_exit_net()'
sctp: Fix the link time qualifier of 'sctp_ctrlsock_exit()'

Colin Ian King (4):
NFC: st95hf: fix spelling mistake "receieve" -> "receive"
net: lmc: fix spelling mistake "runnin" -> "running"
net: hns3: fix spelling mistake "undeflow" -> "underflow"
mlx4: fix spelling mistake "veify" -> "verify"

Cong Wang (2):
net_sched: check cops->tcf_block in tc_bind_tclass()
sch_hhf: ensure quantum and hhf_non_hh_weight are non-zero

Dan Carpenter (1):
regulator: slg51000: Fix a couple NULL vs IS_ERR() checks

Daniel Drake (1):
Revert "mmc: sdhci: Remove unneeded quirk2 flag of O2 SD host controller"

David Ahern (2):
ipv6: Fix RTA_MULTIPATH with nexthop objects
selftest: A few cleanups for fib_nexthops.sh

David Howells (1):
rxrpc: Fix misplaced traceline

Dmitry Torokhov (1):
gpiolib: of: fix fallback quirks handling

Donald Sharp (1):
net: Properly update v4 routes with v6 nexthop

Eric Biggers (1):
isdn/capi: check message length in capi_write()

Eric Dumazet (1):
net: sched: fix reordering issues

Eugene Syromiatnikov (1):
fork: block invalid exit signals with clone3()

Fernando Fernandez Mancera (1):
netfilter: nft_socket: fix erroneous socket assignment

Filipe Manana (2):
Btrfs: fix assertion failure during fsync and use of stale transaction
Btrfs: fix unwritten extent buffers and hangs on future writeback attempts

Florian Westphal (1):
xfrm: policy: avoid warning splat when merging nodes

Fred Lotter (1):
nfp: flower: cmsg rtnl locks can timeout reify messages

Fuqian Huang (1):
KVM: x86: work around leak of uninitialized stack contents

Hans de Goede (1):
gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option
and blacklist

Harish Bandi (1):
Bluetooth: hci_qca: disable irqs when spinlock is acquired

Hui Peng (1):
rsi: fix a double free bug in rsi_91x_deinit()

Igor Mammedov (1):
KVM: s390: kvm_s390_vm_start_migration: check dirty_bitmap
before using it as target for memset()

Ilya Maximets (1):
ixgbe: fix double clean of Tx descriptors with xdp

Jan Stancek (1):
x86/timer: Force PIT initialization when !X86_FEATURE_ARAT

Jeff Kirsher (1):
ixgbevf: Fix secpath usage for IPsec Tx offload

Jian-Hong Pan (1):
Bluetooth: btrtl: Additional Realtek 8822CE Bluetooth devices

John Fastabend (1):
net: sock_map, fix missing ulp check in sock hash case

Jouni Malinen (1):
mac80211: Do not send Layer 2 Update frame before authorization

Juliet Kim (1):
net/ibmvnic: free reset work of removed device from queue

Ka-Cheong Poon (1):
net/rds: An rds_sock is added too early to the hash table

Kent Gibson (2):
gpio: fix line flag validation in linehandle_create
gpio: fix line flag validation in lineevent_create

Leonardo Bras (2):
netfilter: bridge: Drops IPv6 packets if IPv6 module is not loaded
netfilter: nft_fib_netdev: Terminate rule eval if protocol=IPv6
and ipv6 module is disabled

Linus Torvalds (2):
Revert "ext4: make __ext4_get_inode_loc plug"
Linux 5.3

Luca Coelho (1):
iwlwifi: assign directly to iwl_trans->cfg in QuZ detection

Maciej Åenczykowski (2):
net-ipv6: fix excessive RTF_ADDRCONF flag on ::1/128 local route
(and others)
ipv6: addrconf_f6i_alloc - fix non-null pointer check to !IS_ERR()

Mao Wenan (5):
net: sonic: return NETDEV_TX_OK if failed to map buffer
net: sonic: replace dev_kfree_skb in sonic_send_packet
sctp: change return type of sctp_get_port_local
sctp: remove redundant assignment when call sctp_get_port_local
sctp: destroy bucket if failed to bind addr

Marcel Holtmann (1):
Revert "Bluetooth: validate BLE connection interval updates"

Mario Limonciello (1):
Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature"

Mark-PK Tsai (1):
perf/hw_breakpoint: Fix arch_hw_breakpoint use-before-initialization

Matthias Lange (1):
virtio_ring: fix unmap of indirect descriptors

Maxime Ripard (1):
drm/modes: Make the whitelist more const

Michael S. Tsirkin (2):
vhost: block speculation of translated descriptors
Revert "vhost: block speculation of translated descriptors"

Michal Suchanek (1):
net/ibmvnic: Fix missing { in __ibmvnic_reset

Moritz Fischer (1):
net: fixed_phy: Add forward declaration for struct gpio_desc;

Navid Emamdoost (3):
Bluetooth: bpa10x: change return value
wimax: i2400: fix memory leak
net: qrtr: fix memort leak in qrtr_tun_write_iter

Neal Cardwell (1):
tcp: fix tcp_ecn_withdraw_cwr() to clear TCP_ECN_QUEUE_CWR

Nicolas Dichtel (5):
xfrm interface: avoid corruption on changelink
xfrm interface: ifname may be wrong in logs
xfrm interface: fix list corruption for x-netns
xfrm interface: fix management of phydev
bridge/mdb: remove wrong use of NLM_F_MULTI

Pablo Neira Ayuso (2):
netfilter: ctnetlink: honor IPS_OFFLOAD flag
netfilter: nf_flow_table: set default timeout after successful insertion

Paolo Bonzini (1):
KVM: nVMX: handle page fault in vmread

Paul Walmsley (1):
riscv: modify the Image header to improve compatibility with the
ARM64 header

Raag Jadav (1):
regulator: act8945a-regulator: fix ldo register addresses in set_mode hook

Radhey Shyam Pandey (1):
MAINTAINERS: add myself as maintainer for xilinx axiethernet driver

Randy Dunlap (1):
lib/Kconfig: fix OBJAGG in lib/ menu structure

Roman Gushchin (2):
kselftests: cgroup: add freezer mkdir test
cgroup: freezer: fix frozen state inheritance

Sean Christopherson (1):
KVM: x86/mmu: Reintroduce fast invalidate/zap for flushing memslot

Shmulik Ladkani (1):
net: gso: Fix skb_segment splat when splitting gso_size mangled
skb having linear-headed frag_list

Stanislaw Gruszka (4):
mt76: mt76x0e: don't use hw encryption for MT7630E
mt76: mt76x0e: disable 5GHz band for MT7630E
rt2x00: clear up IV's on key removal
Revert "rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band"

Stefan Chulski (1):
net: phylink: Fix flow control resolution

Stefan Wahren (1):
Revert "mmc: bcm2835: Terminate timeout work synchronously"

Steffen Klassert (1):
ixgbe: Fix secpath usage for IPsec TX offload.

Steve Wahl (1):
x86/purgatory: Change compiler flags from -mcmodel=kernel to
-mcmodel=large to fix kexec relocation errors

Subash Abhinov Kasiviswanathan (1):
net: Fix null de-reference of device refcount

Thomas Huth (1):
KVM: s390: Do not leak kernel stack data in the KVM_S390_INTERRUPT ioctl

Ulf Hansson (3):
Revert "mmc: tmio: move runtime PM enablement to the driver
implementations"
mmc: tmio: Fixup runtime PM management during probe
mmc: tmio: Fixup runtime PM management during remove

Vasily Khoruzhick (1):
drm/lima: fix lima_gem_wait() return value

Ville SyrjÃlà (1):
drm/i915: Limit MST to <= 8bpc once again

Wei Yongjun (1):
gpio: mockup: add missing single_release()

Wen Huang (1):
mwifiex: Fix three heap overflow at parsing element in
cfg80211_ap_settings

Xin Long (3):
sctp: use transport pf_retrans in sctp_do_8_2_transport_strike
tipc: add NULL pointer check before calling kfree_rcu
sctp: fix the missing put_user when dumping transport thresholds

Yang Yingliang (1):
tun: fix use-after-free when register netdev failed

Yizhuo (1):
net: stmmac: dwmac-sun8i: Variable "val" in function
sun8i_dwmac_set_syscon() could be uninitialized

Yunfeng Ye (1):
genirq: Prevent NULL pointer dereference in resend_irqs()

Zhu Yanjun (1):
forcedeth: use per cpu to collect xmit/recv statistics

yongduan (1):
vhost: make sure log_num < in_num