Skip to content
  1. May 24, 2020
    • Linus Torvalds's avatar
      Merge tag 'staging-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 8f261041
      Linus Torvalds authored
      Pull staging/iio fixes from Greg KH:
       "Here are some small staging and IIO driver fixes for 5.7-rc7
      
        Nothing major, just a collection of IIO driver fixes for reported
        issues, and a few small staging driver fixes that people have found.
        Full details are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: wfx: unlock on error path
        staging: greybus: Fix uninitialized scalar variable
        staging: kpc2000: fix error return code in kp2000_pcie_probe()
        iio: sca3000: Remove an erroneous 'get_device()'
        iio: adc: stm32-dfsdm: fix device used to request dma
        iio: adc: stm32-adc: fix device used to request dma
        iio: adc: ti-ads8344: Fix channel selection
        staging: iio: ad2s1210: Fix SPI reading
        iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()'
        iio: imu: st_lsm6dsx: unlock on error in st_lsm6dsx_shub_write_raw()
        iio: chemical: atlas-sensor: correct DO-SM channels
      8f261041
    • Linus Torvalds's avatar
      Merge tag 'tty-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · d3044d7d
      Linus Torvalds authored
      Pull tty/serial fix from Greg KH:
       "Here is a single serial driver fix for 5.7-rc7. It resolves an issue
        with the SiFive serial console init sequence that was reported a
        number of times.
      
        It has been in linux-next for a while now with no reported issues"
      
      * tag 'tty-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: serial: add missing spin_lock_init for SiFive serial console
      d3044d7d
    • Linus Torvalds's avatar
      Merge tag 's390-5.7-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 9bca7c40
      Linus Torvalds authored
      Pull s390 fixes from Vasily Gorbik:
      
       - Add missing R_390_JMP_SLOT relocation type in KASLR code.
      
       - Fix set_huge_pte_at for empty ptes issue which has been uncovered
         with arch page table helper tests.
      
       - Correct initrd location for kdump kernel.
      
       - Fix s390_mmio_read/write with MIO in PCI code.
      
      * tag 's390-5.7-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/kaslr: add support for R_390_JMP_SLOT relocation type
        s390/mm: fix set_huge_pte_at() for empty ptes
        s390/kexec_file: fix initrd location for kdump kernel
        s390/pci: Fix s390_mmio_read/write with MIO
      9bca7c40
  2. May 23, 2020
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · e644645a
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Three minor fixes, two in drivers, one to fix a hang after reset with
        iSCSI, and one to avoid a spurious log message; and the final core one
        to correct a suspend/resume miscount with quiesced devices"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: target: Put lun_ref at end of tmr processing
        scsi: pm: Balance pm_only counter of request queue during system resume
        scsi: qla2xxx: Do not log message when reading port speed via sysfs
      e644645a
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2020-05-23' of git://anongit.freedesktop.org/drm/drm · a24deb9d
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Things seemed to have quieten down, though no i915 pull (I even gave
        them an extra 12 hours in case they were late).
      
        The amdgpu floating point fix is probably the largest, but it just
        moves some code around to it doesn't do fpu stuff outside the fpu
        boundaries. Otherwise it's just a couple of vmwgfx fixes (maintainer
        change) and two etnaviv fixes.
      
        vmwgfx:
         - change maintainers
         - fix redundant assignment
         - fix parameter name
         - fix return value
      
        etnaviv:
         - memory leak fix when userspace passes a invalid softpin address
         - off-by-one crashing the kernel in the perfmon domain iteration when
           the GPU core has both 2D and 3D capabilities
      
        amdgpu:
         - DP fix
         - Floating point fix
         - Fix cursor stutter issue"
      
      * tag 'drm-fixes-2020-05-23' of git://anongit.freedesktop.org/drm/drm:
        drm/amd/display: Defer cursor lock until after VUPDATE
        drm/amd/display: Remove dml_common_def file
        drm/amd/display: DP training to set properly SCRAMBLING_DISABLE
        drm/edid: Add Oculus Rift S to non-desktop list
        drm/etnaviv: Fix a leak in submit_pin_objects()
        drm/etnaviv: fix perfmon domain interation
        drm/vmwgfx: Return true in function vmw_fence_obj_signaled()
        drm/vmwgfx: remove redundant assignment to variable ret
        drm/vmwgfx: Fix parameter name in vmw_bo_init
        drm/vmwgfx: update MAINTAINERS entry
      a24deb9d
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.7-2020-05-22' of git://git.kernel.dk/linux-block · 44456565
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "A small collection of small fixes that should go into this release:
      
         - Two fixes for async request preparation (Pavel)
      
         - Busy clear fix for SQPOLL (Xiaoguang)
      
         - Don't use kiocb->private for O_DIRECT buf index, some file systems
           use it (Bijan)
      
         - Kill dead check in io_splice()
      
         - Ensure sqo_wait is initialized early
      
         - Cancel task_work if we fail adding to original process
      
         - Only add (IO)pollable requests to iopoll list, fixing a regression
           in this merge window"
      
      * tag 'io_uring-5.7-2020-05-22' of git://git.kernel.dk/linux-block:
        io_uring: reset -EBUSY error when io sq thread is waken up
        io_uring: don't add non-IO requests to iopoll pending list
        io_uring: don't use kiocb.private to store buf_index
        io_uring: cancel work if task_work_add() fails
        io_uring: remove dead check in io_splice()
        io_uring: fix FORCE_ASYNC req preparation
        io_uring: don't prepare DRAIN reqs twice
        io_uring: initialize ctx->sqo_wait earlier
      44456565
    • Linus Torvalds's avatar
      Merge tag 'block-5.7-2020-05-22' of git://git.kernel.dk/linux-block · db9f3847
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Two fixes for null_blk zone mode"
      
      * tag 'block-5.7-2020-05-22' of git://git.kernel.dk/linux-block:
        null_blk: don't allow discard for zoned mode
        null_blk: return error for invalid zone size
      db9f3847
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · b09ca17a
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
       "Two fixes:
      
         - Another !MMU build fix that was a straggler from last week
      
         - A fix to use the "register" keyword for the GP global register
           variable"
      
      * tag 'riscv-for-linus-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        RISC-V: gp_in_global needs register keyword
        riscv: Fix print_vm_layout build error if NOMMU
      b09ca17a
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 4286d192
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Bring the PTRACE_SYSEMU semantics in line with the man page.
      
       - Annotate variable assignment in get_user() with the type to avoid
         sparse warnings.
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Add get_user() type annotation on the !access_ok() path
        arm64: Fix PTRACE_SYSEMU semantics
      4286d192
    • Linus Torvalds's avatar
      Merge tag 'sound-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · f5ca7a71
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Just a few small fixes: the only significant one is a slight
        improvement for PCM running position update with no-period-elapsed
        case while the rest are HD-audio fixups and ice1712 model quirk"
      
      * tag 'sound-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek - Add more fixup entries for Clevo machines
        ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio option
        ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme
        ALSA: pcm: fix incorrect hw_base increase
      f5ca7a71
  3. May 22, 2020
  4. May 21, 2020
  5. May 20, 2020
    • Xiaoguang Wang's avatar
      io_uring: reset -EBUSY error when io sq thread is waken up · d4ae271d
      Xiaoguang Wang authored
      
      
      In io_sq_thread(), currently if we get an -EBUSY error and go to sleep,
      we will won't clear it again, which will result in io_sq_thread() will
      never have a chance to submit sqes again. Below test program test.c
      can reveal this bug:
      
      int main(int argc, char *argv[])
      {
              struct io_uring ring;
              int i, fd, ret;
              struct io_uring_sqe *sqe;
              struct io_uring_cqe *cqe;
              struct iovec *iovecs;
              void *buf;
              struct io_uring_params p;
      
              if (argc < 2) {
                      printf("%s: file\n", argv[0]);
                      return 1;
              }
      
              memset(&p, 0, sizeof(p));
              p.flags = IORING_SETUP_SQPOLL;
              ret = io_uring_queue_init_params(4, &ring, &p);
              if (ret < 0) {
                      fprintf(stderr, "queue_init: %s\n", strerror(-ret));
                      return 1;
              }
      
              fd = open(argv[1], O_RDONLY | O_DIRECT);
              if (fd < 0) {
                      perror("open");
                      return 1;
              }
      
              iovecs = calloc(10, sizeof(struct iovec));
              for (i = 0; i < 10; i++) {
                      if (posix_memalign(&buf, 4096, 4096))
                              return 1;
                      iovecs[i].iov_base = buf;
                      iovecs[i].iov_len = 4096;
              }
      
              ret = io_uring_register_files(&ring, &fd, 1);
              if (ret < 0) {
                      fprintf(stderr, "%s: register %d\n", __FUNCTION__, ret);
                      return ret;
              }
      
              for (i = 0; i < 10; i++) {
                      sqe = io_uring_get_sqe(&ring);
                      if (!sqe)
                              break;
      
                      io_uring_prep_readv(sqe, 0, &iovecs[i], 1, 0);
                      sqe->flags |= IOSQE_FIXED_FILE;
      
                      ret = io_uring_submit(&ring);
                      sleep(1);
                      printf("submit %d\n", i);
              }
      
              for (i = 0; i < 10; i++) {
                      io_uring_wait_cqe(&ring, &cqe);
                      printf("receive: %d\n", i);
                      if (cqe->res != 4096) {
                              fprintf(stderr, "ret=%d, wanted 4096\n", cqe->res);
                              ret = 1;
                      }
                      io_uring_cqe_seen(&ring, cqe);
              }
      
              close(fd);
              io_uring_queue_exit(&ring);
              return 0;
      }
      sudo ./test testfile
      above command will hang on the tenth request, to fix this bug, when io
      sq_thread is waken up, we reset the variable 'ret' to be zero.
      
      Suggested-by: default avatarJens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d4ae271d
    • Christophe Leroy's avatar
      Revert "powerpc/32s: reorder Linux PTE bits to better match Hash PTE bits." · 40bb0e90
      Christophe Leroy authored
      This reverts commit 697ece78.
      
      The implementation of SWAP on powerpc requires page protection
      bits to not be one of the least significant PTE bits.
      
      Until the SWAP implementation is changed and this requirement voids,
      we have to keep at least _PAGE_RW outside of the 3 last bits.
      
      For now, revert to previous PTE bits order. A further rework
      may come later.
      
      Fixes: 697ece78
      
       ("powerpc/32s: reorder Linux PTE bits to better match Hash PTE bits.")
      Reported-by: default avatarRui Salvaterra <rsalvaterra@gmail.com>
      Signed-off-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/b34706f8de87f84d135abb5f3ede6b6f16fb1f41.1589969799.git.christophe.leroy@csgroup.eu
      40bb0e90
    • Keno Fischer's avatar
      arm64: Fix PTRACE_SYSEMU semantics · 1cf6022b
      Keno Fischer authored
      Quoth the man page:
      ```
             If the tracee was restarted by PTRACE_SYSCALL or PTRACE_SYSEMU, the
             tracee enters syscall-enter-stop just prior to entering any system
             call (which will not be executed if the restart was using
             PTRACE_SYSEMU, regardless of any change made to registers at this
             point or how the tracee is restarted after this stop).
      ```
      
      The parenthetical comment is currently true on x86 and powerpc,
      but not currently true on arm64. arm64 re-checks the _TIF_SYSCALL_EMU
      flag after the syscall entry ptrace stop. However, at this point,
      it reflects which method was used to re-start the syscall
      at the entry stop, rather than the method that was used to reach it.
      Fix that by recording the original flag before performing the ptrace
      stop, bringing the behavior in line with documentation and x86/powerpc.
      
      Fixes: f086f674
      
       ("arm64: ptrace: add support for syscall emulation")
      Cc: <stable@vger.kernel.org> # 5.3.x-
      Signed-off-by: default avatarKeno Fischer <keno@juliacomputing.com>
      Acked-by: default avatarWill Deacon <will@kernel.org>
      Tested-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Tested-by: default avatarBin Lu <Bin.Lu@arm.com>
      [catalin.marinas@arm.com: moved 'flags' bit masking]
      [catalin.marinas@arm.com: changed 'flags' type to unsigned long]
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      1cf6022b
    • Gerald Schaefer's avatar
      s390/kaslr: add support for R_390_JMP_SLOT relocation type · 4c1cbcbd
      Gerald Schaefer authored
      With certain kernel configurations, the R_390_JMP_SLOT relocation type
      might be generated, which is not expected by the KASLR relocation code,
      and the kernel stops with the message "Unknown relocation type".
      
      This was found with a zfcpdump kernel config, where CONFIG_MODULES=n
      and CONFIG_VFIO=n. In that case, symbol_get() is used on undefined
      __weak symbols in virt/kvm/vfio.c, which results in the generation
      of R_390_JMP_SLOT relocation types.
      
      Fix this by handling R_390_JMP_SLOT similar to R_390_GLOB_DAT.
      
      Fixes: 805bc0bc
      
       ("s390/kernel: build a relocatable kernel")
      Cc: <stable@vger.kernel.org> # v5.2+
      Signed-off-by: default avatarGerald Schaefer <gerald.schaefer@de.ibm.com>
      Reviewed-by: default avatarPhilipp Rudo <prudo@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      4c1cbcbd