1. 16 Sep, 2022 15 commits
    • Serge Semin's avatar
      ata: libahci_platform: Parse ports-implemented property in resources getter · 3f74cd04
      Serge Semin authored
      The ports-implemented property is mainly used on the OF-based platforms
      with no ports mapping initialized by a bootloader/BIOS firmware. Seeing
      the same of_property_read_u32()-based pattern has already been implemented
      in the generic AHCI LLDD (glue) driver and in the Mediatek, St AHCI
      drivers let's move the property read procedure to the generic
      ahci_platform_get_resources() method. Thus we'll have the forced ports
      mapping feature supported for each OF-based platform which requires that,
      and stop re-implementing the same pattern in there a bit simplifying the
      code.
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      3f74cd04
    • Serge Semin's avatar
      ata: libahci_platform: Sanity check the DT child nodes number · 3c132ea6
      Serge Semin authored
      Having greater than AHCI_MAX_PORTS (32) ports detected isn't that critical
      from the further AHCI-platform initialization point of view since
      exceeding the ports upper limit will cause allocating more resources than
      will be used afterwards. But detecting too many child DT-nodes doesn't
      seem right since it's very unlikely to have it on an ordinary platform. In
      accordance with the AHCI specification there can't be more than 32 ports
      implemented at least due to having the CAP.NP field of 5 bits wide and the
      PI register of dword size. Thus if such situation is found the DTB must
      have been corrupted and the data read from it shouldn't be reliable. Let's
      consider that as an erroneous situation and halt further resources
      allocation.
      
      Note it's logically more correct to have the nports set only after the
      initialization value is checked for being sane. So while at it let's make
      sure nports is assigned with a correct value.
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      3c132ea6
    • Serge Semin's avatar
      ata: libahci_platform: Convert to using devm bulk clocks API · e28b3abf
      Serge Semin authored
      In order to simplify the clock-related code there is a way to convert the
      current fixed clocks array into using the common bulk clocks kernel API
      with dynamic set of the clock handlers and device-managed clock-resource
      tracking. It's a bit tricky due to the complication coming from the
      requirement to support the platforms (da850, spear13xx) with the
      non-OF-based clock source, but still doable.
      
      Before this modification there are two methods have been used to get the
      clocks connected to an AHCI device: clk_get() - to get the very first
      clock in the list and of_clk_get() - to get the rest of them. Basically
      the platforms with non-OF-based clocks definition could specify only a
      single reference clock source. The platforms with OF-hw clocks have been
      luckier and could setup up to AHCI_MAX_CLKS clocks. Such semantic can be
      retained with using devm_clk_bulk_get_all() to retrieve the clocks defined
      via the DT firmware and devm_clk_get_optional() otherwise. In both cases
      using the device-managed version of the methods will cause the automatic
      resources deallocation on the AHCI device removal event. The only
      complicated part in the suggested approach is the explicit allocation and
      initialization of the clk_bulk_data structure instance for the non-OF
      reference clocks. It's required in order to use the Bulk Clocks API for
      the both denoted cases of the clocks definition.
      
      Note aside with the clock-related code reduction and natural
      simplification, there are several bonuses the suggested modification
      provides. First of all the limitation of having no greater than
      AHCI_MAX_CLKS clocks is now removed, since the devm_clk_bulk_get_all()
      method will allocate as many reference clocks data descriptors as there
      are clocks specified for the device. Secondly the clock names are
      auto-detected. So the LLDD (glue) drivers can make sure that the required
      clocks are specified just by checking the clock IDs in the clk_bulk_data
      array.  Thirdly using the handy Bulk Clocks kernel API improves the
      clocks-handling code readability. And the last but not least this
      modification implements a true optional clocks support to the
      ahci_platform_get_resources() method. Indeed the previous clocks getting
      procedure just stopped getting the clocks on any errors (aside from
      non-critical -EPROBE_DEFER) in a way so the callee wasn't even informed
      about abnormal loop termination. The new implementation lacks of such
      problem. The ahci_platform_get_resources() will return an error code if
      the corresponding clocks getting method ends execution abnormally.
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      e28b3abf
    • Serge Semin's avatar
      ata: libahci_platform: Convert to using platform devm-ioremap methods · 82d437e6
      Serge Semin authored
      Currently the IOMEM AHCI registers space is mapped by means of the
      two functions invocation: platform_get_resource() is used to get the very
      first memory resource and devm_ioremap_resource() is called to remap that
      resource. Device-managed kernel API provides a handy wrapper to perform
      the same in single function call: devm_platform_ioremap_resource().
      
      While at it seeing many AHCI platform drivers rely on having the AHCI CSR
      space marked with "ahci" name let's first try to find and remap the CSR
      IO-mem with that name and only if it fails fallback to getting the very
      first registers space platform resource.
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      82d437e6
    • Serge Semin's avatar
      dt-bindings: ata: sata-brcm: Apply common AHCI schema · 2ea4d52a
      Serge Semin authored
      The Broadcom SATA controller is obviously based on the AHCI standard. The
      device driver uses the kernel AHCI library to work with it. Therefore we
      can be have a more thorough DT-bindings evaluation by referring to the
      AHCI-common schema instead of using the more relaxed SATA-common one.
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      2ea4d52a
    • Serge Semin's avatar
      dt-bindings: ata: sata: Extend number of SATA ports · 388f08ec
      Serge Semin authored
      The denoted in the description upper limit only concerns the Port
      Multipliers, but not the actual SATA ports. It's an external device
      attached to a SATA port in order to access more than one SATA-drive. So
      when it's attached to a SATA port it just extends the port capability
      while the number of actual SATA ports stays the same. For instance on AHCI
      controllers the number of actual ports is determined by the CAP.NP field
      and the PI (Ports Implemented) register. AFAICS in general the maximum
      number of SATA ports depends on the particular controller implementation.
      Generic AHCI controller can't have more than 32 ports (since CAP.NP is of
      5 bits wide and PI register is 32-bits size), while DWC AHCI SATA
      controller can't be configured with more than 8 ports activated. So let's
      discard the SATA ports reg-property restrictions and just make sure that
      it consists of a single reg-item.
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      388f08ec
    • Serge Semin's avatar
      dt-bindings: ata: ahci-platform: Clarify common AHCI props constraints · 9bd24070
      Serge Semin authored
      Indeed in accordance with what is implemented in the AHCI platform driver
      and the way the AHCI DT nodes are defined in the DT files we can add the
      next AHCI DT properties constraints: AHCI CSR ID is fixed to 'ahci', PHY
      name is fixed to 'sata-phy', AHCI controller can't have more than 32 ports
      by design, AHCI controller can have up to 32 IRQ lines.
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      9bd24070
    • Serge Semin's avatar
      dt-bindings: ata: ahci-platform: Detach common AHCI bindings · 0f3680ed
      Serge Semin authored
      In order to create a more sophisticated AHCI controller DT bindings let's
      divide the already available generic AHCI platform YAML schema into the
      platform part and a set of the common AHCI properties. The former part
      will be used to evaluate the AHCI DT nodes mainly compatible with the
      generic AHCI controller while the later schema will be used for more
      thorough AHCI DT nodes description. For instance such YAML schemas design
      will be useful for our DW AHCI SATA controller derivative with four clock
      sources, two reset lines, one system controller reference and specific
      max Rx/Tx DMA xfers size constraints.
      
      Note the phys and target-supply property requirement is preserved in the
      generic AHCI platform bindings because some platforms can lack of the
      explicitly specified PHYs or target device power regulators.
      
      Also note the SATA/AHCI ports properties have been moved to the
      $defs-paragraph of the schemas. It's done in order to create the
      extendable properties hierarchy such that particular AHCI-controller
      could add vendor-specific port properties.
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      0f3680ed
    • Serge Semin's avatar
      dt-bindings: ata: ahci-platform: Move dma-coherent to sata-common.yaml · 6f997d4b
      Serge Semin authored
      Seeing doubtfully any SATA device working without embedded DMA engine
      let's permit the device nodes being equipped with the dma-coherent
      property in case if the platform is capable of cache-coherent DMAs.
      
      As a side-effect we can drop the explicit dma-coherent property definition
      from the particular device schemas. Currently it concerns the Broadcom
      SATA AHCI controller only.
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      6f997d4b
    • Lukas Bulwahn's avatar
      ata: make PATA_PLATFORM selectable only for suitable architectures · d3243965
      Lukas Bulwahn authored
      It is currently possible to select "Generic platform device PATA support"
      in two situations:
      
        - architecture allows the generic platform device PATA support and
          indicates that with "select HAVE_PATA_PLATFORM".
        - if the user claims to be an EXPERT by setting CONFIG_EXPERT to yes
      
      However, there is no use case to have Generic platform device PATA support
      in a kernel build if the architecture definition, i.e., the selection of
      configs by an architecture, does not support it.
      
      If the architecture definition is wrong, i.e., it just misses a 'select
      HAVE_PATA_PLATFORM', then even an expert that configures the kernel build
      should not just fix that by overruling the claimed support by an
      architecture. If the architecture definition is wrong, the expert should
      just provide a patch to correct the architecture definition instead---in
      the end, if the user is an expert, sending a quick one-line patch should
      not be an issue.
      
      In other words, I do not see the deeper why an expert can overrule the
      architecture definition in this case, as the expert may not overrule the
      config selections defined by the architecture in the large majority
      ---or probably all other (modulo some mistakes)---of similar cases.
      Signed-off-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      d3243965
    • Lukas Bulwahn's avatar
      ata: clean up how architectures enable PATA_PLATFORM and PATA_OF_PLATFORM · 3ebe59a5
      Lukas Bulwahn authored
      There are two options for platform device PATA support:
      
        PATA_PLATFORM: Generic platform device PATA support
        PATA_OF_PLATFORM: OpenFirmware platform device PATA support
      
      If an architecture allows the generic platform device PATA support, it
      shall select HAVE_PATA_PLATFORM. Then, Generic platform device PATA support
      is available and can be selected.
      
      If an architecture has OpenFirmware support, which it indicates by
      selecting OF, OpenFirmware platform device PATA support is available
      and can be selected.
      If OpenFirmware platform device PATA support is selected, then the
      functionality (code files) from Generic platform device PATA support needs
      to be integrated in the kernel build for the OpenFirmware platform device
      PATA support to work. Select PATA_PLATFORM in PATA_OF_PLATFORM to make sure
      the needed files are added in the build.
      
      So, architectures with OpenFirmware support, do not need to additionally
      select HAVE_PATA_PLATFORM. It is only needed by architecture that want the
      non-OF pata-platform module.
      
      Reflect this way of intended use of config symbols in the ata Kconfig and
      adjust all architecture definitions.
      
      This follows the suggestion from Arnd Bergmann (see Link).
      Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
      Link: https://lore.kernel.org/all/4b33bffc-2b6d-46b4-9f1d-d18e55975a5a@www.fastmail.com/Signed-off-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      3ebe59a5
    • Li Zhong's avatar
      ata: libata-core: Check errors in sata_print_link_status() · 55d5ba55
      Li Zhong authored
      sata_scr_read() could return negative error code on failure. Check the
      return value when reading the control register.
      Signed-off-by: default avatarLi Zhong <floridsleeves@gmail.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      55d5ba55
    • Shaomin Deng's avatar
      ata: libata-sff: Fix double word in comments · 03070458
      Shaomin Deng authored
      Remove the repeated word "Transfer" in comments.
      Signed-off-by: default avatarShaomin Deng <dengshaomin@cdjrlc.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      03070458
    • Shaomin Deng's avatar
      ata: pata_macio: Remove unneeded word in comments · 0b2436d3
      Shaomin Deng authored
      There is unneeded word "to" in line 669, so remove it.
      Signed-off-by: default avatarShaomin Deng <dengshaomin@cdjrlc.com>
      Reviewed-by: default avatarSergey Shtylyov <s.shtylyov@omp.ru>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      0b2436d3
    • Damien Le Moal's avatar
      ata: libata-core: Simplify ata_dev_set_xfermode() · 024811a2
      Damien Le Moal authored
      The err_mask variable is not useful. Remove it.
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      024811a2
  2. 25 Aug, 2022 4 commits
  3. 17 Aug, 2022 2 commits
  4. 14 Aug, 2022 10 commits
    • Linus Torvalds's avatar
      Linux 6.0-rc1 · 568035b0
      Linus Torvalds authored
      568035b0
    • Yury Norov's avatar
      radix-tree: replace gfp.h inclusion with gfp_types.h · 9f162193
      Yury Norov authored
      Radix tree header includes gfp.h for __GFP_BITS_SHIFT only. Now we
      have gfp_types.h for this.
      
      Fixes powerpc allmodconfig build:
      
         In file included from include/linux/nodemask.h:97,
                          from include/linux/mmzone.h:17,
                          from include/linux/gfp.h:7,
                          from include/linux/radix-tree.h:12,
                          from include/linux/idr.h:15,
                          from include/linux/kernfs.h:12,
                          from include/linux/sysfs.h:16,
                          from include/linux/kobject.h:20,
                          from include/linux/pci.h:35,
                          from arch/powerpc/kernel/prom_init.c:24:
         include/linux/random.h: In function 'add_latent_entropy':
      >> include/linux/random.h:25:46: error: 'latent_entropy' undeclared (first use in this function); did you mean 'add_latent_entropy'?
            25 |         add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy));
               |                                              ^~~~~~~~~~~~~~
               |                                              add_latent_entropy
         include/linux/random.h:25:46: note: each undeclared identifier is reported only once for each function it appears in
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      CC: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      CC: Andrew Morton <akpm@linux-foundation.org>
      CC: Jason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarYury Norov <yury.norov@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9f162193
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 74cbb480
      Linus Torvalds authored
      Pull vfs lseek fix from Al Viro:
       "Fix proc_reg_llseek() breakage. Always had been possible if somebody
        left NULL ->proc_lseek, became a practical issue now"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        take care to handle NULL ->proc_lseek()
      74cbb480
    • Al Viro's avatar
      take care to handle NULL ->proc_lseek() · 3f61631d
      Al Viro authored
      Easily done now, just by clearing FMODE_LSEEK in ->f_mode
      during proc_reg_open() for such entries.
      
      Fixes: 868941b1 "fs: remove no_llseek"
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      3f61631d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.0-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 5d6a0f4d
      Linus Torvalds authored
      Pull more xen updates from Juergen Gross:
      
       - fix the handling of the "persistent grants" feature negotiation
         between Xen blkfront and Xen blkback drivers
      
       - a cleanup of xen.config and adding xen.config to Xen section in
         MAINTAINERS
      
       - support HVMOP_set_evtchn_upcall_vector, which is more compliant to
         "normal" interrupt handling than the global callback used up to now
      
       - further small cleanups
      
      * tag 'for-linus-6.0-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        MAINTAINERS: add xen config fragments to XEN HYPERVISOR sections
        xen: remove XEN_SCRUB_PAGES in xen.config
        xen/pciback: Fix comment typo
        xen/xenbus: fix return type in xenbus_file_read()
        xen-blkfront: Apply 'feature_persistent' parameter when connect
        xen-blkback: Apply 'feature_persistent' parameter when connect
        xen-blkback: fix persistent grants negotiation
        x86/xen: Add support for HVMOP_set_evtchn_upcall_vector
      5d6a0f4d
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-13' of... · 96f86ff0
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tool updates from Arnaldo Carvalho de Melo:
      
       - 'perf c2c' now supports ARM64, adjust its output to cope with
         differences with what is in x86_64. Now go find false sharing on
         ARM64 (at least Neoverse) as well!
      
       - Refactor the JSON processing, making the output more compact and thus
         reducing the size of the resulting perf binary
      
       - Improvements for 'perf offcpu' profiling, including tracking child
         processes
      
       - Update Intel JSON metrics and events files for broadwellde,
         broadwellx, cascadelakex, haswellx, icelakex, ivytown, jaketown,
         knightslanding, sapphirerapids, skylakex and snowridgex
      
       - Add 'perf stat' JSON output and a 'perf test' entry for it
      
       - Ignore memfd and anonymous mmap events if jitdump present
      
       - Refactor 'perf test' shell tests allowing subdirs
      
       - Fix an error handling path in 'parse_perf_probe_command()'
      
       - Fixes for the guest Intel PT tracing patchkit in the 1st batch of
         this merge window
      
       - Print debuginfod queries if -v option is used, to explain delays in
         processing when debuginfo servers are enabled to fetch DSOs with
         richer symbol tables
      
       - Improve error message for 'perf record -p not_existing_pid'
      
       - Fix openssl and libbpf feature detection
      
       - Add PMU pai_crypto event description for IBM z16 on 'perf list'
      
       - Fix typos and duplicated words on comments in various places
      
      * tag 'perf-tools-fixes-for-v6.0-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (81 commits)
        perf test: Refactor shell tests allowing subdirs
        perf vendor events: Update events for snowridgex
        perf vendor events: Update events and metrics for skylakex
        perf vendor events: Update metrics for sapphirerapids
        perf vendor events: Update events for knightslanding
        perf vendor events: Update metrics for jaketown
        perf vendor events: Update metrics for ivytown
        perf vendor events: Update events and metrics for icelakex
        perf vendor events: Update events and metrics for haswellx
        perf vendor events: Update events and metrics for cascadelakex
        perf vendor events: Update events and metrics for broadwellx
        perf vendor events: Update metrics for broadwellde
        perf jevents: Fold strings optimization
        perf jevents: Compress the pmu_events_table
        perf metrics: Copy entire pmu_event in find metric
        perf pmu-events: Hide the pmu_events
        perf pmu-events: Don't assume pmu_event is an array
        perf pmu-events: Move test events/metrics to JSON
        perf test: Use full metric resolution
        perf pmu-events: Hide pmu_events_map
        ...
      96f86ff0
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · d785610f
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Ensure we never emit lwarx with EH=1 on 32-bit, because some 32-bit
         CPUs trap on it rather than ignoring it as they should.
      
       - Fix ftrace when building with clang, which was broken by some
         refactoring.
      
       - A couple of other minor fixes.
      
      Thanks to Christophe Leroy, Naveen N.  Rao, Nick Desaulniers, Ondrej
      Mosnacek, Pali Rohár, Russell Currey, and Segher Boessenkool.
      
      * tag 'powerpc-6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/kexec: Fix build failure from uninitialised variable
        powerpc/ppc-opcode: Fix PPC_RAW_TW()
        powerpc64/ftrace: Fix ftrace for clang builds
        powerpc: Make eh value more explicit when using lwarx
        powerpc: Don't hide eh field of lwarx behind a macro
        powerpc: Fix eh field when calling lwarx on PPC32
      d785610f
    • Linus Torvalds's avatar
      Merge tag 'pull-work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · aea23e7c
      Linus Torvalds authored
      Pull /proc/mounts fix from Al Viro:
       "Fix for /proc/mounts escaping - escape the '#' character too"
      
      * tag 'pull-work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: escape hash as well
      aea23e7c
    • Linus Torvalds's avatar
      Merge tag '5.20-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6 · 332019e2
      Linus Torvalds authored
      Pull more cifs updates from Steve French:
      
       - two fixes for stable, one for a lock length miscalculation, and
         another fixes a lease break timeout bug
      
       - improvement to handle leases, allows the close timeout to be
         configured more safely
      
       - five restructuring/cleanup patches
      
      * tag '5.20-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Do not access tcon->cfids->cfid directly from is_path_accessible
        cifs: Add constructor/destructors for tcon->cfid
        SMB3: fix lease break timeout when multiple deferred close handles for the same file.
        smb3: allow deferred close timeout to be configurable
        cifs: Do not use tcon->cfid directly, use the cfid we get from open_cached_dir
        cifs: Move cached-dir functions into a separate file
        cifs: Remove {cifs,nfs}_fscache_release_page()
        cifs: fix lock length calculation
      332019e2
    • David Howells's avatar
      afs: Enable multipage folio support · 8549a263
      David Howells authored
      Enable multipage folio support for the afs filesystem.
      
      Support has already been implemented in netfslib, fscache and cachefiles
      and in most of afs, but I've waited for Matthew Wilcox's latest folio
      changes.
      
      Note that it does require a change to afs_write_begin() to return the
      correct subpage.  This is a "temporary" change as we're working on
      getting rid of the need for ->write_begin() and ->write_end()
      completely, at least as far as network filesystems are concerned - but
      it doesn't prevent afs from making use of the capability.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Tested-by: kafs-testing@auristor.com
      Cc: Marc Dionne <marc.dionne@auristor.com>
      Cc: linux-afs@lists.infradead.org
      Link: https://lore.kernel.org/lkml/2274528.1645833226@warthog.procyon.org.uk/Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8549a263
  5. 13 Aug, 2022 9 commits
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f6eb0fed
      Linus Torvalds authored
      Pull timer fixes from Ingo Molnar:
       "Misc timer fixes:
      
         - fix a potential use-after-free bug in posix timers
      
         - correct a prototype
      
         - address a build warning"
      
      * tag 'timers-urgent-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        posix-cpu-timers: Cleanup CPU timers before freeing them during exec
        time: Correct the prototype of ns_to_kernel_old_timeval and ns_to_timespec64
        posix-timers: Make do_clock_gettime() static
      f6eb0fed
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c5f1e32e
      Linus Torvalds authored
      Pull x86 fix from Ingo Molnar:
       "Fix the 'IBPB mitigated RETBleed' mode of operation on AMD CPUs (not
        turned on by default), which also need STIBP enabled (if available) to
        be '100% safe' on even the shortest speculation windows"
      
      * tag 'x86-urgent-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/bugs: Enable STIBP for IBPB mitigated RETBleed
      c5f1e32e
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-5.20-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 04734361
      Linus Torvalds authored
      Pull more i2c updates from Wolfram Sang:
      
       - two driver fixes for issues introduced this cycle
      
       - one trivial driver improvement regarding ACPI
      
       - more DTS conversion and additions
      
       - documentation updates
      
       - subsystem-wide move from strlcpy to strscpy
      
      * tag 'i2c-for-5.20-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        docs: i2c: i2c-sysfs: fix hyperlinks
        docs: i2c: i2c-sysfs: improve wording
        docs: i2c: instantiating-devices: add syntax coloring to dts and C blocks
        docs: i2c: smbus-protocol: improve DataLow/DataHigh definition
        docs: i2c: i2c-protocol: remove unused legend items
        docs: i2c: i2c-protocol,smbus-protocol: remove nonsense words
        docs: i2c: i2c-protocol: update introductory paragraph
        i2c: move core from strlcpy to strscpy
        i2c: move drivers from strlcpy to strscpy
        i2c: kempld: Support ACPI I2C device declaration
        i2c: mediatek: add i2c compatible for MT8188
        dt-bindings: i2c: update bindings for mt8188 soc
        i2c: microchip-corei2c: fix erroneous late ack send
        dt-bindings: i2c: qcom,i2c-cci: convert to dtschema
        i2c: qcom-geni: Fix GPI DMA buffer sync-back
      04734361
    • Linus Torvalds's avatar
      Merge tag 'ntb-5.20' of https://github.com/jonmason/ntb · a976835f
      Linus Torvalds authored
      Pull NTB updates from Jon Mason:
       "Non-Transparent Bridge updates.
      
        Fix of heap data and clang warnings, support for a new Intel NTB
        device, and NTB EndPoint Function (EPF) support and the various fixes
        for that"
      
      * tag 'ntb-5.20' of https://github.com/jonmason/ntb:
        MAINTAINERS: add PCI Endpoint NTB drivers to NTB files
        NTB: EPF: Tidy up some bounds checks
        NTB: EPF: Fix error code in epf_ntb_bind()
        PCI: endpoint: pci-epf-vntb: reduce several globals to statics
        PCI: endpoint: pci-epf-vntb: fix error handle in epf_ntb_mw_bar_init()
        PCI: endpoint: Fix Kconfig dependency
        NTB: EPF: set pointer addr to null using NULL rather than 0
        Documentation: PCI: extend subheading underline for "lspci output" section
        Documentation: PCI: Use code-block block for scratchpad registers diagram
        Documentation: PCI: Add specification for the PCI vNTB function device
        PCI: endpoint: Support NTB transfer between RC and EP
        NTB: epf: Allow more flexibility in the memory BAR map method
        PCI: designware-ep: Allow pci_epc_set_bar() update inbound map address
        ntb: intel: add GNR support for Intel PCIe gen5 NTB
        NTB: ntb_tool: uninitialized heap data in tool_fn_write()
        ntb: idt: fix clang -Wformat warnings
      a976835f
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.20-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 9872e4a8
      Linus Torvalds authored
      Pull more xfs updates from Darrick Wong:
       "There's not a lot this time around, just the usual bug fixes and
        corrections for missing error returns.
      
         - Return error codes from block device flushes to userspace
      
         - Fix a deadlock between reclaim and mount time quotacheck
      
         - Fix an unnecessary ENOSPC return when doing COW on a filesystem
           with severe free space fragmentation
      
         - Fix a miscalculation in the transaction reservation computations
           for file removal operations"
      
      * tag 'xfs-5.20-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: fix inode reservation space for removing transaction
        xfs: Fix false ENOSPC when performing direct write on a delalloc extent in cow fork
        xfs: fix intermittent hang during quotacheck
        xfs: check return codes when flushing block devices
      9872e4a8
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · e140f731
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "Mostly small bug fixes and trivial updates.
      
        The major new core update is a change to the way device, target and
        host reference counting is done to try to make it more robust (this
        change has soaked for a while to try to winkle out any bugs)"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: pm8001: Fix typo 'the the' in comment
        scsi: megaraid_sas: Remove redundant variable cmd_type
        scsi: FlashPoint: Remove redundant variable bm_int_st
        scsi: zfcp: Fix missing auto port scan and thus missing target ports
        scsi: core: Call blk_mq_free_tag_set() earlier
        scsi: core: Simplify LLD module reference counting
        scsi: core: Make sure that hosts outlive targets
        scsi: core: Make sure that targets outlive devices
        scsi: ufs: ufs-pci: Correct check for RESET DSM
        scsi: target: core: De-RCU of se_lun and se_lun acl
        scsi: target: core: Fix race during ACL removal
        scsi: ufs: core: Correct ufshcd_shutdown() flow
        scsi: ufs: core: Increase the maximum data buffer size
        scsi: lpfc: Check the return value of alloc_workqueue()
      e140f731
    • Linus Torvalds's avatar
      Merge tag 'block-6.0-2022-08-12' of git://git.kernel.dk/linux-block · abe7a481
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request
           - print nvme connect Linux error codes properly (Amit Engel)
           - fix the fc_appid_store return value (Christoph Hellwig)
           - fix a typo in an error message (Christophe JAILLET)
           - add another non-unique identifier quirk (Dennis P. Kliem)
           - check if the queue is allocated before stopping it in nvme-tcp
             (Maurizio Lombardi)
           - restart admin queue if the caller needs to restart queue in
             nvme-fc (Ming Lei)
           - use kmemdup instead of kmalloc + memcpy in nvme-auth (Zhang
             Xiaoxu)
      
       - __alloc_disk_node() error handling fix (Rafael)
      
      * tag 'block-6.0-2022-08-12' of git://git.kernel.dk/linux-block:
        block: Do not call blk_put_queue() if gendisk allocation fails
        nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG GAMMIX S70
        nvme-tcp: check if the queue is allocated before stopping it
        nvme-fabrics: Fix a typo in an error message
        nvme-fabrics: parse nvme connect Linux error codes
        nvmet-auth: use kmemdup instead of kmalloc + memcpy
        nvme-fc: fix the fc_appid_store return value
        nvme-fc: restart admin queue if the caller needs to restart queue
      abe7a481
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.0-2022-08-13' of git://git.kernel.dk/linux-block · 1da8cf96
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Regression fix for this merge window, fixing a wrong order of
         arguments for io_req_set_res() for passthru (Dylan)
      
       - Fix for the audit code leaking context memory (Peilin)
      
       - Ensure that provided buffers are memcg accounted (Pavel)
      
       - Correctly handle short zero-copy sends (Pavel)
      
       - Sparse warning fixes for the recvmsg multishot command (Dylan)
      
       - Error handling fix for passthru (Anuj)
      
       - Remove randomization of struct kiocb fields, to avoid it growing in
         size if re-arranged in such a fashion that it grows more holes or
         padding (Keith, Linus)
      
       - Small series improving type safety of the sqe fields (Stefan)
      
      * tag 'io_uring-6.0-2022-08-13' of git://git.kernel.dk/linux-block:
        io_uring: add missing BUILD_BUG_ON() checks for new io_uring_sqe fields
        io_uring: make io_kiocb_to_cmd() typesafe
        fs: don't randomize struct kiocb fields
        io_uring: consistently make use of io_notif_to_data()
        io_uring: fix error handling for io_uring_cmd
        io_uring: fix io_recvmsg_prep_multishot sparse warnings
        io_uring/net: send retry for zerocopy
        io_uring: mem-account pbuf buckets
        audit, io_uring, io-wq: Fix memory leak in io_sq_thread() and io_wqe_worker()
        io_uring: pass correct parameters to io_req_set_res
      1da8cf96
    • Carsten Haitzler's avatar
      perf test: Refactor shell tests allowing subdirs · 7391db64
      Carsten Haitzler authored
      This is a prelude to adding more tests to shell tests and in order to
      support putting those tests into subdirectories, I need to change the
      test code that scans/finds and runs them.
      
      To support subdirs I have to recurse so it's time to refactor the code
      to allow this and centralize the shell script finding into one location
      and only one single scan that builds a list of all the found tests in
      memory instead of it being duplicated in 3 places.
      
      This code also optimizes things like knowing the max width of desciption
      strings (as we can do that while we scan instead of a whole new pass of
      opening files).
      
      It also more cleanly filters scripts to see only *.sh files thus
      skipping random other files in directories like *~ backup files, other
      random junk/data files that may appear and the scripts must be
      executable to make the cut (this ensures the script lib dir is not seen
      as scripts to run).
      
      This avoids perf test running previous older versions of test scripts
      that are editor backup files as well as skipping perf.data files that
      may appear and so on.
      Reviewed-by: default avatarLeo Yan <leo.yan@linaro.org>
      Signed-off-by: default avatarCarsten Haitzler <carsten.haitzler@arm.com>
      Tested-by: default avatarLeo Yan <leo.yan@linaro.org>
      Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Mike Leach <mike.leach@linaro.org>
      Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
      Cc: coresight@lists.linaro.org
      Link: https://lore.kernel.org/r/20220812121641.336465-2-carsten.haitzler@foss.arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7391db64