1. 06 May, 2020 1 commit
  2. 04 May, 2020 6 commits
    • Zong Li's avatar
      riscv: force __cpu_up_ variables to put in data section · d6d51612
      Zong Li authored
      Put __cpu_up_stack_pointer and __cpu_up_task_pointer in data section.
      Currently, these two variables are put in bss section, there is a
      potential risk that secondary harts get the uninitialized value before
      main hart finishing the bss clearing. In this case, all secondary
      harts would pass the waiting loop and enable the MMU before main hart
      set up the page table.
      
      This issue happens on random booting of multiple harts, which means
      it will manifest for BBL and OpenSBI v0.6 (or older version). In OpenSBI
      v0.7 (or higher version), we have HSM extension so all the secondary harts
      are brought-up by Linux kernel in an orderly fashion. This means we don't
      need this change for OpenSBI v0.7 (or higher version).
      Signed-off-by: default avatarZong Li <zong.li@sifive.com>
      Reviewed-by: default avatarGreentime Hu <greentime.hu@sifive.com>
      Reviewed-by: default avatarAnup Patel <anup@brainfault.org>
      Reviewed-by: default avatarAtish Patra <atish.patra@wdc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      d6d51612
    • Andreas Schwab's avatar
      riscv: add Linux note to vdso · 0a9f2a61
      Andreas Schwab authored
      The Linux note in the vdso allows glibc to check the running kernel
      version without having to issue the uname syscall.
      Signed-off-by: default avatarAndreas Schwab <schwab@suse.de>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      0a9f2a61
    • Vincent Chen's avatar
      riscv: set max_pfn to the PFN of the last page · c749bb2d
      Vincent Chen authored
      The current max_pfn equals to zero. In this case, I found it caused users
      cannot get some page information through /proc such as kpagecount in v5.6
      kernel because of new sanity checks. The following message is displayed by
      stress-ng test suite with the command "stress-ng --verbose --physpage 1 -t
      1" on HiFive unleashed board.
      
       # stress-ng --verbose --physpage 1 -t 1
       stress-ng: debug: [109] 4 processors online, 4 processors configured
       stress-ng: info: [109] dispatching hogs: 1 physpage
       stress-ng: debug: [109] cache allocate: reducing cache level from L3 (too high) to L0
       stress-ng: debug: [109] get_cpu_cache: invalid cache_level: 0
       stress-ng: info: [109] cache allocate: using built-in defaults as no suitable cache found
       stress-ng: debug: [109] cache allocate: default cache size: 2048K
       stress-ng: debug: [109] starting stressors
       stress-ng: debug: [109] 1 stressor spawned
       stress-ng: debug: [110] stress-ng-physpage: started [110] (instance 0)
       stress-ng: error: [110] stress-ng-physpage: cannot read page count for address 0x3fd34de000 in /proc/kpagecount, errno=0 (Success)
       stress-ng: error: [110] stress-ng-physpage: cannot read page count for address 0x3fd32db078 in /proc/kpagecount, errno=0 (Success)
       ...
       stress-ng: error: [110] stress-ng-physpage: cannot read page count for address 0x3fd32db078 in /proc/kpagecount, errno=0 (Success)
       stress-ng: debug: [110] stress-ng-physpage: exited [110] (instance 0)
       stress-ng: debug: [109] process [110] terminated
       stress-ng: info: [109] successful run completed in 1.00s
       #
      
      After applying this patch, the kernel can pass the test.
      
       # stress-ng --verbose --physpage 1 -t 1
       stress-ng: debug: [104] 4 processors online, 4 processors configured stress-ng: info: [104] dispatching hogs: 1 physpage
       stress-ng: info: [104] cache allocate: using defaults, can't determine cache details from sysfs
       stress-ng: debug: [104] cache allocate: default cache size: 2048K
       stress-ng: debug: [104] starting stressors
       stress-ng: debug: [104] 1 stressor spawned
       stress-ng: debug: [105] stress-ng-physpage: started [105] (instance 0) stress-ng: debug: [105] stress-ng-physpage: exited [105] (instance 0) stress-ng: debug: [104] process [105] terminated
       stress-ng: info: [104] successful run completed in 1.01s
       #
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarVincent Chen <vincent.chen@sifive.com>
      Reviewed-by: default avatarAnup Patel <anup@brainfault.org>
      Reviewed-by: default avatarYash Shah <yash.shah@sifive.com>
      Tested-by: default avatarYash Shah <yash.shah@sifive.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      c749bb2d
    • Anup Patel's avatar
      RISC-V: Remove N-extension related defines · a2da5b18
      Anup Patel authored
      The RISC-V N-extension is still in draft state hence remove
      N-extension related defines from asm/csr.h.
      Signed-off-by: default avatarAnup Patel <anup.patel@wdc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      a2da5b18
    • Anup Patel's avatar
      RISC-V: Add bitmap reprensenting ISA features common across CPUs · 6bcff515
      Anup Patel authored
      This patch adds riscv_isa bitmap which represents Host ISA features
      common across all Host CPUs. The riscv_isa is not same as elf_hwcap
      because elf_hwcap will only have ISA features relevant for user-space
      apps whereas riscv_isa will have ISA features relevant to both kernel
      and user-space apps.
      
      One of the use-case for riscv_isa bitmap is in KVM hypervisor where
      we will use it to do following operations:
      
      1. Check whether hypervisor extension is available
      2. Find ISA features that need to be virtualized (e.g. floating
         point support, vector extension, etc.)
      Signed-off-by: default avatarAnup Patel <anup.patel@wdc.com>
      Signed-off-by: default avatarAtish Patra <atish.patra@wdc.com>
      Reviewed-by: default avatarAlexander Graf <graf@amazon.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      6bcff515
    • Anup Patel's avatar
      RISC-V: Export riscv_cpuid_to_hartid_mask() API · 7391efa4
      Anup Patel authored
      The riscv_cpuid_to_hartid_mask() API should be exported to allow
      building KVM RISC-V as loadable module.
      Signed-off-by: default avatarAnup Patel <anup.patel@wdc.com>
      Reviewed-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      7391efa4
  3. 29 Apr, 2020 2 commits
  4. 28 Apr, 2020 4 commits
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 96c9a780
      Linus Torvalds authored
      Pull vfs fixes from Al Viro:
       "Two old bugs..."
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        propagate_one(): mnt_set_mountpoint() needs mount_lock
        dlmfs_file_write(): fix the bogosity in handling non-zero *ppos
      96c9a780
    • David Howells's avatar
      Fix use after free in get_tree_bdev() · dd7bc815
      David Howells authored
      Commit 6fcf0c72, a fix to get_tree_bdev() put a missing blkdev_put() in
      the wrong place, before a warnf() that displays the bdev under
      consideration rather after it.
      
      This results in a silent lockup in printk("%pg") called via warnf() from
      get_tree_bdev() under some circumstances when there's a race with the
      blockdev being frozen.  This can be caused by xfstests/tests/generic/085 in
      combination with Lukas Czerner's ext4 mount API conversion patchset.  It
      looks like it ought to occur with other users of get_tree_bdev() such as
      XFS, but apparently doesn't.
      
      Fix this by switching the order of the lines.
      
      Fixes: 6fcf0c72 ("vfs: add missing blkdev_put() in get_tree_bdev()")
      Reported-by: default avatarLukas Czerner <lczerner@redhat.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Ian Kent <raven@themaw.net>
      cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dd7bc815
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · edb98d16
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
       "A couple of regressions were found in rc1, as well as another set of
        races and bugs:
      
         - A regression where RDMA_CM_EVENT_REJECTED was lost in some cases
      
         - Bad error handling in the CM, uverbs, rvt, siw and i40iw
      
         - Kernel stack memory leak to user space in mlx4
      
         - Missing data in a uapi query for mlx5
      
         - Three races found by syzkaller in the ib core code"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        RDMA/core: Fix race between destroy and release FD object
        IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info()
        RDMA/core: Fix overwriting of uobj in case of error
        RDMA/core: Prevent mixed use of FDs between shared ufiles
        RDMA/uverbs: Fix a race with disassociate and exit_mmap()
        RDMA/mlx5: Set GRH fields in query QP on RoCE
        RDMA/siw: Fix potential siw_mem refcnt leak in siw_fastreg_mr()
        RDMA/mlx4: Initialize ib_spec on the stack
        RDMA/cm: Fix an error check in cm_alloc_id_priv()
        RDMA/cm: Fix missing RDMA_CM_EVENT_REJECTED event after receiving REJ message
        i40iw: fix null pointer dereference on a null wqe pointer
      edb98d16
    • Linus Torvalds's avatar
      Merge tag 'cve-2020-11884' from emailed bundle · 3f777e19
      Linus Torvalds authored
      Pull s390 fix from Christian Borntraeger:
       "Fix a race between page table upgrade and uaccess on s390.
      
        This fixes CVE-2020-11884 which allows for a local kernel crash or
        code execution"
      
      * tag 'cve-2020-11884' from emailed bundle:
        s390/mm: fix page table upgrade vs 2ndary address mode accesses
      3f777e19
  5. 27 Apr, 2020 3 commits
  6. 26 Apr, 2020 11 commits
    • Linus Torvalds's avatar
      Linux 5.7-rc3 · 6a8b55ed
      Linus Torvalds authored
      6a8b55ed
    • Linus Torvalds's avatar
      Merge tag '5.7-rc2-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · d4fb4bfb
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Five cifs/smb3 fixes:two for DFS reconnect failover, one lease fix for
        stable and the others to fix a missing spinlock during reconnect"
      
      * tag '5.7-rc2-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix uninitialised lease_key in open_shroot()
        cifs: ensure correct super block for DFS reconnect
        cifs: do not share tcons with DFS
        cifs: minor update to comments around the cifs_tcp_ses_lock mutex
        cifs: protect updating server->dstaddr with a spinlock
      d4fb4bfb
    • Linus Torvalds's avatar
      Merge tag 'usb-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · e9a61afb
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a number of USB driver fixes for 5.7-rc3.
      
        Nothing huge, just the usual collection of:
      
         - xhci fixes
      
         - gadget driver fixes
      
         - syzkaller fuzzing fixes
      
         - new device ids and DT bindings
      
         - new quirks added for broken devices
      
        A few of the gadget driver fixes show up twice here as they were
        applied to my branch, and also by Felipe to his branch which I then
        pulled in as we got out of sync a bit.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (33 commits)
        USB: sisusbvga: Change port variable from signed to unsigned
        usb-storage: Add unusual_devs entry for JMicron JMS566
        USB: hub: Revert commit bd0e6c96 ("usb: hub: try old enumeration scheme first for high speed devices")
        USB: hub: Fix handling of connect changes during sleep
        usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an invalid pointer
        xhci: Don't clear hub TT buffer on ep0 protocol stall
        xhci: prevent bus suspend if a roothub port detected a over-current condition
        xhci: Fix handling halted endpoint even if endpoint ring appears empty
        usb: raw-gadget: Fix copy_to/from_user() checks
        usb: raw-gadget: fix raw_event_queue_fetch locking
        usb: gadget: udc: atmel: Fix vbus disconnect handling
        usb: dwc3: gadget: Fix request completion check
        USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE
        phy: tegra: Select USB_COMMON for usb_get_maximum_speed()
        usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change
        usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset()
        cdc-acm: introduce a cool down
        cdc-acm: close race betrween suspend() and acm_softint
        UAS: fix deadlock in error handling and PM flushing work
        UAS: no use logging any details in case of ENODEV
        ...
      e9a61afb
    • Linus Torvalds's avatar
      Merge tag 'tty-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · c5f33785
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are some tty and serial driver fixes for 5.7-rc3.
      
        The "largest" in here are a number of reverts for previous changes to
        the uartps serial driver that turned out to not be a good idea at all.
      
        The others are just small fixes found by people and tools. Included in
        here is a much-reported symbol export needed by previous changes that
        happened in 5.7-rc1. All of these have been in linux-next for a while
        with no reported issues"
      
      * tag 'tty-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: hvc: fix buffer overflow during hvc_alloc().
        tty: rocket, avoid OOB access
        tty: serial: bcm63xx: fix missing clk_put() in bcm63xx_uart
        vt: don't hardcode the mem allocation upper bound
        tty: serial: owl: add "much needed" clk_prepare_enable()
        vt: don't use kmalloc() for the unicode screen buffer
        tty/sysrq: Export sysrq_mask(), sysrq_toggle_support()
        serial: sh-sci: Make sure status register SCxSR is read in correct sequence
        serial: sunhv: Initialize lock for non-registered console
        Revert "serial: uartps: Register own uart console and driver structures"
        Revert "serial: uartps: Move Port ID to device data structure"
        Revert "serial: uartps: Change uart ID port allocation"
        Revert "serial: uartps: Do not allow use aliases >= MAX_UART_INSTANCES"
        Revert "serial: uartps: Fix error path when alloc failed"
        Revert "serial: uartps: Use the same dynamic major number for all ports"
        Revert "serial: uartps: Fix uartps_major handling"
      c5f33785
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f6da8bd1
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are 4 small misc driver fixes for 5.7-rc3:
      
         - mei driver fix
      
         - interconnect driver fix
      
         - two fpga driver fixes
      
        All have been in linux-next with no reported issues"
      
      * tag 'char-misc-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        interconnect: qcom: Fix uninitialized tcs_cmd::wait
        mei: me: fix irq number stored in hw struct
        fpga: dfl: pci: fix return value of cci_pci_sriov_configure
        fpga: zynq: Remove clk_get error message for probe defer
      f6da8bd1
    • Linus Torvalds's avatar
      Merge tag 'staging-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · edf17b28
      Linus Torvalds authored
      Pull staging/IIO driver fixes from Greg KH:
       "Here are some small staging and IIO driver fixes for 5.7-rc3
      
        Lots of tiny things for reported issues in staging and IIO drivers,
        including a counter driver fix as well (the iio drivers seem to be
        tied to those). Full details of the fixes are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (27 commits)
        staging: vt6656: Fix calling conditions of vnt_set_bss_mode
        staging: comedi: Fix comedi_device refcnt leak in comedi_open
        staging: vt6656: Fix pairwise key entry save.
        staging: vt6656: Fix drivers TBTT timing counter.
        staging: vt6656: Don't set RCR_MULTICAST or RCR_BROADCAST by default.
        MAINTAINERS: remove Stefan Popa's email
        iio: adc: ad7192: fix null pointer de-reference crash during probe
        iio: core: remove extra semi-colon from devm_iio_device_register() macro
        iio: adc: ti-ads8344: properly byte swap value
        iio: imu: inv_mpu6050: fix suspend/resume with runtime power
        iio: st_sensors: rely on odr mask to know if odr can be set
        iio: xilinx-xadc: Make sure not exceed maximum samplerate
        iio: xilinx-xadc: Fix sequencer configuration for aux channels in simultaneous mode
        iio: xilinx-xadc: Fix clearing interrupt when enabling trigger
        iio: xilinx-xadc: Fix ADC-B powerdown
        iio: dac: ad5770r: fix off-by-one check on maximum number of channels
        iio: imu: st_lsm6dsx: flush hw FIFO before resetting the device
        iio: core: Fix handling of 'dB'
        dt-bindings: iio: adc: stm32-adc: fix id relative path
        counter: 104-quad-8: Add lock guards - generic interface
        ...
      edf17b28
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · a8a0e2a9
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "Here are some small firmware/driver core/debugfs fixes for 5.7-rc3.
      
        The debugfs change is now possible as now the last users of
        debugfs_create_u32() have been fixed up in the different trees that
        got merged into 5.7-rc1, and I don't want it creeping back in.
      
        The firmware changes did cause a regression in linux-next, so the
        final patch here reverts part of that, re-exporting the symbol to
        resolve that issue. All of these patches, with the exception of the
        final one, have been in linux-next with only that one reported issue"
      
      * tag 'driver-core-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        firmware_loader: revert removal of the fw_fallback_config export
        debugfs: remove return value of debugfs_create_u32()
        firmware_loader: remove unused exports
        firmware: imx: fix compile-testing
      a8a0e2a9
    • Linus Torvalds's avatar
      Merge tag 's390-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 749f0461
      Linus Torvalds authored
      Pull s390 fixes from Vasily Gorbik:
      
       - Add a few notrace annotations to avoid potential crashes when
         switching ftrace tracers.
      
       - Avoid setting affinity for floating irqs in pci code.
      
       - Fix build issue found by kbuild test robot.
      
      * tag 's390-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/protvirt: fix compilation issue
        s390/pci: do not set affinity for floating irqs
        s390/ftrace: fix potential crashes when switching tracers
      749f0461
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 670bcd79
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - One important fix for a bug in the way we find the cache-line size
         from the device tree, which was leading to the wrong size being
         reported to userspace on some platforms.
      
       - A fix for 8xx STRICT_KERNEL_RWX which was leaving TLB entries around
         leading to a window at boot when the strict mapping wasn't enforced.
      
       - A fix to enable our KUAP (kernel user access prevention) debugging on
         PPC32.
      
       - A build fix for clang in lib/mpi.
      
      Thanks to: Chris Packham, Christophe Leroy, Nathan Chancellor, Qian Cai.
      
      * tag 'powerpc-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        lib/mpi: Fix building for powerpc with clang
        powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32
        powerpc/8xx: Fix STRICT_KERNEL_RWX startup test failure
        powerpc/setup_64: Set cache-line-size based on cache-block-size
      670bcd79
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 58792882
      Linus Torvalds authored
      Pull more Devicetree fixes from Rob Herring:
       "A couple of schema and kbuild fixes"
      
      * tag 'devicetree-fixes-for-5.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: phy: qcom-qusb2: Fix defaults
        dt-bindings: Fix erroneous 'additionalProperties'
        dt-bindings: Fix command line length limit calling dt-mk-schema
        dt-bindings: Re-enable core schemas for dtbs_check
      58792882
    • Luis Chamberlain's avatar
      firmware_loader: revert removal of the fw_fallback_config export · 5a357703
      Luis Chamberlain authored
      Christoph's patch removed two unsused exported symbols, however, one
      symbol is used by the firmware_loader itself.  If CONFIG_FW_LOADER=m so
      the firmware_loader is modular but CONFIG_FW_LOADER_USER_HELPER=y we fail
      the build at mostpost.
      
      ERROR: modpost: "fw_fallback_config" [drivers/base/firmware_loader/firmware_class.ko] undefined!
      
      This happens because the variable fw_fallback_config is built into the
      kernel if CONFIG_FW_LOADER_USER_HELPER=y always, so we need to grant
      access to the firmware loader module by exporting it.
      
      Revert only one hunk from his patch.
      
      Fixes: 73960473 ("firmware_loader: remove unused exports")
      Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      Link: https://lore.kernel.org/r/20200424184916.22843-1-mcgrof@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5a357703
  7. 25 Apr, 2020 13 commits