On 15:00 Sun 15 Sep 2019, Linus Torvalds wrote: >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 > Thanks, man! time to dive in. Bhaskar >--- > >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