1. 31 Jul, 2022 14 commits
    • Chao Yu's avatar
      f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page() · 141170b7
      Chao Yu authored
      As Dipanjan Das <mail.dipanjan.das@gmail.com> reported, syzkaller
      found a f2fs bug as below:
      
      RIP: 0010:f2fs_new_node_page+0x19ac/0x1fc0 fs/f2fs/node.c:1295
      Call Trace:
       write_all_xattrs fs/f2fs/xattr.c:487 [inline]
       __f2fs_setxattr+0xe76/0x2e10 fs/f2fs/xattr.c:743
       f2fs_setxattr+0x233/0xab0 fs/f2fs/xattr.c:790
       f2fs_xattr_generic_set+0x133/0x170 fs/f2fs/xattr.c:86
       __vfs_setxattr+0x115/0x180 fs/xattr.c:182
       __vfs_setxattr_noperm+0x125/0x5f0 fs/xattr.c:216
       __vfs_setxattr_locked+0x1cf/0x260 fs/xattr.c:277
       vfs_setxattr+0x13f/0x330 fs/xattr.c:303
       setxattr+0x146/0x160 fs/xattr.c:611
       path_setxattr+0x1a7/0x1d0 fs/xattr.c:630
       __do_sys_lsetxattr fs/xattr.c:653 [inline]
       __se_sys_lsetxattr fs/xattr.c:649 [inline]
       __x64_sys_lsetxattr+0xbd/0x150 fs/xattr.c:649
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x46/0xb0
      
      NAT entry and nat bitmap can be inconsistent, e.g. one nid is free
      in nat bitmap, and blkaddr in its NAT entry is not NULL_ADDR, it
      may trigger BUG_ON() in f2fs_new_node_page(), fix it.
      Reported-by: default avatarDipanjan Das <mail.dipanjan.das@gmail.com>
      Signed-off-by: default avatarChao Yu <chao.yu@oppo.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      141170b7
    • Chao Liu's avatar
      f2fs: fix to remove F2FS_COMPR_FL and tag F2FS_NOCOMP_FL at the same time · 8ee236dc
      Chao Liu authored
      If the inode has the compress flag, it will fail to use
      'chattr -c +m' to remove its compress flag and tag no compress flag.
      However, the same command will be successful when executed again,
      as shown below:
      
        $ touch foo.txt
        $ chattr +c foo.txt
        $ chattr -c +m foo.txt
        chattr: Invalid argument while setting flags on foo.txt
        $ chattr -c +m foo.txt
        $ f2fs_io getflags foo.txt
        get a flag on foo.txt ret=0, flags=nocompression,inline_data
      
      Fix this by removing some checks in f2fs_setflags_common()
      that do not affect the original logic. I go through all the
      possible scenarios, and the results are as follows. Bold is
      the only thing that has changed.
      
      +---------------+-----------+-----------+----------+
      |               |            file flags            |
      + command       +-----------+-----------+----------+
      |               | no flag   | compr     | nocompr  |
      +---------------+-----------+-----------+----------+
      | chattr +c     | compr     | compr     | -EINVAL  |
      | chattr -c     | no flag   | no flag   | nocompr  |
      | chattr +m     | nocompr   | -EINVAL   | nocompr  |
      | chattr -m     | no flag   | compr     | no flag  |
      | chattr +c +m  | -EINVAL   | -EINVAL   | -EINVAL  |
      | chattr +c -m  | compr     | compr     | compr    |
      | chattr -c +m  | nocompr   | *nocompr* | nocompr  |
      | chattr -c -m  | no flag   | no flag   | no flag  |
      +---------------+-----------+-----------+----------+
      
      Link: https://lore.kernel.org/linux-f2fs-devel/20220621064833.1079383-1-chaoliu719@gmail.com/
      Fixes: 4c8ff709 ("f2fs: support data compression")
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarChao Liu <liuchao@coolpad.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      8ee236dc
    • Daeho Jeong's avatar
      f2fs: introduce sysfs atomic write statistics · f8e2f32b
      Daeho Jeong authored
      introduce the below 4 new sysfs node for atomic write statistics.
      - current_atomic_write: the total current atomic write block count,
                              which is not committed yet.
      - peak_atomic_write: the peak value of total current atomic write block
                           count after boot.
      - committed_atomic_block: the accumulated total committed atomic write
                                block count after boot.
      - revoked_atomic_block: the accumulated total revoked atomic write block
                              count after boot.
      Signed-off-by: default avatarDaeho Jeong <daehojeong@google.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      f8e2f32b
    • qixiaoyu1's avatar
      f2fs: don't bother wait_ms by foreground gc · 1adaa71e
      qixiaoyu1 authored
      f2fs_gc returns -EINVAL via f2fs_balance_fs when there is enough free
      secs after write checkpoint, but with gc_merge enabled, it will cause
      the sleep time of gc thread to be set to no_gc_sleep_time even if there
      are many dirty segments can be selected.
      Signed-off-by: default avatarqixiaoyu1 <qixiaoyu1@xiaomi.com>
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      1adaa71e
    • Chao Yu's avatar
      f2fs: invalidate meta pages only for post_read required inode · 0d5b9d81
      Chao Yu authored
      After commit e3b49ea3 ("f2fs: invalidate META_MAPPING before
      IPU/DIO write"), invalidate_mapping_pages() will be called to
      avoid race condition in between IPU/DIO and readahead for GC.
      
      However, readahead flow is only used for post_read required inode,
      so this patch adds check condition to avoids unnecessary page cache
      invalidating for non-post_read inode.
      Signed-off-by: default avatarChao Yu <chao.yu@oppo.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      0d5b9d81
    • Chao Liu's avatar
      f2fs: allow compression of files without blocks · a8634ccf
      Chao Liu authored
      Files created by truncate(1) have a size but no blocks, so
      they can be allowed to enable compression.
      Signed-off-by: default avatarChao Liu <liuchao@coolpad.com>
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      a8634ccf
    • Chao Yu's avatar
      f2fs: fix to check inline_data during compressed inode conversion · 7165841d
      Chao Yu authored
      When converting inode to compressed one via ioctl, it needs to check
      inline_data, since inline_data flag and compressed flag are incompatible.
      
      Fixes: 4c8ff709 ("f2fs: support data compression")
      Signed-off-by: default avatarChao Yu <chao.yu@oppo.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      7165841d
    • Fabio M. De Francesco's avatar
      f2fs: Delete f2fs_copy_page() and replace with memcpy_page() · 1dd55358
      Fabio M. De Francesco authored
      f2fs_copy_page() is a wrapper around two kmap() + one memcpy() from/to
      the mapped pages. It unnecessarily duplicates a kernel API and it makes
      use of kmap(), which is being deprecated in favor of kmap_local_page().
      
      Two main problems with kmap(): (1) It comes with an overhead as mapping
      space is restricted and protected by a global lock for synchronization and
      (2) it also requires global TLB invalidation when the kmap’s pool wraps
      and it might block when the mapping space is fully utilized until a slot
      becomes available.
      
      With kmap_local_page() the mappings are per thread, CPU local, can take
      page faults, and can be called from any context (including interrupts).
      It is faster than kmap() in kernels with HIGHMEM enabled. Therefore, its
      use in __clone_blkaddrs() is safe and should be preferred.
      
      Delete f2fs_copy_page() and use a plain memcpy_page() in the only one
      site calling the removed function. memcpy_page() avoids open coding two
      kmap_local_page() + one memcpy() between the two kernel virtual addresses.
      Suggested-by: default avatarChristoph Hellwig <hch@infradead.org>
      Suggested-by: default avatarIra Weiny <ira.weiny@intel.com>
      Signed-off-by: default avatarFabio M. De Francesco <fmdefrancesco@gmail.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      1dd55358
    • Chao Yu's avatar
      f2fs: fix to invalidate META_MAPPING before DIO write · 67ca0687
      Chao Yu authored
      Quoted from commit e3b49ea3 ("f2fs: invalidate META_MAPPING before
      IPU/DIO write")
      
      "
      Encrypted pages during GC are read and cached in META_MAPPING.
      However, due to cached pages in META_MAPPING, there is an issue where
      newly written pages are lost by IPU or DIO writes.
      
      Thread A - f2fs_gc()            Thread B
      /* phase 3 */
      down_write(i_gc_rwsem)
      ra_data_block()       ---- (a)
      up_write(i_gc_rwsem)
                                      f2fs_direct_IO() :
                                       - down_read(i_gc_rwsem)
                                       - __blockdev_direct_io()
                                       - get_data_block_dio_write()
                                       - f2fs_dio_submit_bio()  ---- (b)
                                       - up_read(i_gc_rwsem)
      /* phase 4 */
      down_write(i_gc_rwsem)
      move_data_block()     ---- (c)
      up_write(i_gc_rwsem)
      
      (a) In phase 3 of f2fs_gc(), up-to-date page is read from storage and
          cached in META_MAPPING.
      (b) In thread B, writing new data by IPU or DIO write on same blkaddr as
          read in (a). cached page in META_MAPPING become out-dated.
      (c) In phase 4 of f2fs_gc(), out-dated page in META_MAPPING is copied to
          new blkaddr. In conclusion, the newly written data in (b) is lost.
      
      To address this issue, invalidating pages in META_MAPPING before IPU or
      DIO write.
      "
      
      In previous commit, we missed to cover extent cache hit case, and passed
      wrong value for parameter @end of invalidate_mapping_pages(), fix both
      issues.
      
      Fixes: 6aa58d8a ("f2fs: readahead encrypted block during GC")
      Fixes: e3b49ea3 ("f2fs: invalidate META_MAPPING before IPU/DIO write")
      Cc: Hyeong-Jun Kim <hj514.kim@samsung.com>
      Signed-off-by: default avatarChao Yu <chao.yu@oppo.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      67ca0687
    • Jaegeuk Kim's avatar
      f2fs: add a sysfs entry to show zone capacity · 8e0f54a7
      Jaegeuk Kim authored
      This patch adds a sysfs entry showing the unusable space in a section
      made by zone capacity.
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      8e0f54a7
    • Jaegeuk Kim's avatar
      f2fs: adjust zone capacity when considering valid block count · 074b5ea2
      Jaegeuk Kim authored
      This patch fixes counting unusable blocks set by zone capacity when
      checking the valid block count in a section.
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      074b5ea2
    • Jaegeuk Kim's avatar
      f2fs: enforce single zone capacity · b771aadc
      Jaegeuk Kim authored
      In order to simplify the complicated per-zone capacity, let's support
      only one capacity for entire zoned device.
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      b771aadc
    • duguowei's avatar
      f2fs: remove redundant code for gc condition · 14de5fc3
      duguowei authored
      Remove the redundant code and use local variant as the
      argument directly. Make it more human-readable.
      Signed-off-by: default avatarduguowei <duguowei@xiaomi.com>
      [Jaegeuk Kim: make code neat]
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      14de5fc3
    • Daeho Jeong's avatar
      f2fs: introduce memory mode · 7a8fc586
      Daeho Jeong authored
      Introduce memory mode to supports "normal" and "low" memory modes.
      "low" mode is to support low memory devices. Because of the nature of
      low memory devices, in this mode, f2fs will try to save memory sometimes
      by sacrificing performance. "normal" mode is the default mode and same
      as before.
      Signed-off-by: default avatarDaeho Jeong <daehojeong@google.com>
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      7a8fc586
  2. 28 Jun, 2022 3 commits
  3. 25 Jun, 2022 12 commits
    • Eric Biggers's avatar
      f2fs: use the updated test_dummy_encryption helper functions · c5bca38d
      Eric Biggers authored
      Switch f2fs over to the functions that are replacing
      fscrypt_set_test_dummy_encryption().  Since f2fs hasn't been converted
      to the new mount API yet, this doesn't really provide a benefit for
      f2fs.  But it allows fscrypt_set_test_dummy_encryption() to be removed.
      
      Also take the opportunity to eliminate an #ifdef.
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      c5bca38d
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 0840a791
      Linus Torvalds authored
      Pull IIO driver fixes from Greg KH:
       "Here are a set of IIO driver fixes for 5.19-rc4. Jonathan said it best
        in his pull request to me, so I'll just quote it here below, as that's
        the only changes we have right now for the char-misc driver tree:
      
        testing:
            - Fix a missing MODULE_LICENSE() warning by restricting possible
              build configs.
      
        Various drivers:
            - Fix ordering of iio_get_trigger() being called before
              iio_trigger_register()
      
        adi,admv1014:
            - Fix dubious x & !y warning.
      
        adi,axi-adc:
            - Fix missing of_node_put() in error and normal paths.
      
        aspeed,adc:
            - Add missing of_node_put()
      
        fsl,mma8452:
            - Fix broken probing from device tree.
            - Drop check on return value of i2c write to device to cause reset
              as ACK will be missing (device reset before sending it).
      
        fsl,vf610:
            - Fix documentation of in_conversion_mode ABI.
      
        iio-trig-sysfs:
            - Ensure irq work has finished before freeing the trigger.
      
        invensense,mpu3050:
            - Disable regulators in error path.
      
        invensense,icm42600:
            - Fix collision of enum value of 0 with error path where 0 is no
              match.
      
        renesas,rzg2l_Adc:
            - Add missing fwnode_handle_put() in error path.
      
        rescale:
            - Fix a boolean logic bug for detection of raw + scale affecting
              an obscure corner case.
      
        semtech,sx9324:
            - Check return value of read of pin_defs
      
        st,stm32-adc:
            - Fix interaction across ADC instances for some supported devices.
            - Drop false spurious IRQ messages.
            - Fix calibration value handling. If we can't calibrate don't
              expose the vref_int channel.
            - Fix maximum clock rate for stm32pm15x
      
        ti,ads131e08:
            - Add missing fwnode_handle_put() in error paths.
      
        xilinx,ams:
            - Fix variable checked for error from platform_get_irq()
      
        x-powers,axp288:
            - Overide TS_PIN bias current for boards where it is not correctly
              initialized.
      
        yamaha,yas530:
            - Fix inverted check on calibration data being all zeros.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'char-misc-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (26 commits)
        iio:proximity:sx9324: Check ret value of device_property_read_u32_array()
        iio: accel: mma8452: ignore the return value of reset operation
        iio: adc: stm32: fix maximum clock rate for stm32mp15x
        iio: adc: stm32: fix vrefint wrong calibration value handling
        iio: imu: inv_icm42600: Fix broken icm42600 (chip id 0 value)
        iio: adc: vf610: fix conversion mode sysfs node name
        iio: adc: adi-axi-adc: Fix refcount leak in adi_axi_adc_attach_client
        iio: test: fix missing MODULE_LICENSE for IIO_RESCALE=m
        iio:humidity:hts221: rearrange iio trigger get and register
        iio:chemical:ccs811: rearrange iio trigger get and register
        iio:accel:mxc4005: rearrange iio trigger get and register
        iio:accel:kxcjk-1013: rearrange iio trigger get and register
        iio:accel:bma180: rearrange iio trigger get and register
        iio: afe: rescale: Fix boolean logic bug
        iio: adc: aspeed: Fix refcount leak in aspeed_adc_set_trim_data
        iio: adc: stm32: Fix IRQs on STM32F4 by removing custom spurious IRQs message
        iio: adc: stm32: Fix ADCs iteration in irq handler
        iio: adc: ti-ads131e08: add missing fwnode_handle_put() in ads131e08_alloc_channels()
        iio: adc: rzg2l_adc: add missing fwnode_handle_put() in rzg2l_adc_parse_properties()
        iio: trigger: sysfs: fix use-after-free on remove
        ...
      0840a791
    • Linus Torvalds's avatar
      Merge tag 'usb-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · c24eb8d6
      Linus Torvalds authored
      Pull USB driver fixes from Greg KH:
       "Here are some small USB driver fixes and new device ids for 5.19-rc4
        for a few small reported issues. They include:
      
         - new usb-serial driver ids
      
         - MAINTAINERS file update to properly catch the USB dts files
      
         - dt-bindings fixes for reported build warnings
      
         - xhci driver fixes for reported problems
      
         - typec Kconfig dependancy fix
      
         - raw_gadget fuzzing fixes found by syzbot
      
         - chipidea driver bugfix
      
         - usb gadget uvc bugfix
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: chipidea: udc: check request status before setting device address
        USB: gadget: Fix double-free bug in raw_gadget driver
        xhci-pci: Allow host runtime PM as default for Intel Meteor Lake xHCI
        xhci-pci: Allow host runtime PM as default for Intel Raptor Lake xHCI
        xhci: turn off port power in shutdown
        xhci: Keep interrupt disabled in initialization until host is running.
        USB: serial: option: add Quectel RM500K module support
        USB: serial: option: add Quectel EM05-G modem
        USB: serial: pl2303: add support for more HXN (G) types
        usb: typec: wcove: Drop wrong dependency to INTEL_SOC_PMIC
        usb: gadget: uvc: fix list double add in uvcg_video_pump
        dt-bindings: usb: ehci: Increase the number of PHYs
        dt-bindings: usb: ohci: Increase the number of PHYs
        usb: gadget: Fix non-unique driver names in raw-gadget driver
        MAINTAINERS: add include/dt-bindings/usb to USB SUBSYSTEM
        USB: serial: option: add Telit LE910Cx 0x1250 composition
      c24eb8d6
    • Linus Torvalds's avatar
      Merge tag 'loongarch-fixes-5.19-3' of... · cb84318b
      Linus Torvalds authored
      Merge tag 'loongarch-fixes-5.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch fixes from Huacai Chen:
       "Some bug fixes and a trivial cleanup"
      
      * tag 'loongarch-fixes-5.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: Make compute_return_era() return void
        LoongArch: Fix wrong fpu version
        LoongArch: Fix EENTRY/MERRENTRY setting in setup_tlb_handler()
        LoongArch: Fix sleeping in atomic context in setup_tlb_handler()
        LoongArch: Fix the _stext symbol address
        LoongArch: Fix the !THP build
      cb84318b
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 29eeafc6
      Linus Torvalds authored
      Pull f2fs fixes from Jaegeuk Kim:
       "Some urgent fixes to avoid generating corrupted inodes caused by
        compressed and inline_data files.
      
        In addition, avoid a wrong error report which prevents a roll-forward
        recovery"
      
      * tag 'f2fs-for-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:
        f2fs: do not count ENOENT for error case
        f2fs: fix iostat related lock protection
        f2fs: attach inline_data after setting compression
      29eeafc6
    • Tiezhu Yang's avatar
      LoongArch: Make compute_return_era() return void · ea18d434
      Tiezhu Yang authored
      compute_return_era() always returns 0, make it return void,
      and then no need to check its return value for its callers.
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      ea18d434
    • Tiezhu Yang's avatar
      LoongArch: Fix wrong fpu version · ad82eef3
      Tiezhu Yang authored
      According to the configuration information accessible by the CPUCFG
      instruction in LoongArch Reference Manual [1], FP_ver is stored in
      bit [5: 3] of CPUCFG2, the current code to get fpu version is wrong,
      use CPUCFG2_FPVERS to fix it.
      
      [1] https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html
      
      Fixes: 628c3bb4 ("LoongArch: Add boot and setup routines")
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      ad82eef3
    • Huacai Chen's avatar
      LoongArch: Fix EENTRY/MERRENTRY setting in setup_tlb_handler() · 26808ceb
      Huacai Chen authored
      setup_tlb_handler() is expected to set per-cpu exception handlers, but
      it only set the TLBRENTRY successfully because of copy & paste errors,
      so fix it.
      Reviewed-by: default avatarWANG Xuerui <git@xen0n.name>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      26808ceb
    • Huacai Chen's avatar
      LoongArch: Fix sleeping in atomic context in setup_tlb_handler() · bab1c299
      Huacai Chen authored
      Since setup_tlb_handler() is executed in atomic context, we should use
      GFP_ATOMIC instead of GFP_KERNEL to alloc pages. Otherwise we will get
      a "sleeping in atomic context" error:
      
      [    0.013118] BUG: sleeping function called from invalid context at mm/page_alloc.c:5158
      [    0.013126] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/1
      [    0.013131] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.19-rc3+ #1008 1a223086d14d07967cc427f15d52139422271360
      [    0.013136] Hardware name: Loongson Loongson-3A5000-7A1000-1w-V0.1-CRB/Loongson-LS3A5000-7A1000-1w-EVB-V1.21, BIOS Loongson-UDK2018-V2.0.04082-beta7 04/27
      [    0.013140] Stack : 90000000015fc990 9000000100493c18 9000000000df3370 9000000100490000
      [    0.013151]         9000000100493b50 0000000000000000 9000000100493b58 9000000001417ef0
      [    0.013160]         900000000199e54e 0000000000000040 9000000100493c18 90000000015f7a98
      [    0.013168]         ffffffffffffffff 6de72f8b42179d1e 9000000100403b80 90000000015f7890
      [    0.013176]         0000000000000001 00000000fffff175 9000000000eb9860 9000000001530b4b
      [    0.013184]         9000000000e99e60 0000000000000013 0000000006ecc000 0000000000000001
      [    0.013193]         90000000015f7a98 9000000001417ef0 0000000000000004 0000000000000000
      [    0.013201]         0000000000000cc0 0000000000000000 0000000000000001 90000000015fc990
      [    0.013209]         9000000000217e74 9000000001603b6b 9000000000208640 0000000000000000
      [    0.013217]         00000000000000b0 0000000000000004 0000000000000000 0000000000070000
      [    0.013225]         ...
      [    0.013229] Call Trace:
      [    0.013230] [<9000000000208640>] show_stack+0x4c/0x14c
      [    0.013240] [<9000000000df3370>] dump_stack_lvl+0x70/0xac
      [    0.013246] [<9000000000270c8c>] ___might_sleep+0x104/0x124
      [    0.013253] [<9000000000477e84>] __alloc_pages+0x240/0x464
      [    0.013260] [<9000000000214214>] setup_tlb_handler+0x104/0x1e8
      [    0.013265] [<9000000000214324>] tlb_init+0x2c/0x3c
      [    0.013270] [<9000000000208b74>] per_cpu_trap_init+0xec/0x108
      [    0.013275] [<9000000000202850>] cpu_probe+0x400/0x8a4
      [    0.013279] [<900000000020d160>] start_secondary+0x5c/0x3d4
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      bab1c299
    • Huacai Chen's avatar
      LoongArch: Fix the _stext symbol address · 92264f2d
      Huacai Chen authored
      _stext means the start of .text section (see __is_kernel_text()), but we
      put its definition in .ref.text by mistake. Fix it by defining it in the
      vmlinux.lds.S.
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      92264f2d
    • Huacai Chen's avatar
      LoongArch: Fix the !THP build · 501dcbe4
      Huacai Chen authored
      Fix the !THP build by making pmd_pfn() available in all configurations.
      Because pmd_pfn() is used in mm/page_vma_mapped.c whether or not THP is
      configured.
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      501dcbe4
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 8c23f235
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - make the irqchip immutable in gpio-realtek-otto
      
       - fix error code propagation in gpio-winbond
      
       - fix device removing in gpio-grgpio
      
       - fix a typo in gpio-mxs which indicates the driver is for a different
         model
      
       - documentation fixes
      
       - MAINTAINERS file updates
      
      * tag 'gpio-fixes-for-v5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: mxs: Fix header comment
        gpio: Fix kernel-doc comments to nested union
        gpio: grgpio: Fix device removing
        gpio: winbond: Fix error code in winbond_gpio_get()
        gpio: realtek-otto: Make the irqchip immutable
        docs: driver-api: gpio: Fix filename mismatch
        MAINTAINERS: add include/dt-bindings/gpio to GPIO SUBSYSTEM
      8c23f235
  4. 24 Jun, 2022 11 commits
    • Linus Torvalds's avatar
      Merge tag 'mtd/fixes-for-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · 6a0a17e6
      Linus Torvalds authored
      Pull mtd fixes from Miquel RAynal:
       "NAND controller fix:
         - gpmi: Fix busy timeout setting (wrong calculation)
      
        NAND chip driver fix:
         - Thoshiba: Revert the commit introducing support for a chip that
           might have been counterfeit"
      
      * tag 'mtd/fixes-for-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
        mtd: rawnand: gpmi: Fix setting busy timeout setting
        Revert "mtd: rawnand: add support for Toshiba TC58NVG0S3HTA00 NAND flash"
      6a0a17e6
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 4039974f
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A bunch of driver specific fixes, plus a fix for spi-mem's status
        polling for devices that use GPIO chip selects and a DT bindings
        examples fix that helps with the validation work"
      
      * tag 'spi-fix-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: rockchip: Unmask IRQ at the final to avoid preemption
        spi: dt-bindings: Fix unevaluatedProperties warnings in examples
        spi: spi-mem: Fix spi_mem_poll_status()
        spi: cadence: Detect transmit FIFO depth
        spi: spi-cadence: Fix SPI CS gets toggling sporadically
      4039974f
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v5.19-rc3' of... · bed05181
      Linus Torvalds authored
      Merge tag 'regulator-fix-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fix from Mark Brown:
       "One fix for an incorrect device description for MP5496"
      
      * tag 'regulator-fix-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: qcom_smd: correct MP5496 ranges
      bed05181
    • Linus Torvalds's avatar
      Merge tag 'regmap-fix-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 7bc83546
      Linus Torvalds authored
      Pull regmap fixes from Mark Brown:
       "Two sets of fixes - one for things that were missed with the support
        for custom bulk I/O operations introduced in the last merge window,
        and another for some long standing issues with regmap-irq which affect
        a fairly small subset of devices"
      
      * tag 'regmap-fix-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap-irq: Fix offset/index mismatch in read_sub_irq_data()
        regmap-irq: Fix a bug in regmap_irq_enable() for type_in_mask chips
        regmap: Wire up regmap_config provided bulk write in missed functions
        regmap: Make regmap_noinc_read() return -ENOTSUPP if map->read isn't set
        regmap: Re-introduce bulk read support check in regmap_bulk_read()
      7bc83546
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · bc3b8977
      Linus Torvalds authored
      Pull iommu fixes from Joerg Roedel:
      
       - Add a new IOMMU mailing list to the MAINTAINERS file to prepare for
         the a list migration happening on July 5th. The old list needs to
         stay in place until the switch happens to guarantee seemless
         archiving of list email.
      
       - Fix compatible device-tree string for rcar-gen4 in Renesas IOMMU
         driver.
      
      * tag 'iommu-fixes-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        MAINTAINERS: Add new IOMMU development mailing list
        iommu/ipmmu-vmsa: Fix compatible for rcar-gen4
      bc3b8977
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 70d605cb
      Linus Torvalds authored
      Pull RISC-V fix from Palmer Dabbelt:
      
       - fix the T-Head memory type errata workaround to avoid behavior
         that is unsupported in the LLVM assembler
      
      * tag 'riscv-for-linus-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: Fix ALT_THEAD_PMA's asm parameters
      70d605cb
    • Linus Torvalds's avatar
      Merge tag 's390-5.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · f6e9d014
      Linus Torvalds authored
      Pull s390 fixes from Alexander Gordeev:
      
       - Fix perf stat accounting for cryptography counters when multiple
         events are installed concurrently.
      
       - Prevent installation of unsupported perf events for cryptography
         counters.
      
       - Treat perf events cpum_cf/CPU_CYCLES/ and cpu_cf/INSTRUCTIONS/
         identical to basic events CPU_CYCLES" and INSTRUCTIONS, since they
         address the same hardware.
      
       - Restore kcrash operation which was broken by commit 5d8de293
         ("vmcore: convert copy_oldmem_page() to take an iov_iter").
      
      * tag 's390-5.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/pai: Fix multiple concurrent event installation
        s390/pai: Prevent invalid event number for pai_crypto PMU
        s390/cpumf: Handle events cycles and instructions identical
        s390/crash: make copy_oldmem_page() return number of bytes copied
        s390/crash: add missing iterator advance in copy_oldmem_page()
      f6e9d014
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.19a-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 2c39d612
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
      
       - A rare deadlock in Qubes-OS between the i915 driver and Xen grant
         unmapping, solved by making the unmapping fully asynchronous
      
       - A bug in the Xen blkfront driver caused by incomplete error handling
      
       - A fix for undefined behavior (shifting a signed int by 31 bits)
      
       - A fix in the Xen drmfront driver avoiding a WARN()
      
      * tag 'for-linus-5.19a-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/gntdev: Avoid blocking in unmap_grant_pages()
        drm/xen: Add missing VM_DONTEXPAND flag in mmap callback
        x86/xen: Remove undefined behavior in setup_features()
        xen-blkfront: Handle NULL gendisk
      2c39d612
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · e9465549
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "ARM64:
      
         - Fix a regression with pKVM when kmemleak is enabled
      
         - Add Oliver Upton as an official KVM/arm64 reviewer
      
        selftests:
      
         - deal with compiler optimizations around hypervisor exits
      
        x86:
      
         - MAINTAINERS reorganization
      
         - Two SEV fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: SEV: Init target VMCBs in sev_migrate_from
        KVM: x86/svm: add __GFP_ACCOUNT to __sev_dbg_{en,de}crypt_user()
        MAINTAINERS: Reorganize KVM/x86 maintainership
        selftests: KVM: Handle compiler optimizations in ucall
        KVM: arm64: Add Oliver as a reviewer
        KVM: arm64: Prevent kmemleak from accessing pKVM memory
        tools/kvm_stat: fix display of error when multiple processes are found
      e9465549
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-06-24' of git://anongit.freedesktop.org/drm/drm · 38bc4ac4
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Fixes for this week, bit larger than normal, but I think the last
        couple have been quieter, and it's only rc4.
      
        There are a lot of small msm fixes, and a slightly larger set of vc4
        fixes. The vc4 fixes clean up a lot of crashes around the rPI4
        hardware differences from earlier ones, and problems in the page flip
        and modeset code which assumed earlier hw, so I thought it would be
        okay to keep them in.
      
        Otherwise, it's a few amdgpu, i915, sun4i and a panel quirk.
      
        amdgpu:
         - Adjust GTT size logic
         - eDP fix for RMB
         - DCN 3.15 fix
         - DP training fix
         - Color encoding fix for DCN2+
      
        sun4i:
         - multiple suspend fixes
      
        vc4:
         - rework driver split for rpi4, fixes mulitple crashers.
      
        panel:
         - quirk for Aya Neo Next
      
        i915:
         - Revert low voltage SKU check removal to fix display issues
         - Apply PLL DCO fraction workaround for ADL-S
         - Don't show engine classes not present in client fdinfo
      
        msm:
         - Workaround for parade DSI bridge power sequencing
         - Fix for multi-planar YUV format offsets
         - Limiting WB modes to max sspp linewidth
         - Fixing the supported rotations to add 180 back for IGT
         - Fix to handle pm_runtime_get_sync() errors to avoid unclocked
           access in the bind() path for dpu driver
         - Fix the irq_free() without request issue which was a being hit
           frequently in CI.
         - Fix to add minimum ICC vote in the msm_mdss pm_resume path to
           address bootup splats
         - Fix to avoid dereferencing without checking in WB encoder
         - Fix to avoid crash during suspend in DP driver by ensuring
           interrupt mask bits are updated
         - Remove unused code from dpu_encoder_virt_atomic_check()
         - Fix to remove redundant init of dsc variable
         - Fix to ensure mmap offset is initialized to avoid memory corruption
           from unpin/evict
         - Fix double runpm disable in probe-defer path
         - VMA fenced-unpin fixes
         - Fix for WB max-width
         - Fix for rare dp resolution change issue"
      
      * tag 'drm-fixes-2022-06-24' of git://anongit.freedesktop.org/drm/drm: (41 commits)
        amd/display/dc: Fix COLOR_ENCODING and COLOR_RANGE doing nothing for DCN20+
        drm/amd/display: Fix typo in override_lane_settings
        drm/amd/display: Fix DC warning at driver load
        drm/amd: Revert "drm/amd/display: keep eDP Vdd on when eDP stream is already enabled"
        drm/amdgpu: Adjust logic around GTT size (v3)
        drm/sun4i: Return if frontend is not present
        drm/vc4: fix error code in vc4_check_tex_size()
        drm/sun4i: Add DMA mask and segment size
        drm/vc4: hdmi: Fixed possible integer overflow
        drm/i915/display: Re-add check for low voltage sku for max dp source rate
        drm/i915/fdinfo: Don't show engine classes not present
        drm/i915: Implement w/a 22010492432 for adl-s
        drm: panel-orientation-quirks: Add quirk for Aya Neo Next
        drm/msm/dp: force link training for display resolution change
        drm/msm/dpu: limit wb modes based on max_mixer_width
        drm/msm/dp: check core_initialized before disable interrupts at dp_display_unbind()
        drm/msm/mdp4: Fix refcount leak in mdp4_modeset_init_intf
        drm/msm: Don't overwrite hw fence in hw_init
        drm/msm: Drop update_fences()
        drm/vc4: Warn if some v3d code is run on BCM2711
        ...
      38bc4ac4
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/dm-fixes-4' of... · cbe232ab
      Linus Torvalds authored
      Merge tag 'for-5.19/dm-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix DM era to commit metadata during suspend using drain_workqueue
         instead of flush_workqueue.
      
       - Fix DM core's dm_io_complete to not return early if io error is
         BLK_STS_AGAIN but bio polling is not in use.
      
       - Fix DM core's dm_io_complete BLK_STS_DM_REQUEUE handling when dm_io
         represents a split bio.
      
       - Fix recent DM mirror log regression by clearing bits up to
         BITS_PER_LONG boundary.
      
      * tag 'for-5.19/dm-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm mirror log: clear log bits up to BITS_PER_LONG boundary
        dm: fix BLK_STS_DM_REQUEUE handling when dm_io represents split bio
        dm: do not return early from dm_io_complete if BLK_STS_AGAIN without polling
        dm era: commit metadata in postsuspend after worker stops
      cbe232ab