1. 11 Aug, 2020 14 commits
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 57b07793
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
      
       - IRQ bypass support for vdpa and IFC
      
       - MLX5 vdpa driver
      
       - Endianness fixes for virtio drivers
      
       - Misc other fixes
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (71 commits)
        vdpa/mlx5: fix up endian-ness for mtu
        vdpa: Fix pointer math bug in vdpasim_get_config()
        vdpa/mlx5: Fix pointer math in mlx5_vdpa_get_config()
        vdpa/mlx5: fix memory allocation failure checks
        vdpa/mlx5: Fix uninitialised variable in core/mr.c
        vdpa_sim: init iommu lock
        virtio_config: fix up warnings on parisc
        vdpa/mlx5: Add VDPA driver for supported mlx5 devices
        vdpa/mlx5: Add shared memory registration code
        vdpa/mlx5: Add support library for mlx5 VDPA implementation
        vdpa/mlx5: Add hardware descriptive header file
        vdpa: Modify get_vq_state() to return error code
        net/vdpa: Use struct for set/get vq state
        vdpa: remove hard coded virtq num
        vdpasim: support batch updating
        vhost-vdpa: support IOTLB batching hints
        vhost-vdpa: support get/set backend features
        vhost: generialize backend features setting/getting
        vhost-vdpa: refine ioctl pre-processing
        vDPA: dont change vq irq after DRIVER_OK
        ...
      57b07793
    • Linus Torvalds's avatar
      Merge tag 'for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · ce13266d
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "A couple of minor documentation updates only for this release"
      
      * tag 'for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        LSM: drop duplicated words in header file comments
        Replace HTTP links with HTTPS ones: security
      ce13266d
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 952ace79
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - Remove of the dev->archdata.iommu (or similar) pointers from most
         architectures. Only Sparc is left, but this is private to Sparc as
         their drivers don't use the IOMMU-API.
      
       - ARM-SMMU updates from Will Deacon:
      
           - Support for SMMU-500 implementation in Marvell Armada-AP806 SoC
      
           - Support for SMMU-500 implementation in NVIDIA Tegra194 SoC
      
           - DT compatible string updates
      
           - Remove unused IOMMU_SYS_CACHE_ONLY flag
      
           - Move ARM-SMMU drivers into their own subdirectory
      
       - Intel VT-d updates from Lu Baolu:
      
           - Misc tweaks and fixes for vSVA
      
           - Report/response page request events
      
           - Cleanups
      
       - Move the Kconfig and Makefile bits for the AMD and Intel drivers into
         their respective subdirectory.
      
       - MT6779 IOMMU Support
      
       - Support for new chipsets in the Renesas IOMMU driver
      
       - Other misc cleanups and fixes (e.g. to improve compile test coverage)
      
      * tag 'iommu-updates-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (77 commits)
        iommu/amd: Move Kconfig and Makefile bits down into amd directory
        iommu/vt-d: Move Kconfig and Makefile bits down into intel directory
        iommu/arm-smmu: Move Arm SMMU drivers into their own subdirectory
        iommu/vt-d: Skip TE disabling on quirky gfx dedicated iommu
        iommu: Add gfp parameter to io_pgtable_ops->map()
        iommu: Mark __iommu_map_sg() as static
        iommu/vt-d: Rename intel-pasid.h to pasid.h
        iommu/vt-d: Add page response ops support
        iommu/vt-d: Report page request faults for guest SVA
        iommu/vt-d: Add a helper to get svm and sdev for pasid
        iommu/vt-d: Refactor device_to_iommu() helper
        iommu/vt-d: Disable multiple GPASID-dev bind
        iommu/vt-d: Warn on out-of-range invalidation address
        iommu/vt-d: Fix devTLB flush for vSVA
        iommu/vt-d: Handle non-page aligned address
        iommu/vt-d: Fix PASID devTLB invalidation
        iommu/vt-d: Remove global page support in devTLB flush
        iommu/vt-d: Enforce PASID devTLB field mask
        iommu: Make some functions static
        iommu/amd: Remove double zero check
        ...
      952ace79
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 96f970fe
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Core Framework:
         - Trivial: Code refactoring
         - New API backlight_is_blank()
         - New API backlight_get_brightness()
         - Additional/reworked documentation
         - Remove 'extern' labels from prototypes
         - Drop backlight_put()
         - Staticify of_find_backlight()
      
        Driver Removal:
         - Removal of unused OT200 driver
         - Removal of unused Generic Backlight driver
      
        Fix-ups
         - Bunch of W=1 warning fixes
         - Convert to GPIO descriptors; sky81452
         - Move platform data handling into driver; sky81452
         - Remove superfluous code; lms501kf03
         - Many instances of using new APIs"
      
      * tag 'backlight-next-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: (34 commits)
        video: backlight: cr_bllcd: Remove unused variable 'intensity'
        backlight: backlight: Make of_find_backlight static
        backlight: backlight: Drop backlight_put()
        backlight: Use backlight_get_brightness() throughout
        backlight: jornada720_bl: Introduce backlight_is_blank()
        backlight: gpio_backlight: Simplify update_status()
        backlight: cr_bllcd: Introduce gpio-backlight semantics
        backlight: as3711_bl: Simplify update_status
        backlight: backlight: Introduce backlight_get_brightness()
        doc-rst: Wire-up Backlight kernel-doc documentation
        backlight: backlight: Add overview and update existing doc
        backlight: backlight: Drop extern from prototypes
        backlight: generic_bl: Remove this driver as it is unused
        backlight: backlight: Document enums in backlight.h
        backlight: backlight: Document inline functions in backlight.h
        backlight: backlight: Improve backlight_device documentation
        backlight: backlight: Improve backlight_properties documentation
        backlight: backlight: Improve backlight_ops documentation
        backlight: backlight: Add backlight_is_blank()
        backlight: backlight: Refactor fb_notifier_callback()
        ...
      96f970fe
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · c636eef2
      Linus Torvalds authored
      Pull hwspinlock updates from Bjorn Andersson:
       "This introduces a new DT binding format to describe the Qualcomm
        hardware mutex block and deprecates the old, invalid, one.
      
        It also cleans up the Kconfig slightly"
      
      * tag 'hwlock-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        dt-bindings: hwlock: qcom: Remove invalid binding
        hwspinlock: qcom: Allow mmio usage in addition to syscon
        dt-bindings: hwlock: qcom: Allow device on mmio bus
        dt-bindings: hwlock: qcom: Migrate binding to YAML
        hwspinlock: Simplify Kconfig
      c636eef2
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 617e7481
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This introduces a new "detached" state for remote processors that are
        deemed to be running at the time Linux boots and the infrastructure
        for "attaching" to these. It then introduces the support for
        performing this operation for the STM32 platform.
      
        The coredump functionality is moved out from the core file and gains
        support for an optional mode where the recovery phase awaits the
        notification from devcoredump that the dump should be released. This
        allows userspace to grab the coredump in scenarios where vmalloc space
        is too low for creating a complete copy of the coredump before handing
        this to devcoredump.
      
        A new character device based interface is introduced to allow tying
        the stoppage of a remote processor to the termination of a user space
        process. This is useful in situations when such process provides
        crucial resources/operations for the firmware running on the remote
        processor.
      
        The Texas Instrument K3 driver gains support for the C66x and C71x
        DSPs.
      
        Qualcomm remoteprocs gains support for stashing relocation information
        in IMEM, to aid post mortem debugging and the crash notification
        mechanism is generalized to be reusable in cases where loosely coupled
        drivers needs to know about the status of a remote processor. One such
        example is the IPA hardware block, which is jointly owned with the
        modem and migrated to this improved interface.
      
        It also introduces a number of bug fixes and debug improvements for
        the Qualcomm modem remoteproc driver.
      
        And it cleans up the inconsistent interface for remoteproc drivers to
        implement power management"
      
      * tag 'rproc-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc: (56 commits)
        remoteproc: core: Register the character device interface
        remoteproc: Add remoteproc character device interface
        remoteproc: kill IPA notify code
        net: ipa: new notification infrastructure
        remoteproc: k3-dsp: Add support for C71x DSPs
        dt-bindings: remoteproc: k3-dsp: Update bindings for C71x DSPs
        remoteproc: k3-dsp: Add support for L2RAM loading on C66x DSPs
        remoteproc: k3-dsp: Add a remoteproc driver of K3 C66x DSPs
        dt-bindings: remoteproc: Add bindings for C66x DSPs on TI K3 SoCs
        remoteproc: k3: Add TI-SCI processor control helper functions
        remoteproc: Introduce rproc_of_parse_firmware() helper
        dt-bindings: arm: keystone: Add common TI SCI bindings
        remoteproc: qcom_q6v5_mss: Remove redundant running state
        remoteproc: qcom: q6v5: Update running state before requesting stop
        remoteproc: qcom_q6v5_mss: Add modem debug policy support
        remoteproc: qcom_q6v5_mss: Validate modem blob firmware size before load
        remoteproc: qcom_q6v5_mss: Validate MBA firmware size before load
        rpmsg: update documentation
        remoteproc: qcom_q6v5_mss: Add MBA log extraction support
        remoteproc: Add coredump debugfs entry
        ...
      617e7481
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · dded87af
      Linus Torvalds authored
      Pull rpmsg update from Bjorn Andersson:
       "This ensures that rpmsg uses little-endian, per the VirtIO 1.0
        specification"
      
      * tag 'rpmsg-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        rpmsg: virtio: add endianness conversions
      dded87af
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 4bf5e361
      Linus Torvalds authored
      Pull libnvdimm updayes from Vishal Verma:
       "You'd normally receive this pull request from Dan Williams, but he's
        busy watching a newborn (Congrats Dan!), so I'm watching libnvdimm
        this cycle.
      
        This adds a new feature in libnvdimm - 'Runtime Firmware Activation',
        and a few small cleanups and fixes in libnvdimm and DAX. I'd
        originally intended to make separate topic-based pull requests - one
        for libnvdimm, and one for DAX, but some of the DAX material fell out
        since it wasn't quite ready.
      
        Summary:
      
         - add 'Runtime Firmware Activation' support for NVDIMMs that
           advertise the relevant capability
      
         - misc libnvdimm and DAX cleanups"
      
      * tag 'libnvdimm-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        libnvdimm/security: ensure sysfs poll thread woke up and fetch updated attr
        libnvdimm/security: the 'security' attr never show 'overwrite' state
        libnvdimm/security: fix a typo
        ACPI: NFIT: Fix ARS zero-sized allocation
        dax: Fix incorrect argument passed to xas_set_err()
        ACPI: NFIT: Add runtime firmware activate support
        PM, libnvdimm: Add runtime firmware activation support
        libnvdimm: Convert to DEVICE_ATTR_ADMIN_RO()
        drivers/dax: Expand lock scope to cover the use of addresses
        fs/dax: Remove unused size parameter
        dax: print error message by pr_info() in __generic_fsdax_supported()
        driver-core: Introduce DEVICE_ATTR_ADMIN_{RO,RW}
        tools/testing/nvdimm: Emulate firmware activation commands
        tools/testing/nvdimm: Prepare nfit_ctl_test() for ND_CMD_CALL emulation
        tools/testing/nvdimm: Add command debug messages
        tools/testing/nvdimm: Cleanup dimm index passing
        ACPI: NFIT: Define runtime firmware activation commands
        ACPI: NFIT: Move bus_dsm_mask out of generic nvdimm_bus_descriptor
        libnvdimm: Validate command family indices
      4bf5e361
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-2020-08-10' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux · 00e4db51
      Linus Torvalds authored
      Pull perf tools updates from Arnaldo Carvalho de Melo:
       "New features:
      
         - Introduce controlling how 'perf stat' and 'perf record' works via a
           control file descriptor, allowing starting with events configured
           but disabled until commands are received via the control file
           descriptor. This allows, for instance for tools such as Intel VTune
           to make further use of perf as its Linux platform driver.
      
         - Improve 'perf record' to to register in a perf.data file header the
           clockid used to help later correlate things like syslog files and
           perf events recorded.
      
         - Add basic syscall and find_next_bit benchmarks to 'perf bench'.
      
         - Allow using computed metrics in calculating other metrics. For
           instance:
      
      	  {
      	    .metric_expr    = "l2_rqsts.demand_data_rd_hit + l2_rqsts.pf_hit + l2_rqsts.rfo_hit",
      	    .metric_name    = "DCache_L2_All_Hits",
      	  },
      	  {
      	    .metric_expr    = "max(l2_rqsts.all_demand_data_rd - l2_rqsts.demand_data_rd_hit, 0) + l2_rqsts.pf_miss + l2_rqsts.rfo_miss",
      	    .metric_name    = "DCache_L2_All_Miss",
      	  },
      	  {
      	     .metric_expr    = "dcache_l2_all_hits + dcache_l2_all_miss",
      	     .metric_name    = "DCache_L2_All",
      	  }
      
         - Add suport for 'd_ratio', '>' and '<' operators to the expression
           resolver used in calculating metrics in 'perf stat'.
      
        Support for new kernel features:
      
         - Support TEXT_POKE and KSYMBOL_TYPE_OOL perf metadata events to cope
           with things like ftrace, trampolines, i.e. changes in the kernel
           text that gets in the way of properly decoding Intel PT hardware
           traces, for instance.
      
        Intel PT:
      
         - Add various knobs to reduce the volume of Intel PT traces by
           reducing the level of details such as decoding just some types of
           packets (e.g., FUP/TIP, PSB+), also filtering by time range.
      
         - Add new itrace options (log flags to the 'd' option, error flags to
           the 'e' one, etc), controlling how Intel PT is transformed into
           perf events, document some missing options (e.g., how to synthesize
           callchains).
      
        BPF:
      
         - Properly report BPF errors when parsing events.
      
         - Do not setup side-band events if LIBBPF is not linked, fixing a
           segfault.
      
        Libraries:
      
         - Improvements to the libtraceevent plugin mechanism.
      
         - Improve libtracevent support for KVM trace events SVM exit reasons.
      
         - Add a libtracevent plugins for decoding syscalls/sys_enter_futex
           and for tlb_flush.
      
         - Ensure sample_period is set libpfm4 events in 'perf test'.
      
         - Fixup libperf namespacing, to make sure what is in libperf has the
           perf_ namespace while what is now only in tools/perf/ doesn't use
           that prefix.
      
        Arch specific:
      
         - Improve the testing of vendor events and metrics in 'perf test'.
      
         - Allow no ARM CoreSight hardware tracer sink to be specified on
           command line.
      
         - Fix arm_spe_x recording when mixed with other perf events.
      
         - Add s390 idle functions 'psw_idle' and 'psw_idle_exit' to list of
           idle symbols.
      
         - List kernel supplied event aliases for arm64 in 'perf list'.
      
         - Add support for extended register capability in PowerPC 9 and 10.
      
         - Added nest IMC power9 metric events.
      
        Miscellaneous:
      
         - No need to setup sample_regs_intr/sample_regs_user for dummy
           events.
      
         - Update various copies of kernel headers, some causing perf to
           handle new syscalls, MSRs, etc.
      
         - Improve usage of flex and yacc, enabling warnings and addressing
           the fallout.
      
         - Add missing '--output' option to 'perf kmem' so that it can pass it
           along to 'perf record'.
      
         - 'perf probe' fixes related to adding multiple probes on the same
           address for the same event.
      
         - Make 'perf probe' warn if the target function is a GNU indirect
           function.
      
         - Remove //anon mmap events from 'perf inject jit' to fix supporting
           both using ELF files for generated functions and the perf-PID.map
           approaches"
      
      * tag 'perf-tools-2020-08-10' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (144 commits)
        perf record: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set
        perf tools powerpc: Add support for extended regs in power10
        perf tools powerpc: Add support for extended register capability
        tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
        tools arch x86: Sync asm/cpufeatures.h with the kernel sources
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        tools headers UAPI: update linux/in.h copy
        tools headers API: Update close_range affected files
        perf script: Add 'tod' field to display time of day
        perf script: Change the 'enum perf_output_field' enumerators to be 64 bits
        perf data: Add support to store time of day in CTF data conversion
        perf tools: Move clockid_res_ns under clock struct
        perf header: Store clock references for -k/--clockid option
        perf tools: Add clockid_name function
        perf clockid: Move parse_clockid() to new clockid object
        tools lib traceevent: Handle possible strdup() error in tep_add_plugin_path() API
        libtraceevent: Fixed description of tep_add_plugin_path() API
        libtraceevent: Fixed type in PRINT_FMT_STING
        libtraceevent: Fixed broken indentation in parse_ip4_print_args()
        libtraceevent: Improve error handling of tep_plugin_add_option() API
        ...
      00e4db51
    • Linus Torvalds's avatar
      Merge tag 'ktest-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · ed3854ff
      Linus Torvalds authored
      Pull ktest updates from Steven Rostedt:
      
       - Have config-bisect save the good/bad configs at each step.
      
       - Show log file location even on success
      
       - Add PRE_TEST_DIE to kill test if the PRE_TEST fails
      
       - Add a NOT operator for conditionals in config file
      
       - Add the log output of the last test when emailing on failure.
      
       - Other minor clean ups and small fixes.
      
      * tag 'ktest-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest.pl: Fix spelling mistake "Cant" -> "Can't"
        ktest.pl: Change the logic to control the size of the log file emailed
        ktest.pl: Add MAIL_MAX_SIZE to limit the amount of log emailed
        ktest.pl: Add the log of last test in email on failure
        ktest.pl: Turn off buffering to the log file
        ktest.pl: Just open up the log file once
        ktest.pl: Add a NOT operator
        ktest.pl: Define PRE_TEST_DIE to kill the test if the PRE_TEST fails
        ktest.pl: Always show log file location if defined even on success
        ktest.pl: Have config-bisect save each config used in the bisect
      ed3854ff
    • Linus Torvalds's avatar
      Merge tag 'locking-urgent-2020-08-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 97d052ea
      Linus Torvalds authored
      Pull locking updates from Thomas Gleixner:
       "A set of locking fixes and updates:
      
         - Untangle the header spaghetti which causes build failures in
           various situations caused by the lockdep additions to seqcount to
           validate that the write side critical sections are non-preemptible.
      
         - The seqcount associated lock debug addons which were blocked by the
           above fallout.
      
           seqcount writers contrary to seqlock writers must be externally
           serialized, which usually happens via locking - except for strict
           per CPU seqcounts. As the lock is not part of the seqcount, lockdep
           cannot validate that the lock is held.
      
           This new debug mechanism adds the concept of associated locks.
           sequence count has now lock type variants and corresponding
           initializers which take a pointer to the associated lock used for
           writer serialization. If lockdep is enabled the pointer is stored
           and write_seqcount_begin() has a lockdep assertion to validate that
           the lock is held.
      
           Aside of the type and the initializer no other code changes are
           required at the seqcount usage sites. The rest of the seqcount API
           is unchanged and determines the type at compile time with the help
           of _Generic which is possible now that the minimal GCC version has
           been moved up.
      
           Adding this lockdep coverage unearthed a handful of seqcount bugs
           which have been addressed already independent of this.
      
           While generally useful this comes with a Trojan Horse twist: On RT
           kernels the write side critical section can become preemtible if
           the writers are serialized by an associated lock, which leads to
           the well known reader preempts writer livelock. RT prevents this by
           storing the associated lock pointer independent of lockdep in the
           seqcount and changing the reader side to block on the lock when a
           reader detects that a writer is in the write side critical section.
      
         - Conversion of seqcount usage sites to associated types and
           initializers"
      
      * tag 'locking-urgent-2020-08-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
        locking/seqlock, headers: Untangle the spaghetti monster
        locking, arch/ia64: Reduce <asm/smp.h> header dependencies by moving XTP bits into the new <asm/xtp.h> header
        x86/headers: Remove APIC headers from <asm/smp.h>
        seqcount: More consistent seqprop names
        seqcount: Compress SEQCNT_LOCKNAME_ZERO()
        seqlock: Fold seqcount_LOCKNAME_init() definition
        seqlock: Fold seqcount_LOCKNAME_t definition
        seqlock: s/__SEQ_LOCKDEP/__SEQ_LOCK/g
        hrtimer: Use sequence counter with associated raw spinlock
        kvm/eventfd: Use sequence counter with associated spinlock
        userfaultfd: Use sequence counter with associated spinlock
        NFSv4: Use sequence counter with associated spinlock
        iocost: Use sequence counter with associated spinlock
        raid5: Use sequence counter with associated spinlock
        vfs: Use sequence counter with associated spinlock
        timekeeping: Use sequence counter with associated raw spinlock
        xfrm: policy: Use sequence counters with associated lock
        netfilter: nft_set_rbtree: Use sequence counter with associated rwlock
        netfilter: conntrack: Use sequence counter with associated spinlock
        sched: tasks: Use sequence counter with associated spinlock
        ...
      97d052ea
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 086ba2ec
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've added two small interfaces: (a) GC_URGENT_LOW
        mode for performance and (b) F2FS_IOC_SEC_TRIM_FILE ioctl for
        security.
      
        The new GC mode allows Android to run some lower priority GCs in
        background, while new ioctl discards user information without race
        condition when the account is removed.
      
        In addition, some patches were merged to address latency-related
        issues. We've fixed some compression-related bug fixes as well as edge
        race conditions.
      
        Enhancements:
         - add GC_URGENT_LOW mode in gc_urgent
         - introduce F2FS_IOC_SEC_TRIM_FILE ioctl
         - bypass racy readahead to improve read latencies
         - shrink node_write lock coverage to avoid long latency
      
        Bug fixes:
         - fix missing compression flag control, i_size, and mount option
         - fix deadlock between quota writes and checkpoint
         - remove inode eviction path in synchronous path to avoid deadlock
         - fix to wait GCed compressed page writeback
         - fix a kernel panic in f2fs_is_compressed_page
         - check page dirty status before writeback
         - wait page writeback before update in node page write flow
         - fix a race condition between f2fs_write_end_io and f2fs_del_fsync_node_entry
      
        We've added some minor sanity checks and refactored trivial code
        blocks for better readability and debugging information"
      
      * tag 'f2fs-for-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (52 commits)
        f2fs: prepare a waiter before entering io_schedule
        f2fs: update_sit_entry: Make the judgment condition of f2fs_bug_on more intuitive
        f2fs: replace test_and_set/clear_bit() with set/clear_bit()
        f2fs: make file immutable even if releasing zero compression block
        f2fs: compress: disable compression mount option if compression is off
        f2fs: compress: add sanity check during compressed cluster read
        f2fs: use macro instead of f2fs verity version
        f2fs: fix deadlock between quota writes and checkpoint
        f2fs: correct comment of f2fs_exist_written_data
        f2fs: compress: delay temp page allocation
        f2fs: compress: fix to update isize when overwriting compressed file
        f2fs: space related cleanup
        f2fs: fix use-after-free issue
        f2fs: Change the type of f2fs_flush_inline_data() to void
        f2fs: add F2FS_IOC_SEC_TRIM_FILE ioctl
        f2fs: should avoid inode eviction in synchronous path
        f2fs: segment.h: delete a duplicated word
        f2fs: compress: fix to avoid memory leak on cc->cpages
        f2fs: use generic names for generic ioctls
        f2fs: don't keep meta inode pages used for compressed block migration
        ...
      086ba2ec
    • Linus Torvalds's avatar
      Merge tag 'gfs2-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 8c2618a6
      Linus Torvalds authored
      Pull gfs2 updates from Andreas Gruenbacher:
      
       - Make sure transactions won't be started recursively in
         gfs2_block_zero_range (bug introduced in 5.4 when switching to
         iomap_zero_range)
      
       - Fix a glock holder refcount leak introduced in the iopen glock
         locking scheme rework merged in 5.8.
      
       - A few other small improvements (debugging, stack usage, comment
         fixes).
      
      * tag 'gfs2-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: When gfs2_dirty_inode gets a glock error, dump the glock
        gfs2: Never call gfs2_block_zero_range with an open transaction
        gfs2: print details on transactions that aren't properly ended
        gfs2: Fix inaccurate comment
        fs: Fix typo in comment
        gfs2: Fix refcount leak in gfs2_glock_poke
        gfs2: Pass glock holder to gfs2_file_direct_{read,write}
        gfs2: Add some flags missing from glock output
      8c2618a6
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 163c3e3d
      Linus Torvalds authored
      Pull JFFS2, UBI and UBIFS updates from Richard Weinberger:
       "JFFS2:
         - Fix for a corner case while mounting
         - Fix for an use-after-free issue
      
        UBI:
         - Fix for a memory load while attaching
         - Don't produce an anchor PEB with fastmap being disabled
      
        UBIFS:
         - Fix for orphan inode logic
         - Spelling fixes
         - New mount option to specify filesystem version"
      
      * tag 'for-linus-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        jffs2: fix UAF problem
        jffs2: fix jffs2 mounting failure
        ubifs: Fix wrong orphan node deletion in ubifs_jnl_update|rename
        ubi: fastmap: Free fastmap next anchor peb during detach
        ubi: fastmap: Don't produce the initial next anchor PEB when fastmap is disabled
        ubifs: misc.h: delete a duplicated word
        ubifs: add option to specify version for new file systems
      163c3e3d
  2. 10 Aug, 2020 14 commits
  3. 09 Aug, 2020 12 commits
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · fc80c51f
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - run the checker (e.g. sparse) after the compiler
      
       - remove unneeded cc-option tests for old compiler flags
      
       - fix tar-pkg to install dtbs
      
       - introduce ccflags-remove-y and asflags-remove-y syntax
      
       - allow to trace functions in sub-directories of lib/
      
       - introduce hostprogs-always-y and userprogs-always-y syntax
      
       - various Makefile cleanups
      
      * tag 'kbuild-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: stop filtering out $(GCC_PLUGINS_CFLAGS) from cc-option base
        kbuild: include scripts/Makefile.* only when relevant CONFIG is enabled
        kbuild: introduce hostprogs-always-y and userprogs-always-y
        kbuild: sort hostprogs before passing it to ifneq
        kbuild: move host .so build rules to scripts/gcc-plugins/Makefile
        kbuild: Replace HTTP links with HTTPS ones
        kbuild: trace functions in subdirectories of lib/
        kbuild: introduce ccflags-remove-y and asflags-remove-y
        kbuild: do not export LDFLAGS_vmlinux
        kbuild: always create directories of targets
        powerpc/boot: add DTB to 'targets'
        kbuild: buildtar: add dtbs support
        kbuild: remove cc-option test of -ffreestanding
        kbuild: remove cc-option test of -fno-stack-protector
        Revert "kbuild: Create directory for target DTB"
        kbuild: run the checker after the compiler
      fc80c51f
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.9' of git://git.linux-nfs.org/projects/cel/cel-2.6 · 7a6b6044
      Linus Torvalds authored
      Pull NFS server updates from Chuck Lever:
       "Highlights:
         - Support for user extended attributes on NFS (RFC 8276)
         - Further reduce unnecessary NFSv4 delegation recalls
      
        Notable fixes:
         - Fix recent krb5p regression
         - Address a few resource leaks and a rare NULL dereference
      
        Other:
         - De-duplicate RPC/RDMA error handling and other utility functions
         - Replace storage and display of kernel memory addresses by tracepoints"
      
      * tag 'nfsd-5.9' of git://git.linux-nfs.org/projects/cel/cel-2.6: (38 commits)
        svcrdma: CM event handler clean up
        svcrdma: Remove transport reference counting
        svcrdma: Fix another Receive buffer leak
        SUNRPC: Refresh the show_rqstp_flags() macro
        nfsd: netns.h: delete a duplicated word
        SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()")
        nfsd: avoid a NULL dereference in __cld_pipe_upcall()
        nfsd4: a client's own opens needn't prevent delegations
        nfsd: Use seq_putc() in two functions
        svcrdma: Display chunk completion ID when posting a rw_ctxt
        svcrdma: Record send_ctxt completion ID in trace_svcrdma_post_send()
        svcrdma: Introduce Send completion IDs
        svcrdma: Record Receive completion ID in svc_rdma_decode_rqst
        svcrdma: Introduce Receive completion IDs
        svcrdma: Introduce infrastructure to support completion IDs
        svcrdma: Add common XDR encoders for RDMA and Read segments
        svcrdma: Add common XDR decoders for RDMA and Read segments
        SUNRPC: Add helpers for decoding list discriminators symbolically
        svcrdma: Remove declarations for functions long removed
        svcrdma: Clean up trace_svcrdma_send_failed() tracepoint
        ...
      7a6b6044
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 8d3e09b4
      Linus Torvalds authored
      Pull regset conversion fix from Al Viro:
       "Fix a regression from an unnoticed bisect hazard in the regset series.
      
        A bunch of old (aout, originally) primitives used by coredumps became
        dead code after fdpic conversion to regsets. Removal of that dead code
        had been the first commit in the followups to regset series;
        unfortunately, it happened to hide the bisect hazard on sh (extern for
        fpregs_get() had not been updated in the main series when it should
        have been; followup simply made fpregs_get() static). And without that
        followup commit this bisect hazard became breakage in the mainline"
      Tested-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        kill unused dump_fpu() instances
      8d3e09b4
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 9420f1ce
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of the pin control changes for the v5.9 kernel
        series:
      
        Core changes:
      
         - The GPIO patch "gpiolib: Introduce for_each_requested_gpio_in_range()
           macro" was put in an immutable branch and merged into the pinctrl
           tree as well. We see these changes also here.
      
         - Improved debug output for pins used as GPIO.
      
        New drivers:
      
         - Ocelot Sparx5 SoC driver.
      
         - Intel Emmitsburg SoC subdriver.
      
         - Intel Tiger Lake-H SoC subdriver.
      
         - Qualcomm PM660 SoC subdriver.
      
         - Renesas SH-PFC R8A774E1 subdriver.
      
        Driver improvements:
      
         - Linear improvement and cleanups of the Intel drivers for
           Cherryview, Lynxpoint, Baytrail etc. Improved locking among other
           things.
      
         - Renesas SH-PFC has added support for RPC pins, groups, and
           functions to r8a77970 and r8a77980.
      
         - The newere Freescale (now NXP) i.MX8 pin controllers have been
           modularized. This is driven by the Google Android GKI initiative I
           think.
      
         - Open drain support for pins on the Qualcomm IPQ4019.
      
         - The Ingenic driver can handle both edges IRQ detection.
      
         - A big slew of documentation fixes all over the place.
      
         - A few irqchip template conversions by yours truly.
      
      * tag 'pinctrl-v5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (107 commits)
        dt-bindings: pinctrl: add bindings for MediaTek MT6779 SoC
        pinctrl: stmfx: Use irqchip template
        pinctrl: amd: Use irqchip template
        pinctrl: mediatek: fix build for tristate changes
        pinctrl: samsung: Use bank name as irqchip name
        pinctrl: core: print gpio in pins debugfs file
        pinctrl: mediatek: add mt6779 eint support
        pinctrl: mediatek: add pinctrl support for MT6779 SoC
        pinctrl: mediatek: avoid virtual gpio trying to set reg
        pinctrl: mediatek: update pinmux definitions for mt6779
        pinctrl: stm32: use the hwspin_lock_timeout_in_atomic() API
        pinctrl: mcp23s08: Use irqchip template
        pinctrl: sx150x: Use irqchip template
        dt-bindings: ingenic,pinctrl: Support pinmux/pinconf nodes
        pinctrl: intel: Add Intel Emmitsburg pin controller support
        pinctl: ti: iodelay: Replace HTTP links with HTTPS ones
        Revert "gpio: omap: handle pin config bias flags"
        pinctrl: single: Use fallthrough pseudo-keyword
        pinctrl: qcom: spmi-gpio: Use fallthrough pseudo-keyword
        pinctrl: baytrail: Use fallthrough pseudo-keyword
        ...
      9420f1ce
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · dec1fbbc
      Linus Torvalds authored
      Pull mtd updates from Miquel Raynal:
       "MTD core changes:
         - Spelling
         - http to https updates
      
        NAND core changes:
         - Drop useless 'depends on' in Kconfig
         - Add an extra level in the Kconfig hierarchy
         - Trivial spellings
         - Dynamic allocation of the interface configurations
         - Dropping the default ONFI timing mode
         - Various cleanup (types, structures, naming, comments)
         - Hide the chip->data_interface indirection
         - Add the generic rb-gpios property
         - Add the ->choose_interface_config() hook
         - Introduce nand_choose_best_sdr_timings()
         - Use default values for tPROG_max and tBERS_max
         - Avoid redefining tR_max and tCCS_min
         - Add a helper to find the closest ONFI mode
         - bcm63xx MTD parsers: simplify CFE detection
      
        Raw NAND controller drivers changes:
         - fsl-upm: Deprecation of specific DT properties
         - fsl_upm: Driver rework and cleanup in favor of ->exec_op()
         - Ingenic: Cleanup ARRAY_SIZE() vs sizeof() use
         - brcmnand: ECC error handling on EDU transfers
         - brcmnand: Don't default to EDU transfers
         - qcom: Set BAM mode only if not set already
         - qcom: Avoid write to unavailable register
         - gpio: Driver rework in favor of ->exec_op()
         - tango: ->exec_op() conversion
         - mtk: ->exec_op() conversion
      
        Raw NAND chip drivers changes:
         - toshiba: Implement ->choose_interface_config() for TH58NVG2S3HBAI4,
           TC58NVG0S3E, and TC58TEG5DCLTA00
         - hynix: Implement ->choose_interface_config() for H27UCG8T2ATR-BC
      
        SPI NOR core changes:
         - Disable Quad Mode in spi_nor_restore().
         - Don't abort BFPT parsing when QER reserved value is used.
         - Add support/update capabilities for few flashes.
         - Drop s70fl01gs flash: it does not support RDSR(05h) which is
           critical for erase/write.
         - Merge the SPIMEM DTR bits in spi-nor/next to avoid conflicts during
           the release cycle.
      
        SPI NOR controller drivers changes:
         - Move the cadence-quadspi driver to spi-mem. The series was taken
           through the SPI tree. Merge it also in spi-nor/next to avoid
           conflicts during the release cycle.
         - intel-spi:
            - Add new PCI IDs.
            - Ignore the Write Disable command, the controller doesn't support
              it.
            - Fix performance regression"
      
      * tag 'mtd/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (79 commits)
        MTD: pfow.h: drop a duplicated word
        MTD: mtd-abi.h: drop a duplicated word
        mtd: rawnand: omap_elm: Replace HTTP links with HTTPS ones
        mtd: Replace HTTP links with HTTPS ones
        mtd: hyperbus: Replace HTTP links with HTTPS ones
        mtd: revert "spi-nor: intel: provide a range for poll_timout"
        mtd: spi-nor: update read capabilities for w25q64 and s25fl064k
        mtd: spi-nor: micron: Add SPI_NOR_DUAL_READ flag on mt25qu02g
        mtd: spi-nor: macronix: Add support for mx66u2g45g
        mtd: spi-nor: intel-spi: Simulate WRDI command
        mtd: spi-nor: Disable the flash quad mode in spi_nor_restore()
        mtd: spi-nor: Add capability to disable flash quad mode
        mtd: spi-nor: spansion: Remove s70fl01gs from flash_info
        mtd: spi-nor: sfdp: do not make invalid quad enable fatal
        dt-bindings: mtd: fsl-upm-nand: Deprecate chip-delay and fsl, upm-wait-flags
        mtd: rawnand: stm32_fmc2: get resources from parent node
        mtd: rawnand: stm32_fmc2: use regmap APIs
        memory: stm32-fmc2-ebi: add STM32 FMC2 EBI controller driver
        dt-bindings: memory-controller: add STM32 FMC2 EBI controller documentation
        dt-bindings: mtd: update STM32 FMC2 NAND controller documentation
        ...
      dec1fbbc
    • Stephen Rothwell's avatar
    • Masahiro Yamada's avatar
      kbuild: stop filtering out $(GCC_PLUGINS_CFLAGS) from cc-option base · 132305b3
      Masahiro Yamada authored
      Commit d26e9414 ("kbuild: no gcc-plugins during cc-option tests")
      was neeeded because scripts/Makefile.gcc-plugins was too early.
      
      This is unneeded by including scripts/Makefile.gcc-plugins last,
      and being careful to not add cc-option tests after it.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      132305b3
    • Masahiro Yamada's avatar
      kbuild: include scripts/Makefile.* only when relevant CONFIG is enabled · e0fe0bbe
      Masahiro Yamada authored
      Currently, the top Makefile includes all of scripts/Makefile.<feature>
      even if the associated CONFIG option is disabled.
      
      Do not include unneeded Makefiles in order to slightly optimize the
      parse stage.
      
      Include $(include-y), and ignore $(include-).
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      e0fe0bbe
    • Masahiro Yamada's avatar
      kbuild: introduce hostprogs-always-y and userprogs-always-y · faabed29
      Masahiro Yamada authored
      To build host programs, you need to add the program names to 'hostprogs'
      to use the necessary build rule, but it is not enough to build them
      because there is no dependency.
      
      There are two types of host programs: built as the prerequisite of
      another (e.g. gen_crc32table in lib/Makefile), or always built when
      Kbuild visits the Makefile (e.g. genksyms in scripts/genksyms/Makefile).
      
      The latter is typical in Makefiles under scripts/, which contains host
      programs globally used during the kernel build. To build them, you need
      to add them to both 'hostprogs' and 'always-y'.
      
      This commit adds hostprogs-always-y as a shorthand.
      
      The same applies to user programs. net/bpfilter/Makefile builds
      bpfilter_umh on demand, hence always-y is unneeded. In contrast,
      programs under samples/ are added to both 'userprogs' and 'always-y'
      so they are always built when Kbuild visits the Makefiles.
      
      userprogs-always-y works as a shorthand.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Acked-by: default avatarMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>
      faabed29
    • Masahiro Yamada's avatar
      kbuild: sort hostprogs before passing it to ifneq · 85569d19
      Masahiro Yamada authored
      The conditional:
      
        ifneq ($(hostprogs),)
      
      ... is evaluated to true if $(hostprogs) does not contain any word but
      whitespace characters.
      
        ifneq ($(strip $(hostprogs)),)
      
      ... is a safe way to avoid interpreting whitespace as a non-empty value,
      but I'd rather want to use the side-effect of $(sort ...) to do the
      equivalent.
      
      $(sort ...) is used in scripts/Makefile.host in order to drop duplication
      in $(hostprogs). It is also useful to strip excessive spaces.
      
      Move $(sort ...) before evaluating the ifneq.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      85569d19
    • Masahiro Yamada's avatar
      kbuild: move host .so build rules to scripts/gcc-plugins/Makefile · 42640b13
      Masahiro Yamada authored
      The host shared library rules are currently implemented in
      scripts/Makefile.host, but actually GCC-plugin is the only user of
      them. (The VDSO .so files are built for the target by different
      build rules) Hence, they do not need to be treewide available.
      
      Move all the relevant build rules to scripts/gcc-plugins/Makefile.
      
      I also optimized the build steps so *.so is directly built from .c
      because every upstream plugin is compiled from a single source file.
      
      I am still keeping the multi-file plugin support, which Kees Cook
      mentioned might be needed by out-of-tree plugins.
      (https://lkml.org/lkml/2019/1/11/1107)
      
      If the plugin, foo.so, is compiled from two files foo.c and foo2.c,
      then you can do like follows:
      
        foo-objs := foo.o foo2.o
      
      Single-file plugins do not need the *-objs notation.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      42640b13
    • Alexander A. Klimov's avatar
      kbuild: Replace HTTP links with HTTPS ones · 16a122c7
      Alexander A. Klimov authored
      Rationale:
      Reduces attack surface on kernel devs opening the links for MITM
      as HTTPS traffic is much harder to manipulate.
      
      Deterministic algorithm:
      For each file:
        If not .svg:
          For each line:
            If doesn't contain `\bxmlns\b`:
              For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
      	  If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
                  If both the HTTP and HTTPS versions
                  return 200 OK and serve the same content:
                    Replace HTTP with HTTPS.
      Signed-off-by: default avatarAlexander A. Klimov <grandmaster@al2klimov.de>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      16a122c7