So 4.14 continues to be a somewhat painful release, and I'm starting to at least partly blame the fact that it's meant to be an LTS release.
The last LTS release we had (4.9) resulted in one of the biggest kernel releases we ever had because everybody wanted in; the 4.14 release doesn't seem to be as large, but it does seem to result in some late work happening because people want to prep for 4.14, knowing it will be LTS. But who knows. Some of this may just be pure coincidence too. But I already know of two more pull requests that are still pending that will also probably want to be pushed into 4.14. Anyway, on to the actual rc3 changes.. Most of them are the normal small fixes, but a few things do stand out: - some x86 FPU state handling fixes - fixed some crypto problems in our internal key handling - some smp/hotplug cleanups and all of them are bigger than I would have wished for at this stage, but all of them had fine reasons for going in now. They all had one thing in common, in that they also came with cleanups in order to fix the underlying problem (so often the actual commit that _fixes_ it is pretty small, but there's a series of cleanups that makes that fix possible). The two issues that I know as potentially still pending are some of the same kind: a writeback fix and some watchdog fixes, both with the majority being cleanups in order to fix things. Anyway, this all has the common thread that I'd have loved to get that code during the merge window as "obviously good changes", but I'm not thrilled to get it during the rc stages. Oh well. Enough of the "Woe is me". Things don't actually look *bad*. Yes, it's more changes than I would have wished for at this stage, but at the same time none of it looks like it's really fundamentally problematic for the 4.14 release. Most of the x86 FPU state cleanups had already been around for a while just because they were needed cleanup, for example, it's just that the bug fixes made them get merged at a less than optimal time. The various changes do end up making the diffstat look somewhat unusual: driver fixes that usually dominate are just a quarter of the haul this rc around, with arch fixes (almost all of which are x86) are another quarter. The rest is core kernel (much of it the smp/hotplug updates), security (the key handling changes) and tooling (much of it perf, but also more selftests). Some fs fixes (btrfs and xfs, some misc) accounts for the rest. It's still early enough in the rc release that I don't know if this will impact timing. Right now it still feels like we're fine with the usual schedule (ie rc7 being the last rc), but we'll just have to see how this release cycle continues. Do go out and test, please. Linus --- Adrian Hunter (1): mmc: sdhci-pci: Fix voltage switch for some Intel host controllers Akemi Yagi (1): perf tools: Fix syscalltbl build failure Al Viro (2): fix a typo in put_compat_shm_info() fix infoleak in waitid(2) Alex Deucher (1): drm/radeon: disable hard reset in hibernate for APUs Alex Estrin (1): Revert "IB/ipoib: Update broadcast object if PKey value was changed in index 0" Alex Vesker (1): IB/ipoib: Fix inconsistency with free_netdev and free_rdma_netdev Alexander Shishkin (1): perf/aux: Only update ->aux_wakeup in non-overwrite mode Alexandru Moise (1): genirq: Check __free_irq() return value for NULL Andi Kleen (1): x86/fpu: Turn WARN_ON() in context switch into WARN_ON_FPU() Andreas Gruenbacher (2): gfs2: Fix debugfs glocks dump vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets Andrey Ryabinin (1): x86/asm: Use register variable to get stack pointer value Arnaldo Carvalho de Melo (2): perf tools: Get all of tools/{arch,include}/ in the MANIFEST perf evsel: Fix attr.exclude_kernel setting for default cycles:p Arnd Bergmann (1): isofs: fix build regression Arvind Yadav (1): iommu/amd: pr_err() strings should end with newlines Babu Moger (1): arch: change default endian for microblaze Bhumika Goyal (1): x86/numachip: Add const and __initconst to numachip2_clockevent Boqun Feng (1): kvm/x86: Handle async PF in RCU read-side critical sections Boris Brezillon (1): mtd: Fix partition alignment check on multi-erasesize devices Carlos Maiolino (1): xfs: Capture state of the right inode in xfs_iflush_done Chandan Rajendra (1): iomap_dio_rw: Allocate AIO completion queue before submitting dio Christoph Hellwig (1): bsg-lib: don't free job in bsg_prepare_job Colin Ian King (3): drm/amdkfd: check for null dev to avoid a null pointer dereference x86/xen: clean up clang build warning xfs: remove redundant re-initialization of total_nr_pages Daniel Díaz (2): selftests: net: More graceful finding of `ip'. selftests: intel_pstate: build only on x86 Darrick J. Wong (4): xfs: don't unconditionally clear the reflink flag on zero-block files xfs: evict CoW fork extents when performing finsert/fcollapse xfs: perag initialization should only touch m_ag_max_usable for AG 0 xfs: revert "xfs: factor rmap btree size into the indlen calculations" Dave Carroll (1): scsi: aacraid: Fix 2T+ drives on SmartIOC-2000 Eric Biggers (22): x86/fpu: Don't let userspace set bogus xcomp_bv x86/fpu: Reinitialize FPU registers if restoring FPU state fails KEYS: fix cred refcount leak in request_key_auth_new() KEYS: don't revoke uninstantiated key in request_key_auth_new() KEYS: fix key refcount leak in keyctl_assume_authority() KEYS: fix key refcount leak in keyctl_read_key() KEYS: fix writing past end of user-supplied buffer in keyring_read() KEYS: prevent creating a different user's keyrings KEYS: prevent KEYCTL_READ on negative key KEYS: reset parent each time before searching key_user_tree KEYS: restrict /proc/keys by credentials at open time KEYS: use kmemdup() in request_key_auth_new() x86/fpu: Introduce validate_xstate_header() x86/fpu: Use validate_xstate_header() to validate the xstate_header in xstateregs_set() x86/fpu: Use validate_xstate_header() to validate the xstate_header in __fpu__restore_sig() x86/fpu: Copy the full state_header in copy_kernel_to_xstate() x86/fpu: Eliminate the 'xfeatures' local variable in copy_kernel_to_xstate() x86/fpu: Use validate_xstate_header() to validate the xstate_header in copy_kernel_to_xstate() x86/fpu: Copy the full header in copy_user_to_xstate() x86/fpu: Eliminate the 'xfeatures' local variable in copy_user_to_xstate() x86/fpu: Use validate_xstate_header() to validate the xstate_header in copy_user_to_xstate() x86/fpu: Use using_compacted_format() instead of open coded X86_FEATURE_XSAVES Eryu Guan (3): xfs: kill meaningless variable 'zero' xfs: report zeroed or not correctly in xfs_zero_range() xfs: update i_size after unwritten conversion in dio completion Ethan Zhao (1): sched/sysctl: Check user input value of sysctl_sched_time_avg Fathi Boudra (1): selftests: breakpoints: re-order TEST_GEN_PROGS targets Felix Kuehling (2): drm/amdkfd: Fix incorrect destroy_mqd parameter drm/amdkfd: Print event limit messages only once per process Geert Uytterhoeven (1): PCI: Add dummy pci_acs_enabled() for CONFIG_PCI=n build Gerd Hoffmann (2): qxl: fix primary surface handling qxl: fix framebuffer unpinning Guilherme G. Piccoli (2): nvme-fabrics: Allow 0 as KATO value scsi: aacraid: Add a small delay after IOP reset Hannes Reinecke (2): scsi: scsi_transport_fc: set scsi_target_id upon rescan scsi: scsi_transport_fc: Also check for NOTPRESENT in fc_remote_port_add() Hans Verkuil (1): drm/sun4i: cec: Enable back CEC-pin framework Harish Chegondi (1): IB/hfi1: Unsuccessful PCIe caps tuning should not fail driver load Helge Deller (1): fs/xfs: Use %pS printk format for direct addresses Ilya Lesokhin (2): IB/mlx5: Simplify mlx5_ib_cont_pages IB/mlx5: Fix NULL deference on mlx5_ib_update_xlt failure Ingo Molnar (28): x86/fpu: Rename copyin_to_xsaves()/copyout_from_xsaves() to copy_user_to_xstate()/copy_xstate_to_user() x86/fpu: Split copy_xstate_to_user() into copy_xstate_to_kernel() & copy_xstate_to_user() x86/fpu: Remove 'ubuf' parameter from the copy_xstate_to_kernel() APIs x86/fpu: Remove 'kbuf' parameter from the copy_xstate_to_user() APIs x86/fpu: Clean up parameter order in the copy_xstate_to_*() APIs x86/fpu: Clean up the parameter definitions of copy_xstate_to_*() x86/fpu: Remove the 'start_pos' parameter from the __copy_xstate_to_*() functions x86/fpu: Clarify parameter names in the copy_xstate_to_*() methods x86/fpu: Change 'size_total' parameter to unsigned and standardize the size checks in copy_xstate_to_*() x86/fpu: Simplify __copy_xstate_to_kernel() return values x86/fpu: Split copy_user_to_xstate() into copy_kernel_to_xstate() & copy_user_to_xstate() x86/fpu: Remove 'ubuf' parameter from the copy_kernel_to_xstate() API x86/fpu: Remove 'kbuf' parameter from the copy_user_to_xstate() API x86/fpu: Flip the parameter order in copy_*_to_xstate() x86/fpu: Simplify fpu->fpregs_active use x86/fpu: Make the fpu state change in fpu__clear() scheduler-atomic x86/fpu: Split the state handling in fpu__drop() x86/fpu: Change fpu->fpregs_active users to fpu->fpstate_active x86/fpu: Decouple fpregs_activate()/fpregs_deactivate() from fpu->fpregs_active x86/fpu: Remove struct fpu::fpregs_active tools include: Sync kernel ABI headers with tooling headers x86/fpu: Fix fpu__activate_fpstate_read() and update comments x86/fpu: Remove fpu__current_fpstate_write_begin/end() x86/fpu: Rename fpu::fpstate_active to fpu::initialized x86/fpu: Fix stale comments about lazy FPU logic x86/fpu: Simplify and speed up fpu__copy() x86/fpu: Rename fpu__activate_curr() to fpu__initialize() x86/fpu: Rename fpu__activate_fpstate_read/write() to fpu__prepare_[read|write]() James Smart (17): nvme-fc: remove use of FC-specific error codes nvmet-fc: remove use of FC-specific error codes nvmet-fcloop: remove use of FC-specific error codes lpfc: remove use of FC-specific error codes qla2xxx: remove use of FC-specific error codes nvme.h: remove FC transport-specific error values nvme: add transport SGL definitions nvme-fc: use transport-specific sgl format nvmet-fc: fix failing max io queue connections nvme: stop aer posting if controller state not live nvme: allow timed-out ios to retry nvmet: implement valid sqhd values in completions nvme: fix sqhd reference when admin queue connect fails nvmet-fc: on port remove call put outside lock nvmet-fc: ensure target queue id within range. nvmet-fc: sync header templates with comments nvme-fcloop: fix port deletes and callbacks Jan Beulich (1): xen-pciback: relax BAR sizing write value check Jan Kara (1): quota: Fix quota corruption with generic/232 test Jan Sokolowski (1): IB/hfi1: Check eeprom config partition validity Jason A. Donenfeld (2): security/keys: properly zero out sensitive key material in big_key security/keys: rewrite all of big_key crypto Jean Delvare (1): drm/amdgpu: revert tile table update for oland Jean-Philippe Brucker (1): iommu: Fix comment for iommu_ops.map_sg Jeffy Chen (1): irq/generic-chip: Don't replace domain's name Josef Bacik (5): selftests: silence test output by default selftest: add a reuseaddr test selftests: actually run the various net selftests nbd: ignore non-nbd ioctl's btrfs: log csums for all modified extents Josh Poimboeuf (3): objtool: Skip unreachable warnings for GCC 4.4 and older objtool: Support unoptimized frame pointer setup x86/asm: Fix inline asm call constraints for GCC 4.4 Kamenee Arumugam (1): IB/hfi1: Return correct value in general interrupt handler Kan Liang (4): perf/x86/intel/cstate: Add missing CPU IDs perf/x86/msr: Add missing CPU IDs perf/x86/intel/rapl: Add missing CPU IDs perf/x86/intel/uncore: Correct num_boxes for IIO and IRP Kees Cook (2): selftests/seccomp: Support glibc 2.26 siginfo_t.h timer: Prepare to change timer callback argument type Keith Busch (2): nvme-pci: initialize queue memory before interrupts nvme-pci: Print invalid SGL only once Kenjiro Nakayama (1): xfs: Output warning message when discard option was enabled even though the device does not support discard Konstantin Khlebnikov (1): quota: add missing lock into __dquot_transfer() Ladi Prosek (1): KVM: nVMX: fix HOST_CR3/HOST_CR4 cache Laurent Dufour (1): x86/mm: Fix fault error path using unsafe vma pointer Leon Romanovsky (1): IB/core: Fix typo in the name of the tag-matching cap struct Li Zhijian (1): selftests/memfd: correct run_tests.sh permission Linus Torvalds (2): Revert "Bluetooth: Add option for disabling legacy ioctl interfaces" Linux 4.14-rc3 Liu Bo (7): Btrfs: use the new helper wbc_to_write_flags Btrfs: do not reset bio->bi_ops while writing bio Btrfs: do not backup tree roots when fsync Btrfs: use btrfs_op instead of bio_op in __btrfs_map_block Btrfs: fix kernel oops while reading compressed data Btrfs: skip checksum when reading compressed data if some IO have failed Btrfs: fix unexpected result when dio reading corrupted blocks Lucas Stach (2): etnaviv: fix submit error path etnaviv: fix gem object list corruption Lukas Czerner (1): fs: Fix page cache inconsistency when mixing buffered and AIO DIO Marc Zyngier (1): arm64: Make sure SPsel is always set Martin Wilck (1): scsi: ILLEGAL REQUEST + ASC==27 => target failure Masahiro Yamada (1): irqdomain: Add __rcu annotations to radix tree accessors Mengting Zhang (1): perf report: Fix debug messages with --call-graph option Michael J. Ruhl (1): IB/hfi1: On error, fix use after free during user context setup Michael Neuling (1): KVM: PPC: Book3S HV: Check for updated HDSISR on P9 HDSI exception Michal Simek (1): microblaze: Add missing kvm_para.h to Kbuild Mikulas Patocka (1): brd: fix overflow in __brd_direct_access Misono, Tomohiro (1): btrfs: remove BTRFS_FS_QUOTA_DISABLING flag Naohiro Aota (4): btrfs: clear ordered flag on cleaning up ordered extents btrfs: finish ordered extent cleaning if no progress is found btrfs: fix NULL pointer dereference from free_reloc_roots() btrfs: propagate error to btrfs_cmp_data_prepare caller Nicolai Stange (1): PCI: Fix race condition with driver_override Nikola Pajkovsky (1): scsi: aacraid: error: testing array offset 'bus' after use Oleg Nesterov (1): seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter() Omar Sandoval (2): loop: remove union of use_aio and ref in struct loop_cmd Btrfs: fix incorrect {node,sector}size endianness from BTRFS_IOC_FS_INFO Paolo Bonzini (4): KVM: VMX: extract __pi_post_block KVM: VMX: avoid double list add with VT-d posted interrupts KVM: VMX: simplify and fix vmx_vcpu_pi_load KVM: VMX: use cmpxchg64 Parav Pandit (2): IB/core: Fix qp_sec use after free access IB: Correct MR length field to be 64-bit Paul Burton (2): irqchip/mips-gic: Fix shifts to extract register fields irqchip/mips-gic: Use effective affinity to unmask Paul E. McKenney (1): rcu: Allow for page faults in NMI handlers Peter Zijlstra (16): futex: Fix pi_state->owner serialization smp/hotplug: Add state diagram smp/hotplug: Allow external multi-instance rollback smp/hotplug: Rewrite AP state machine core smp/hotplug: Callback vs state-machine consistency smp/hotplug: Differentiate the AP-work lockdep class between up and down smp/hotplug: Differentiate the AP completion between up and down smp/hotplug: Hotplug state fail injection sched/debug: Implement consistent task-state printing sched/debug: Convert TASK_state to hex sched/debug: Remove unused variable sched/tracing: Fix trace_sched_switch task-state printing sched/tracing: Use common task-state helpers sched/debug: Add explicit TASK_IDLE printing sched/debug: Ignore TASK_IDLE for SysRq-W sched/debug: Add explicit TASK_PARKED printing Prateek Sood (1): locking/rwsem-xadd: Fix missed wakeup due to reordering of load Rafael J. Wysocki (1): cpufreq: docs: Drop intel-pstate.txt from index.txt Richard Genoud (1): mtd: nand: atmel: fix buffer overflow in atmel_pmecc_user Rik van Riel (1): x86/fpu: Add FPU state copying quirk to handle XRSTOR failure on Intel Skylake CPUs Ross Zwisler (1): xfs: validate bdev support for DAX inode flag Sagi Grimberg (3): nvme-core: Use nvme_wq to queue async events and fw activation nvme-rdma: give up reconnect if state change fails nvme-rdma: don't fully stop the controller in error recovery Sakari Ailus (4): as3645a: Use ams,input-max-microamp as documented in DT bindings dt: bindings: as3645a: Use LED number to refer to LEDs as3645a: Use integer numbers for parsing LEDs as3645a: Unregister indicator LED on device unbind Sargun Dhillon (1): btrfs: Report error on removing qgroup if del_qgroup_item fails Sean Fu (1): x86/sysfs: Fix off-by-one error in loop termination Sean Wang (1): MAINTAINERS: Add entry for MediaTek PMIC LED driver Sebastian Sanchez (2): IB/hfi1: Turn off AOC TX after offline substates IB/hfi1: Only reset QSFP after link up and turn off AOC TX Shalom Lagziel (1): IB/ipoib: Fix sysfs Pkey create<->remove possible deadlock Shaohua Li (5): block: fix a crash caused by wrong API md: separate request handling md: fix a race condition for flush request handling dm-raid: fix a race condition in request handling md/raid5: cap worker count Shuah Khan (15): Makefile: kselftest and kselftest-clean fail for make O=dir case selftests: lib.mk: kselftest and kselftest-clean fail for make O=dir case selftests: Makefile: clear LDFLAGS for make O=dir use-case selftests: lib.mk: fix test executable status check to use full path selftests: watchdog: fix to use TEST_GEN_PROGS and remove clean selftests: lib.mk: add TEST_CUSTOM_PROGS to allow custom test run/install selftests: sync: use TEST_CUSTOM_PROGS instead of TEST_PROGS selftests: sync: kselftest and kselftest-clean fail for make O=dir case selftests: lib.mk: copy test scripts and test files for make O=dir run selftests: futex: copy sub-dir test scripts for make O=dir run selftests: mqueue: Use full path to run tests from Makefile selftests: Makefile: fix for loops in targets to run silently selftests: futex: Makefile: fix for loops in targets to run silently selftests: timers: set-timer-lat: fix hang when std out/err are redirected selftests: timers: set-timer-lat: Fix hang when testing unsupported alarms Stefano Brivio (1): scsi: lpfc: Don't return internal MBXERR_ERROR code from probe function Steven Rostedt (VMware) (3): extable: Consolidate *kernel_text_address() functions extable: Enable RCU if it is not watching in kernel_text_address() tracing: Remove RCU work arounds from stack tracer Suniel Mahesh (1): cpufreq: dt: Fix sysfs duplicate filename creation for platform-device Thierry Reding (1): drm/tegra: trace: Fix path to include Thomas Gleixner (1): um/time: Fixup namespace collision Thomas Meyer (5): selftests/intel_pstate: No need to compile test progs in the run script selftests/bpf: Make bpf_util work on uniprocessor systems selftests/ftrace: multiple_kprobes: Also check for support selftests/net: msg_zerocopy enable build with older kernel headers microblaze: Cocci spatch "vma_pages" Thomas Richter (3): tools: fix testing/selftests/sigaltstack for s390x perf test: Fix vmlinux failure on s390x perf test: Fix vmlinux failure on s390x part 2 Tom Lendacky (1): x86/mm: Disable branch profiling in mem_encrypt.c Tsutomu Itoh (1): Btrfs: send: fix error number for unknown inode types Tyler Baicar (1): ACPI / APEI: clear error status before acknowledging the error Ville Syrjälä (2): x86: Don't cast away the __user in __get_user_asm_u64() platform/x86: fujitsu-laptop: Don't oops when FUJ02E3 is not presnt Viresh Kumar (1): PM / OPP: Call notifier without holding opp_table->lock Waiman Long (1): blktrace: Fix potential deadlock between delete & sysfs ops Wanpeng Li (1): KVM: nVMX: Fix nested #PF intends to break L1's vmlauch/vmresume Will Deacon (2): arm64: mm: Use READ_ONCE when dereferencing pointer to pte table arm64: fault: Route pte translation faults via do_translation_fault Wolfram Sang (1): mmc: tmio: remove broken and noisy debug macro Xin Long (1): scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly Yong Wu (2): iommu/io-pgtable-arm-v7s: Need dma-sync while there is no QUIRK_NO_DMA iommu/mediatek: Limit the physical address in 32bit for v7s Yong Zhao (1): drm/amdkfd: Fix kernel-queue wrapping bugs Zhenzhong Duan (1): xen/mmu: Call xen_cleanhighmap() with 4MB aligned for page tables mapping kbuild test robot (1): x86/fpu: Fix boolreturn.cocci warnings satoru takeuchi (1): btrfs: prevent to set invalid default subvolid