1. 24 8月, 2019 1 次提交
    • A
      KVM: arm/arm64: VGIC: Properly initialise private IRQ affinity · 2e16f3e9
      Andre Przywara 提交于
      At the moment we initialise the target *mask* of a virtual IRQ to the
      VCPU it belongs to, even though this mask is only defined for GICv2 and
      quickly runs out of bits for many GICv3 guests.
      This behaviour triggers an UBSAN complaint for more than 32 VCPUs:
      ------
      [ 5659.462377] UBSAN: Undefined behaviour in virt/kvm/arm/vgic/vgic-init.c:223:21
      [ 5659.471689] shift exponent 32 is too large for 32-bit type 'unsigned int'
      ------
      Also for GICv3 guests the reporting of TARGET in the "vgic-state" debugfs
      dump is wrong, due to this very same problem.
      
      Because there is no requirement to create the VGIC device before the
      VCPUs (and QEMU actually does it the other way round), we can't safely
      initialise mpidr or targets in kvm_vgic_vcpu_init(). But since we touch
      every private IRQ for each VCPU anyway later (in vgic_init()), we can
      just move the initialisation of those fields into there, where we
      definitely know the VGIC type.
      
      On the way make sure we really have either a VGICv2 or a VGICv3 device,
      since the existing code is just checking for "VGICv3 or not", silently
      ignoring the uninitialised case.
      Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
      Reported-by: NDave Martin <dave.martin@arm.com>
      Tested-by: NJulien Grall <julien.grall@arm.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      2e16f3e9
  2. 22 8月, 2019 1 次提交
    • A
      KVM: arm/arm64: Only skip MMIO insn once · 2113c5f6
      Andrew Jones 提交于
      If after an MMIO exit to userspace a VCPU is immediately run with an
      immediate_exit request, such as when a signal is delivered or an MMIO
      emulation completion is needed, then the VCPU completes the MMIO
      emulation and immediately returns to userspace. As the exit_reason
      does not get changed from KVM_EXIT_MMIO in these cases we have to
      be careful not to complete the MMIO emulation again, when the VCPU is
      eventually run again, because the emulation does an instruction skip
      (and doing too many skips would be a waste of guest code :-) We need
      to use additional VCPU state to track if the emulation is complete.
      As luck would have it, we already have 'mmio_needed', which even
      appears to be used in this way by other architectures already.
      
      Fixes: 0d640732 ("arm64: KVM: Skip MMIO insn after emulation")
      Acked-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NAndrew Jones <drjones@redhat.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      2113c5f6
  3. 09 8月, 2019 3 次提交
    • A
      KVM: arm/arm64: vgic: Reevaluate level sensitive interrupts on enable · 16e604a4
      Alexandru Elisei 提交于
      A HW mapped level sensitive interrupt asserted by a device will not be put
      into the ap_list if it is disabled at the VGIC level. When it is enabled
      again, it will be inserted into the ap_list and written to a list register
      on guest entry regardless of the state of the device.
      
      We could argue that this can also happen on real hardware, when the command
      to enable the interrupt reached the GIC before the device had the chance to
      de-assert the interrupt signal; however, we emulate the distributor and
      redistributors in software and we can do better than that.
      Signed-off-by: NAlexandru Elisei <alexandru.elisei@arm.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      16e604a4
    • M
      KVM: arm: Don't write junk to CP15 registers on reset · c69509c7
      Marc Zyngier 提交于
      At the moment, the way we reset CP15 registers is mildly insane:
      We write junk to them, call the reset functions, and then check that
      we have something else in them.
      
      The "fun" thing is that this can happen while the guest is running
      (PSCI, for example). If anything in KVM has to evaluate the state
      of a CP15 register while junk is in there, bad thing may happen.
      
      Let's stop doing that. Instead, we track that we have called a
      reset function for that register, and assume that the reset
      function has done something.
      
      In the end, the very need of this reset check is pretty dubious,
      as it doesn't check everything (a lot of the CP15 reg leave outside
      of the cp15_regs[] array). It may well be axed in the near future.
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      c69509c7
    • M
      KVM: arm64: Don't write junk to sysregs on reset · 03fdfb26
      Marc Zyngier 提交于
      At the moment, the way we reset system registers is mildly insane:
      We write junk to them, call the reset functions, and then check that
      we have something else in them.
      
      The "fun" thing is that this can happen while the guest is running
      (PSCI, for example). If anything in KVM has to evaluate the state
      of a system register while junk is in there, bad thing may happen.
      
      Let's stop doing that. Instead, we track that we have called a
      reset function for that register, and assume that the reset
      function has done something. This requires fixing a couple of
      sysreg refinition in the trap table.
      
      In the end, the very need of this reset check is pretty dubious,
      as it doesn't check everything (a lot of the sysregs leave outside of
      the sys_regs[] array). It may well be axed in the near future.
      Tested-by: NZenghui Yu <yuzenghui@huawei.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      03fdfb26
  4. 05 8月, 2019 1 次提交
    • M
      KVM: arm/arm64: Sync ICH_VMCR_EL2 back when about to block · 5eeaf10e
      Marc Zyngier 提交于
      Since commit commit 328e5664 ("KVM: arm/arm64: vgic: Defer
      touching GICH_VMCR to vcpu_load/put"), we leave ICH_VMCR_EL2 (or
      its GICv2 equivalent) loaded as long as we can, only syncing it
      back when we're scheduled out.
      
      There is a small snag with that though: kvm_vgic_vcpu_pending_irq(),
      which is indirectly called from kvm_vcpu_check_block(), needs to
      evaluate the guest's view of ICC_PMR_EL1. At the point were we
      call kvm_vcpu_check_block(), the vcpu is still loaded, and whatever
      changes to PMR is not visible in memory until we do a vcpu_put().
      
      Things go really south if the guest does the following:
      
      	mov x0, #0	// or any small value masking interrupts
      	msr ICC_PMR_EL1, x0
      
      	[vcpu preempted, then rescheduled, VMCR sampled]
      
      	mov x0, #ff	// allow all interrupts
      	msr ICC_PMR_EL1, x0
      	wfi		// traps to EL2, so samping of VMCR
      
      	[interrupt arrives just after WFI]
      
      Here, the hypervisor's view of PMR is zero, while the guest has enabled
      its interrupts. kvm_vgic_vcpu_pending_irq() will then say that no
      interrupts are pending (despite an interrupt being received) and we'll
      block for no reason. If the guest doesn't have a periodic interrupt
      firing once it has blocked, it will stay there forever.
      
      To avoid this unfortuante situation, let's resync VMCR from
      kvm_arch_vcpu_blocking(), ensuring that a following kvm_vcpu_check_block()
      will observe the latest value of PMR.
      
      This has been found by booting an arm64 Linux guest with the pseudo NMI
      feature, and thus using interrupt priorities to mask interrupts instead
      of the usual PSTATE masking.
      
      Cc: stable@vger.kernel.org # 4.12
      Fixes: 328e5664 ("KVM: arm/arm64: vgic: Defer touching GICH_VMCR to vcpu_load/put")
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      5eeaf10e
  5. 29 7月, 2019 1 次提交
    • A
      arm64: KVM: hyp: debug-sr: Mark expected switch fall-through · cdb2d3ee
      Anders Roxell 提交于
      When fall-through warnings was enabled by default the following warnings
      was starting to show up:
      
      ../arch/arm64/kvm/hyp/debug-sr.c: In function ‘__debug_save_state’:
      ../arch/arm64/kvm/hyp/debug-sr.c:20:19: warning: this statement may fall
       through [-Wimplicit-fallthrough=]
        case 15: ptr[15] = read_debug(reg, 15);   \
      ../arch/arm64/kvm/hyp/debug-sr.c:113:2: note: in expansion of macro ‘save_debug’
        save_debug(dbg->dbg_bcr, dbgbcr, brps);
        ^~~~~~~~~~
      ../arch/arm64/kvm/hyp/debug-sr.c:21:2: note: here
        case 14: ptr[14] = read_debug(reg, 14);   \
        ^~~~
      ../arch/arm64/kvm/hyp/debug-sr.c:113:2: note: in expansion of macro ‘save_debug’
        save_debug(dbg->dbg_bcr, dbgbcr, brps);
        ^~~~~~~~~~
      ../arch/arm64/kvm/hyp/debug-sr.c:21:19: warning: this statement may fall
       through [-Wimplicit-fallthrough=]
        case 14: ptr[14] = read_debug(reg, 14);   \
      ../arch/arm64/kvm/hyp/debug-sr.c:113:2: note: in expansion of macro ‘save_debug’
        save_debug(dbg->dbg_bcr, dbgbcr, brps);
        ^~~~~~~~~~
      ../arch/arm64/kvm/hyp/debug-sr.c:22:2: note: here
        case 13: ptr[13] = read_debug(reg, 13);   \
        ^~~~
      ../arch/arm64/kvm/hyp/debug-sr.c:113:2: note: in expansion of macro ‘save_debug’
        save_debug(dbg->dbg_bcr, dbgbcr, brps);
        ^~~~~~~~~~
      
      Rework to add a 'Fall through' comment where the compiler warned
      about fall-through, hence silencing the warning.
      
      Fixes: d93512ef0f0e ("Makefile: Globally enable fall-through warning")
      Signed-off-by: NAnders Roxell <anders.roxell@linaro.org>
      [maz: fixed commit message]
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      cdb2d3ee
  6. 26 7月, 2019 3 次提交
    • Z
      KVM: arm64: Update kvm_arm_exception_class and esr_class_str for new EC · 6701c619
      Zenghui Yu 提交于
      We've added two ESR exception classes for new ARM hardware extensions:
      ESR_ELx_EC_PAC and ESR_ELx_EC_SVE, but failed to update the strings
      used in tracing and other debug.
      
      Let's update "kvm_arm_exception_class" for these two EC, which the
      new EC will be visible to user-space via kvm_exit trace events
      Also update to "esr_class_str" for ESR_ELx_EC_PAC, by which we can
      get more readable debug info.
      
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Dave Martin <Dave.Martin@arm.com>
      Reviewed-by: NJames Morse <james.morse@arm.com>
      Signed-off-by: NZenghui Yu <yuzenghui@huawei.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      6701c619
    • A
      KVM: arm: vgic-v3: Mark expected switch fall-through · 1a8248c7
      Anders Roxell 提交于
      When fall-through warnings was enabled by default the following warnings
      was starting to show up:
      
      ../virt/kvm/arm/hyp/vgic-v3-sr.c: In function ‘__vgic_v3_save_aprs’:
      ../virt/kvm/arm/hyp/vgic-v3-sr.c:351:24: warning: this statement may fall
       through [-Wimplicit-fallthrough=]
         cpu_if->vgic_ap0r[2] = __vgic_v3_read_ap0rn(2);
         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
      ../virt/kvm/arm/hyp/vgic-v3-sr.c:352:2: note: here
        case 6:
        ^~~~
      ../virt/kvm/arm/hyp/vgic-v3-sr.c:353:24: warning: this statement may fall
       through [-Wimplicit-fallthrough=]
         cpu_if->vgic_ap0r[1] = __vgic_v3_read_ap0rn(1);
         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
      ../virt/kvm/arm/hyp/vgic-v3-sr.c:354:2: note: here
        default:
        ^~~~~~~
      
      Rework so that the compiler doesn't warn about fall-through.
      
      Fixes: d93512ef0f0e ("Makefile: Globally enable fall-through warning")
      Signed-off-by: NAnders Roxell <anders.roxell@linaro.org>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      1a8248c7
    • A
      arm64: KVM: regmap: Fix unexpected switch fall-through · 3d584a3c
      Anders Roxell 提交于
      When fall-through warnings was enabled by default, commit d93512ef0f0e
      ("Makefile: Globally enable fall-through warning"), the following
      warnings was starting to show up:
      
      In file included from ../arch/arm64/include/asm/kvm_emulate.h:19,
                       from ../arch/arm64/kvm/regmap.c:13:
      ../arch/arm64/kvm/regmap.c: In function ‘vcpu_write_spsr32’:
      ../arch/arm64/include/asm/kvm_hyp.h:31:3: warning: this statement may fall
       through [-Wimplicit-fallthrough=]
         asm volatile(ALTERNATIVE(__msr_s(r##nvh, "%x0"), \
         ^~~
      ../arch/arm64/include/asm/kvm_hyp.h:46:31: note: in expansion of macro ‘write_sysreg_elx’
       #define write_sysreg_el1(v,r) write_sysreg_elx(v, r, _EL1, _EL12)
                                     ^~~~~~~~~~~~~~~~
      ../arch/arm64/kvm/regmap.c:180:3: note: in expansion of macro ‘write_sysreg_el1’
         write_sysreg_el1(v, SYS_SPSR);
         ^~~~~~~~~~~~~~~~
      ../arch/arm64/kvm/regmap.c:181:2: note: here
        case KVM_SPSR_ABT:
        ^~~~
      In file included from ../arch/arm64/include/asm/cputype.h:132,
                       from ../arch/arm64/include/asm/cache.h:8,
                       from ../include/linux/cache.h:6,
                       from ../include/linux/printk.h:9,
                       from ../include/linux/kernel.h:15,
                       from ../include/asm-generic/bug.h:18,
                       from ../arch/arm64/include/asm/bug.h:26,
                       from ../include/linux/bug.h:5,
                       from ../include/linux/mmdebug.h:5,
                       from ../include/linux/mm.h:9,
                       from ../arch/arm64/kvm/regmap.c:11:
      ../arch/arm64/include/asm/sysreg.h:837:2: warning: this statement may fall
       through [-Wimplicit-fallthrough=]
        asm volatile("msr " __stringify(r) ", %x0"  \
        ^~~
      ../arch/arm64/kvm/regmap.c:182:3: note: in expansion of macro ‘write_sysreg’
         write_sysreg(v, spsr_abt);
         ^~~~~~~~~~~~
      ../arch/arm64/kvm/regmap.c:183:2: note: here
        case KVM_SPSR_UND:
        ^~~~
      
      Rework to add a 'break;' in the swich-case since it didn't have that,
      leading to an interresting set of bugs.
      
      Cc: stable@vger.kernel.org # v4.17+
      Fixes: a8928195 ("KVM: arm64: Prepare to handle deferred save/restore of 32-bit registers")
      Signed-off-by: NAnders Roxell <anders.roxell@linaro.org>
      [maz: reworked commit message, fixed stable range]
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      3d584a3c
  7. 23 7月, 2019 1 次提交
  8. 22 7月, 2019 7 次提交
    • L
      Linus 5.3-rc1 · 5f9e832c
      Linus Torvalds 提交于
      5f9e832c
    • L
      Merge tag 'devicetree-fixes-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · c7bf0a0f
      Linus Torvalds 提交于
      Pull Devicetree fixes from Rob Herring:
       "Fix several warnings/errors in validation of binding schemas"
      
      * tag 'devicetree-fixes-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: pinctrl: stm32: Fix missing 'clocks' property in examples
        dt-bindings: iio: ad7124: Fix dtc warnings in example
        dt-bindings: iio: avia-hx711: Fix avdd-supply typo in example
        dt-bindings: pinctrl: aspeed: Fix AST2500 example errors
        dt-bindings: pinctrl: aspeed: Fix 'compatible' schema errors
        dt-bindings: riscv: Limit cpus schema to only check RiscV 'cpu' nodes
        dt-bindings: Ensure child nodes are of type 'object'
      c7bf0a0f
    • L
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d6788eb7
      Linus Torvalds 提交于
      Pull vfs documentation typo fix from Al Viro.
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        typo fix: it's d_make_root, not d_make_inode...
      d6788eb7
    • L
      Merge tag '5.3-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 91962d0f
      Linus Torvalds 提交于
      Pull cifs fixes from Steve French:
       "Two fixes for stable, one that had dependency on earlier patch in this
        merge window and can now go in, and a perf improvement in SMB3 open"
      
      * tag '5.3-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: update internal module number
        cifs: flush before set-info if we have writeable handles
        smb3: optimize open to not send query file internal info
        cifs: copy_file_range needs to strip setuid bits and update timestamps
        CIFS: fix deadlock in cached root handling
      91962d0f
    • Q
      iommu/amd: fix a crash in iova_magazine_free_pfns · 8cf66504
      Qian Cai 提交于
      The commit b3aa14f0 ("iommu: remove the mapping_error dma_map_ops
      method") incorrectly changed the checking from dma_ops_alloc_iova() in
      map_sg() causes a crash under memory pressure as dma_ops_alloc_iova()
      never return DMA_MAPPING_ERROR on failure but 0, so the error handling
      is all wrong.
      
         kernel BUG at drivers/iommu/iova.c:801!
          Workqueue: kblockd blk_mq_run_work_fn
          RIP: 0010:iova_magazine_free_pfns+0x7d/0xc0
          Call Trace:
           free_cpu_cached_iovas+0xbd/0x150
           alloc_iova_fast+0x8c/0xba
           dma_ops_alloc_iova.isra.6+0x65/0xa0
           map_sg+0x8c/0x2a0
           scsi_dma_map+0xc6/0x160
           pqi_aio_submit_io+0x1f6/0x440 [smartpqi]
           pqi_scsi_queue_command+0x90c/0xdd0 [smartpqi]
           scsi_queue_rq+0x79c/0x1200
           blk_mq_dispatch_rq_list+0x4dc/0xb70
           blk_mq_sched_dispatch_requests+0x249/0x310
           __blk_mq_run_hw_queue+0x128/0x200
           blk_mq_run_work_fn+0x27/0x30
           process_one_work+0x522/0xa10
           worker_thread+0x63/0x5b0
           kthread+0x1d2/0x1f0
           ret_from_fork+0x22/0x40
      
      Fixes: b3aa14f0 ("iommu: remove the mapping_error dma_map_ops method")
      Signed-off-by: NQian Cai <cai@lca.pw>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8cf66504
    • M
      hexagon: switch to generic version of pte allocation · 618381f0
      Mike Rapoport 提交于
      The hexagon implementation pte_alloc_one(), pte_alloc_one_kernel(),
      pte_free_kernel() and pte_free() is identical to the generic except of
      lack of __GFP_ACCOUNT for the user PTEs allocation.
      
      Switch hexagon to use generic version of these functions.
      Signed-off-by: NMike Rapoport <rppt@linux.ibm.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      618381f0
    • L
      Merge tag 'ntb-5.3' of git://github.com/jonmason/ntb · bec5545e
      Linus Torvalds 提交于
      Pull NTB updates from Jon Mason:
       "New feature to add support for NTB virtual MSI interrupts, the ability
        to test and use this feature in the NTB transport layer.
      
        Also, bug fixes for the AMD and Switchtec drivers, as well as some
        general patches"
      
      * tag 'ntb-5.3' of git://github.com/jonmason/ntb: (22 commits)
        NTB: Describe the ntb_msi_test client in the documentation.
        NTB: Add MSI interrupt support to ntb_transport
        NTB: Add ntb_msi_test support to ntb_test
        NTB: Introduce NTB MSI Test Client
        NTB: Introduce MSI library
        NTB: Rename ntb.c to support multiple source files in the module
        NTB: Introduce functions to calculate multi-port resource index
        NTB: Introduce helper functions to calculate logical port number
        PCI/switchtec: Add module parameter to request more interrupts
        PCI/MSI: Support allocating virtual MSI interrupts
        ntb_hw_switchtec: Fix setup MW with failure bug
        ntb_hw_switchtec: Skip unnecessary re-setup of shared memory window for crosslink case
        ntb_hw_switchtec: Remove redundant steps of switchtec_ntb_reinit_peer() function
        NTB: correct ntb_dev_ops and ntb_dev comment typos
        NTB: amd: Silence shift wrapping warning in amd_ntb_db_vector_mask()
        ntb_hw_switchtec: potential shift wrapping bug in switchtec_ntb_init_sndev()
        NTB: ntb_transport: Ensure qp->tx_mw_dma_addr is initaliazed
        NTB: ntb_hw_amd: set peer limit register
        NTB: ntb_perf: Clear stale values in doorbell and command SPAD register
        NTB: ntb_perf: Disable NTB link after clearing peer XLAT registers
        ...
      bec5545e
  9. 21 7月, 2019 19 次提交
    • A
      typo fix: it's d_make_root, not d_make_inode... · 1b03bc5c
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      1b03bc5c
    • R
      dt-bindings: pinctrl: stm32: Fix missing 'clocks' property in examples · e2297f7c
      Rob Herring 提交于
      Now that examples are validated against the DT schema, an error with
      required 'clocks' property missing is exposed:
      
      Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.example.dt.yaml: \
      pinctrl@40020000: gpio@0: 'clocks' is a required property
      Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.example.dt.yaml: \
      pinctrl@50020000: gpio@1000: 'clocks' is a required property
      Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.example.dt.yaml: \
      pinctrl@50020000: gpio@2000: 'clocks' is a required property
      
      Add the missing 'clocks' properties to the examples to fix the errors.
      
      Fixes: 2c9239c1 ("dt-bindings: pinctrl: Convert stm32 pinctrl bindings to json-schema")
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-stm32@st-md-mailman.stormreply.com
      Acked-by: NAlexandre TORGUE <alexandre.torgue@st.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      e2297f7c
    • R
      dt-bindings: iio: ad7124: Fix dtc warnings in example · 20051f5f
      Rob Herring 提交于
      With the conversion to DT schema, the examples are now compiled with
      dtc. The ad7124 binding example has the following warning:
      
      Documentation/devicetree/bindings/iio/adc/adi,ad7124.example.dts:19.11-21: \
      Warning (reg_format): /example-0/adc@0:reg: property has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1)
      
      There's a default #size-cells and #address-cells values of 1 for
      examples. For examples needing different values such as this one on a
      SPI bus, they need to provide a SPI bus parent node.
      
      Fixes: 26ae15e6 ("Convert AD7124 bindings documentation to YAML format.")
      
      Cc: Jonathan Cameron <jic23@kernel.org>
      Cc: linux-iio@vger.kernel.org
      Signed-off-by: NRob Herring <robh@kernel.org>
      20051f5f
    • R
      dt-bindings: iio: avia-hx711: Fix avdd-supply typo in example · fbbf2b6e
      Rob Herring 提交于
      Now that examples are validated against the DT schema, a typo in
      avia-hx711 example generates a warning:
      
      Documentation/devicetree/bindings/iio/adc/avia-hx711.example.dt.yaml: weight: 'avdd-supply' is a required property
      
      Fix the typo.
      
      Fixes: 5150ec3f ("avia-hx711.yaml: transform DT binding to YAML")
      Cc: Andreas Klinger <ak@it-klinger.de>
      Cc: Jonathan Cameron <jic23@kernel.org>
      Cc: linux-iio@vger.kernel.org
      Signed-off-by: NRob Herring <robh@kernel.org>
      fbbf2b6e
    • R
      dt-bindings: pinctrl: aspeed: Fix AST2500 example errors · fcbe7e3c
      Rob Herring 提交于
      The schema examples are now validated against the schema itself. The
      AST2500 pinctrl schema has a couple of errors:
      
      Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.example.dt.yaml: \
      example-0: $nodename:0: 'example-0' does not match '^(bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
      Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.example.dt.yaml: \
      pinctrl: aspeed,external-nodes: [[1, 2]] is too short
      
      Fixes: 0a617de1 ("dt-bindings: pinctrl: aspeed: Convert AST2500 bindings to json-schema")
      Cc: Andrew Jeffery <andrew@aj.id.au>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Joel Stanley <joel@jms.id.au>
      Cc: linux-aspeed@lists.ozlabs.org
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: NAndrew Jeffery <andrew@aj.id.au>
      Signed-off-by: NRob Herring <robh@kernel.org>
      fcbe7e3c
    • R
      dt-bindings: pinctrl: aspeed: Fix 'compatible' schema errors · ad21a4ce
      Rob Herring 提交于
      The Aspeed pinctl schema have errors in the 'compatible' schema:
      
      Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml: \
      properties:compatible:enum: ['aspeed', 'ast2400-pinctrl', 'aspeed', 'g4-pinctrl'] has non-unique elements
      Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml: \
      properties:compatible:enum: ['aspeed', 'ast2500-pinctrl', 'aspeed', 'g5-pinctrl'] has non-unique elements
      
      Flow style sequences have to be quoted if the vales contain ','. Fix
      this by using the more common one line per entry formatting.
      
      Fixes: 0a617de1 ("dt-bindings: pinctrl: aspeed: Convert AST2500 bindings to json-schema")
      Fixes: 07457937 ("dt-bindings: pinctrl: aspeed: Convert AST2400 bindings to json-schema")
      Cc: Andrew Jeffery <andrew@aj.id.au>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Joel Stanley <joel@jms.id.au>
      Cc: linux-aspeed@lists.ozlabs.org
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: NAndrew Jeffery <andrew@aj.id.au>
      Signed-off-by: NRob Herring <robh@kernel.org>
      ad21a4ce
    • R
      dt-bindings: riscv: Limit cpus schema to only check RiscV 'cpu' nodes · 7d9ef7f3
      Rob Herring 提交于
      Matching on the 'cpus' node was a bad choice because the schema is
      incorrectly applied to non-RiscV cpus nodes. As we now have a common cpus
      schema which checks the general structure, it is also redundant to do so
      in the Risc-V CPU schema.
      
      The downside is one could conceivably mix different architecture's cpu
      nodes or have typos in the compatible string. The latter problem pretty
      much exists for every schema.
      Acked-by: NPaul Walmsley <paul.walmsley@sifive.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      7d9ef7f3
    • R
      dt-bindings: Ensure child nodes are of type 'object' · 15ffef1a
      Rob Herring 提交于
      Properties which are child node definitions need to have an explict
      type. Otherwise, a matching (DT) property can silently match when an
      error is desired. Fix this up tree-wide. Once this is fixed, the
      meta-schema will enforce this on any child node definitions.
      
      Cc: Chen-Yu Tsai <wens@csie.org>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Brian Norris <computersforpeace@gmail.com>
      Cc: Marek Vasut <marek.vasut@gmail.com>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Vignesh Raghavendra <vigneshr@ti.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: linux-mtd@lists.infradead.org
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-stm32@st-md-mailman.stormreply.com
      Cc: linux-spi@vger.kernel.org
      Acked-by: NMiquel Raynal <miquel.raynal@bootlin.com>
      Acked-by: NMaxime Ripard <maxime.ripard@bootlin.com>
      Acked-by: NMark Brown <broonie@kernel.org>
      Acked-by: NAlexandre TORGUE <alexandre.torgue@st.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      15ffef1a
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · f1a3b43c
      Linus Torvalds 提交于
      Pull more input updates from Dmitry Torokhov:
      
       - Apple SPI keyboard and trackpad driver for newer Macs
      
       - ALPS driver will ignore trackpoint-only devices to give the
         trackpoint driver a chance to handle them properly
      
       - another Lenovo is switched over to SMbus from PS/2
      
       - assorted driver fixups.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: alps - fix a mismatch between a condition check and its comment
        Input: psmouse - fix build error of multiple definition
        Input: applespi - remove set but not used variables 'sts'
        Input: add Apple SPI keyboard and trackpad driver
        Input: alps - don't handle ALPS cs19 trackpoint-only device
        Input: hyperv-keyboard - remove dependencies on PAGE_SIZE for ring buffer
        Input: adp5589 - initialize GPIO controller parent device
        Input: iforce - remove empty multiline comments
        Input: synaptics - fix misuse of strlcpy
        Input: auo-pixcir-ts - switch to using  devm_add_action_or_reset()
        Input: gtco - bounds check collection indent level
        Input: mtk-pmic-keys - add of_node_put() before return
        Input: sun4i-lradc-keys - add of_node_put() before return
        Input: synaptics - whitelist Lenovo T580 SMBus intertouch
      f1a3b43c
    • L
      Merge tag 'dma-mapping-5.3-1' of git://git.infradead.org/users/hch/dma-mapping · ac60602a
      Linus Torvalds 提交于
      Pull dma-mapping fixes from Christoph Hellwig:
       "Fix various regressions:
      
         - force unencrypted dma-coherent buffers if encryption bit can't fit
           into the dma coherent mask (Tom Lendacky)
      
         - avoid limiting request size if swiotlb is not used (me)
      
         - fix swiotlb handling in dma_direct_sync_sg_for_cpu/device (Fugang
           Duan)"
      
      * tag 'dma-mapping-5.3-1' of git://git.infradead.org/users/hch/dma-mapping:
        dma-direct: correct the physical addr in dma_direct_sync_sg_for_cpu/device
        dma-direct: only limit the mapping size if swiotlb could be used
        dma-mapping: add a dma_addressing_limited helper
        dma-direct: Force unencrypted DMA under SME for certain DMA masks
      ac60602a
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c6dd78fc
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner:
       "A set of x86 specific fixes and updates:
      
         - The CR2 corruption fixes which store CR2 early in the entry code
           and hand the stored address to the fault handlers.
      
         - Revert a forgotten leftover of the dropped FSGSBASE series.
      
         - Plug a memory leak in the boot code.
      
         - Make the Hyper-V assist functionality robust by zeroing the shadow
           page.
      
         - Remove a useless check for dead processes with LDT
      
         - Update paravirt and VMware maintainers entries.
      
         - A few cleanup patches addressing various compiler warnings"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/entry/64: Prevent clobbering of saved CR2 value
        x86/hyper-v: Zero out the VP ASSIST PAGE on allocation
        x86, boot: Remove multiple copy of static function sanitize_boot_params()
        x86/boot/compressed/64: Remove unused variable
        x86/boot/efi: Remove unused variables
        x86/mm, tracing: Fix CR2 corruption
        x86/entry/64: Update comments and sanity tests for create_gap
        x86/entry/64: Simplify idtentry a little
        x86/entry/32: Simplify common_exception
        x86/paravirt: Make read_cr2() CALLEE_SAVE
        MAINTAINERS: Update PARAVIRT_OPS_INTERFACE and VMWARE_HYPERVISOR_INTERFACE
        x86/process: Delete useless check for dead process with LDT
        x86: math-emu: Hide clang warnings for 16-bit overflow
        x86/e820: Use proper booleans instead of 0/1
        x86/apic: Silence -Wtype-limits compiler warnings
        x86/mm: Free sme_early_buffer after init
        x86/boot: Fix memory leak in default_get_smp_config()
        Revert "x86/ptrace: Prevent ptrace from clearing the FS/GS selector" and fix the test
      c6dd78fc
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 46f5c0cc
      Linus Torvalds 提交于
      Pull perf tooling updates from Thomas Gleixner:
       "A set of perf improvements and fixes:
      
        perf db-export:
         - Improvements in how COMM details are exported to databases for post
           processing and use in the sql-viewer.py UI.
      
         - Export switch events to the database.
      
        BPF:
         - Bump rlimit(MEMLOCK) for 'perf test bpf' and 'perf trace', just
           like selftests/bpf/bpf_rlimit.h do, which makes errors due to
           exhaustion of this limit, which are kinda cryptic (EPERM sometimes)
           less frequent.
      
        perf version:
         - Fix segfault due to missing OPT_END(), noticed on PowerPC.
      
        perf vendor events:
         - Add JSON files for IBM s/390 machine type 8561.
      
        perf cs-etm (ARM):
         - Fix two cases of error returns not bing done properly: Invalid
           ERR_PTR() use and loss of propagation error codes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits)
        perf version: Fix segfault due to missing OPT_END()
        perf vendor events s390: Add JSON files for machine type 8561
        perf cs-etm: Return errcode in cs_etm__process_auxtrace_info()
        perf cs-etm: Remove errnoeous ERR_PTR() usage in cs_etm__process_auxtrace_info
        perf scripts python: export-to-postgresql.py: Export switch events
        perf scripts python: export-to-sqlite.py: Export switch events
        perf db-export: Export switch events
        perf db-export: Factor out db_export__threads()
        perf script: Add scripting operation process_switch()
        perf scripts python: exported-sql-viewer.py: Use new 'has_calls' column
        perf scripts python: exported-sql-viewer.py: Remove redundant semi-colons
        perf scripts python: export-to-postgresql.py: Add has_calls column to comms table
        perf scripts python: export-to-sqlite.py: Add has_calls column to comms table
        perf db-export: Also export thread's current comm
        perf db-export: Factor out db_export__comm()
        perf scripts python: export-to-postgresql.py: Export comm details
        perf scripts python: export-to-sqlite.py: Export comm details
        perf db-export: Export comm details
        perf db-export: Fix a white space issue in db_export__sample()
        perf db-export: Move export__comm_thread into db_export__sample()
        ...
      46f5c0cc
    • L
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e6023adc
      Linus Torvalds 提交于
      Pull core fixes from Thomas Gleixner:
      
       - A collection of objtool fixes which address recent fallout partially
         exposed by newer toolchains, clang, BPF and general code changes.
      
       - Force USER_DS for user stack traces
      
      [ Note: the "objtool fixes" are not all to objtool itself, but for
        kernel code that triggers objtool warnings.
      
        Things like missing function size annotations, or code that confuses
        the unwinder etc.   - Linus]
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
        objtool: Support conditional retpolines
        objtool: Convert insn type to enum
        objtool: Fix seg fault on bad switch table entry
        objtool: Support repeated uses of the same C jump table
        objtool: Refactor jump table code
        objtool: Refactor sibling call detection logic
        objtool: Do frame pointer check before dead end check
        objtool: Change dead_end_function() to return boolean
        objtool: Warn on zero-length functions
        objtool: Refactor function alias logic
        objtool: Track original function across branches
        objtool: Add mcsafe_handle_tail() to the uaccess safe list
        bpf: Disable GCC -fgcse optimization for ___bpf_prog_run()
        x86/uaccess: Remove redundant CLACs in getuser/putuser error paths
        x86/uaccess: Don't leak AC flag into fentry from mcsafe_handle_tail()
        x86/uaccess: Remove ELF function annotation from copy_user_handle_tail()
        x86/head/64: Annotate start_cpu0() as non-callable
        x86/entry: Fix thunk function ELF sizes
        x86/kvm: Don't call kvm_spurious_fault() from .fixup
        x86/kvm: Replace vmx_vmenter()'s call to kvm_spurious_fault() with UD2
        ...
      e6023adc
    • L
      Merge branch 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4b01f5a4
      Linus Torvalds 提交于
      Pull smp fix from Thomas Gleixner:
       "Add warnings to the smp function calls so callers from wrong contexts
        get detected"
      
      * 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        smp: Warn on function calls from softirq context
      4b01f5a4
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 70e6e1b9
      Linus Torvalds 提交于
      Pull CONFIG_PREEMPT_RT stub config from Thomas Gleixner:
       "The real-time preemption patch set exists for almost 15 years now and
        while the vast majority of infrastructure and enhancements have found
        their way into the mainline kernel, the final integration of RT is
        still missing.
      
        Over the course of the last few years, we have worked on reducing the
        intrusivenness of the RT patches by refactoring kernel infrastructure
        to be more real-time friendly. Almost all of these changes were
        benefitial to the mainline kernel on their own, so there was no
        objection to integrate them.
      
        Though except for the still ongoing printk refactoring, the remaining
        changes which are required to make RT a first class mainline citizen
        are not longer arguable as immediately beneficial for the mainline
        kernel. Most of them are either reordering code flows or adding RT
        specific functionality.
      
        But this now has hit a wall and turned into a classic hen and egg
        problem:
      
           Maintainers are rightfully wary vs. these changes as they make only
           sense if the final integration of RT into the mainline kernel takes
           place.
      
        Adding CONFIG_PREEMPT_RT aims to solve this as a clear sign that RT
        will be fully integrated into the mainline kernel. The final
        integration of the missing bits and pieces will be of course done with
        the same careful approach as we have used in the past.
      
        While I'm aware that you are not entirely enthusiastic about that, I
        think that RT should receive the same treatment as any other widely
        used out of tree functionality, which we have accepted into mainline
        over the years.
      
        RT has become the de-facto standard real-time enhancement and is
        shipped by enterprise, embedded and community distros. It's in use
        throughout a wide range of industries: telecommunications, industrial
        automation, professional audio, medical devices, data acquisition,
        automotive - just to name a few major use cases.
      
        RT development is backed by a Linuxfoundation project which is
        supported by major stakeholders of this technology. The funding will
        continue over the actual inclusion into mainline to make sure that the
        functionality is neither introducing regressions, regressing itself,
        nor becomes subject to bitrot. There is also a lifely user community
        around RT as well, so contrary to the grim situation 5 years ago, it's
        a healthy project.
      
        As RT is still a good vehicle to exercise rarely used code paths and
        to detect hard to trigger issues, you could at least view it as a QA
        tool if nothing else"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/rt, Kconfig: Introduce CONFIG_PREEMPT_RT
      70e6e1b9
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 07ab9d5b
      Linus Torvalds 提交于
      Pull more KVM updates from Paolo Bonzini:
       "Mostly bugfixes, but also:
      
         - s390 support for KVM selftests
      
         - LAPIC timer offloading to housekeeping CPUs
      
         - Extend an s390 optimization for overcommitted hosts to all
           architectures
      
         - Debugging cleanups and improvements"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (25 commits)
        KVM: x86: Add fixed counters to PMU filter
        KVM: nVMX: do not use dangling shadow VMCS after guest reset
        KVM: VMX: dump VMCS on failed entry
        KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed
        KVM: s390: Use kvm_vcpu_wake_up in kvm_s390_vcpu_wakeup
        KVM: Boost vCPUs that are delivering interrupts
        KVM: selftests: Remove superfluous define from vmx.c
        KVM: SVM: Fix detection of AMD Errata 1096
        KVM: LAPIC: Inject timer interrupt via posted interrupt
        KVM: LAPIC: Make lapic timer unpinned
        KVM: x86/vPMU: reset pmc->counter to 0 for pmu fixed_counters
        KVM: nVMX: Ignore segment base for VMX memory operand when segment not FS or GS
        kvm: x86: ioapic and apic debug macros cleanup
        kvm: x86: some tsc debug cleanup
        kvm: vmx: fix coccinelle warnings
        x86: kvm: avoid constant-conversion warning
        x86: kvm: avoid -Wsometimes-uninitized warning
        KVM: x86: expose AVX512_BF16 feature to guest
        KVM: selftests: enable pgste option for the linker on s390
        KVM: selftests: Move kvm_create_max_vcpus test to generic code
        ...
      07ab9d5b
    • L
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · f65420df
      Linus Torvalds 提交于
      Pull SCSI fixes from James Bottomley:
       "This is the final round of mostly small fixes in our initial submit.
      
        It's mostly minor fixes and driver updates. The only change of note is
        adding a virt_boundary_mask to the SCSI host and host template to
        parametrise this for NVMe devices instead of having them do a call in
        slave_alloc. It's a fairly straightforward conversion except in the
        two NVMe handling drivers that didn't set it who now have a virtual
        infinity parameter added"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (24 commits)
        scsi: megaraid_sas: set an unlimited max_segment_size
        scsi: mpt3sas: set an unlimited max_segment_size for SAS 3.0 HBAs
        scsi: IB/srp: set virt_boundary_mask in the scsi host
        scsi: IB/iser: set virt_boundary_mask in the scsi host
        scsi: storvsc: set virt_boundary_mask in the scsi host template
        scsi: ufshcd: set max_segment_size in the scsi host template
        scsi: core: take the DMA max mapping size into account
        scsi: core: add a host / host template field for the virt boundary
        scsi: core: Fix race on creating sense cache
        scsi: sd_zbc: Fix compilation warning
        scsi: libfc: fix null pointer dereference on a null lport
        scsi: zfcp: fix GCC compiler warning emitted with -Wmaybe-uninitialized
        scsi: zfcp: fix request object use-after-free in send path causing wrong traces
        scsi: zfcp: fix request object use-after-free in send path causing seqno errors
        scsi: megaraid_sas: Update driver version to 07.710.50.00
        scsi: megaraid_sas: Add module parameter for FW Async event logging
        scsi: megaraid_sas: Enable msix_load_balance for Invader and later controllers
        scsi: megaraid_sas: Fix calculation of target ID
        scsi: lpfc: reduce stack size with CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE
        scsi: devinfo: BLIST_TRY_VPD_PAGES for SanDisk Cruzer Blade
        ...
      f65420df
    • L
      Merge tag 'kbuild-v5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 168c7997
      Linus Torvalds 提交于
      Pull more Kbuild updates from Masahiro Yamada:
      
       - match the directory structure of the linux-libc-dev package to that
         of Debian-based distributions
      
       - fix incorrect include/config/auto.conf generation when Kconfig
         creates it along with the .config file
      
       - remove misleading $(AS) from documents
      
       - clean up precious tag files by distclean instead of mrproper
      
       - add a new coccinelle patch for devm_platform_ioremap_resource
         migration
      
       - refactor module-related scripts to read modules.order instead of
         $(MODVERDIR)/*.mod files to get the list of created modules
      
       - remove MODVERDIR
      
       - update list of header compile-test
      
       - add -fcf-protection=none flag to avoid conflict with the retpoline
         flags when CONFIG_RETPOLINE=y
      
       - misc cleanups
      
      * tag 'kbuild-v5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (25 commits)
        kbuild: add -fcf-protection=none when using retpoline flags
        kbuild: update compile-test header list for v5.3-rc1
        kbuild: split out *.mod out of {single,multi}-used-m rules
        kbuild: remove 'prepare1' target
        kbuild: remove the first line of *.mod files
        kbuild: create *.mod with full directory path and remove MODVERDIR
        kbuild: export_report: read modules.order instead of .tmp_versions/*.mod
        kbuild: modpost: read modules.order instead of $(MODVERDIR)/*.mod
        kbuild: modsign: read modules.order instead of $(MODVERDIR)/*.mod
        kbuild: modinst: read modules.order instead of $(MODVERDIR)/*.mod
        scsi: remove pointless $(MODVERDIR)/$(obj)/53c700.ver
        kbuild: remove duplication from modules.order in sub-directories
        kbuild: get rid of kernel/ prefix from in-tree modules.{order,builtin}
        kbuild: do not create empty modules.order in the prepare stage
        coccinelle: api: add devm_platform_ioremap_resource script
        kbuild: compile-test headers listed in header-test-m as well
        kbuild: remove unused hostcc-option
        kbuild: remove tag files by distclean instead of mrproper
        kbuild: add --hash-style= and --build-id unconditionally
        kbuild: get rid of misleading $(AS) from documents
        ...
      168c7997
    • L
      Merge branch 'work.dcache2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 18253e03
      Linus Torvalds 提交于
      Pull dcache and mountpoint updates from Al Viro:
       "Saner handling of refcounts to mountpoints.
      
        Transfer the counting reference from struct mount ->mnt_mountpoint
        over to struct mountpoint ->m_dentry. That allows us to get rid of the
        convoluted games with ordering of mount shutdowns.
      
        The cost is in teaching shrink_dcache_{parent,for_umount} to cope with
        mixed-filesystem shrink lists, which we'll also need for the Slab
        Movable Objects patchset"
      
      * 'work.dcache2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        switch the remnants of releasing the mountpoint away from fs_pin
        get rid of detach_mnt()
        make struct mountpoint bear the dentry reference to mountpoint, not struct mount
        Teach shrink_dcache_parent() to cope with mixed-filesystem shrink lists
        fs/namespace.c: shift put_mountpoint() to callers of unhash_mnt()
        __detach_mounts(): lookup_mountpoint() can't return ERR_PTR() anymore
        nfs: dget_parent() never returns NULL
        ceph: don't open-code the check for dead lockref
      18253e03
  10. 20 7月, 2019 3 次提交