1. 19 Feb, 2021 1 commit
  2. 18 Feb, 2021 2 commits
  3. 11 Feb, 2021 2 commits
    • Dave Jiang's avatar
      driver core: auxiliary bus: Fix calling stage for auxiliary bus init · 471b12c4
      Dave Jiang authored
      When the auxiliary device code is built into the kernel, it can be executed
      before the auxiliary bus is registered. This causes bus->p to be not
      allocated and triggers a NULL pointer dereference when the auxiliary bus
      device gets added with bus_add_device(). Call the auxiliary_bus_init()
      under driver_init() so the bus is initialized before devices.
      
      Below is the kernel splat for the bug:
      [ 1.948215] BUG: kernel NULL pointer dereference, address: 0000000000000060
      [ 1.950670] #PF: supervisor read access in kernel mode
      [ 1.950670] #PF: error_code(0x0000) - not-present page
      [ 1.950670] PGD 0
      [ 1.950670] Oops: 0000 1 SMP NOPTI
      [ 1.950670] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.10.0-intel-nextsvmtest+ #2205
      [ 1.950670] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
      [ 1.950670] RIP: 0010:bus_add_device+0x64/0x140
      [ 1.950670] Code: 00 49 8b 75 20 48 89 df e8 59 a1 ff ff 41 89 c4 85 c0 75 7b 48 8b 53 50 48 85 d2 75 03 48 8b 13 49 8b 85 a0 00 00 00 48 89 de <48> 8
      78 60 48 83 c7 18 e8 ef d9 a9 ff 41 89 c4 85 c0 75 45 48 8b
      [ 1.950670] RSP: 0000:ff46032ac001baf8 EFLAGS: 00010246
      [ 1.950670] RAX: 0000000000000000 RBX: ff4597f7414aa680 RCX: 0000000000000000
      [ 1.950670] RDX: ff4597f74142bbc0 RSI: ff4597f7414aa680 RDI: ff4597f7414aa680
      [ 1.950670] RBP: ff46032ac001bb10 R08: 0000000000000044 R09: 0000000000000228
      [ 1.950670] R10: ff4597f741141b30 R11: ff4597f740182a90 R12: 0000000000000000
      [ 1.950670] R13: ffffffffa5e936c0 R14: 0000000000000000 R15: 0000000000000000
      [ 1.950670] FS: 0000000000000000(0000) GS:ff4597f7bba00000(0000) knlGS:0000000000000000
      [ 1.950670] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 1.950670] CR2: 0000000000000060 CR3: 000000002140c001 CR4: 0000000000f71ef0
      [ 1.950670] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [ 1.950670] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400
      [ 1.950670] PKRU: 55555554
      [ 1.950670] Call Trace:
      [ 1.950670] device_add+0x3ee/0x850
      [ 1.950670] __auxiliary_device_add+0x47/0x60
      [ 1.950670] idxd_pci_probe+0xf77/0x1180
      [ 1.950670] local_pci_probe+0x4a/0x90
      [ 1.950670] pci_device_probe+0xff/0x1b0
      [ 1.950670] really_probe+0x1cf/0x440
      [ 1.950670] ? rdinit_setup+0x31/0x31
      [ 1.950670] driver_probe_device+0xe8/0x150
      [ 1.950670] device_driver_attach+0x58/0x60
      [ 1.950670] __driver_attach+0x8f/0x150
      [ 1.950670] ? device_driver_attach+0x60/0x60
      [ 1.950670] ? device_driver_attach+0x60/0x60
      [ 1.950670] bus_for_each_dev+0x79/0xc0
      [ 1.950670] ? kmem_cache_alloc_trace+0x323/0x430
      [ 1.950670] driver_attach+0x1e/0x20
      [ 1.950670] bus_add_driver+0x154/0x1f0
      [ 1.950670] driver_register+0x70/0xc0
      [ 1.950670] __pci_register_driver+0x54/0x60
      [ 1.950670] idxd_init_module+0xe2/0xfc
      [ 1.950670] ? idma64_platform_driver_init+0x19/0x19
      [ 1.950670] do_one_initcall+0x4a/0x1e0
      [ 1.950670] kernel_init_freeable+0x1fc/0x25c
      [ 1.950670] ? rest_init+0xba/0xba
      [ 1.950670] kernel_init+0xe/0x116
      [ 1.950670] ret_from_fork+0x1f/0x30
      [ 1.950670] Modules linked in:
      [ 1.950670] CR2: 0000000000000060
      [ 1.950670] --[ end trace cd7d1b226d3ca901 ]--
      
      Fixes: 7de3697e ("Add auxiliary bus support")
      Reported-by: default avatarJacob Pan <jacob.jun.pan@intel.com>
      Reviewed-by: default avatarDan Williams <dan.j.williams@intel.com>
      Acked-by: default avatarDave Ertman <david.m.ertman@intel.com>
      Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
      Link: https://lore.kernel.org/r/20210210201611.1611074-1-dave.jiang@intel.com
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      471b12c4
    • Saravana Kannan's avatar
      of: irq: Fix the return value for of_irq_parse_one() stub · 8c0381f5
      Saravana Kannan authored
      When commit 1852ebd1 ("of: irq: make a stub for of_irq_parse_one()")
      added a stub for of_irq_parse_one() it set the return value to 0. Return
      value of 0 in this instance means the call succeeded and the out_irq
      pointer was filled with valid data. So, fix it to return an error value.
      
      Fixes: 1852ebd1 ("of: irq: make a stub for of_irq_parse_one()")
      Acked-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarSaravana Kannan <saravanak@google.com>
      Link: https://lore.kernel.org/r/20210210200050.4106032-1-saravanak@google.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8c0381f5
  4. 10 Feb, 2021 1 commit
  5. 09 Feb, 2021 12 commits
  6. 27 Jan, 2021 4 commits
  7. 26 Jan, 2021 2 commits
  8. 25 Jan, 2021 2 commits
  9. 24 Jan, 2021 14 commits
    • Linus Torvalds's avatar
      Merge tag 'sh-for-5.11' of git://git.libc.org/linux-sh · 228a65d4
      Linus Torvalds authored
      Pull arch/sh updates from Rich Felker:
       "Cleanup and warning fixes"
      
      * tag 'sh-for-5.11' of git://git.libc.org/linux-sh:
        sh/intc: Restore devm_ioremap() alignment
        sh: mach-sh03: remove duplicate include
        arch: sh: remove duplicate include
        sh: Drop ARCH_NR_GPIOS definition
        sh: Remove unused HAVE_COPY_THREAD_TLS macro
        sh: remove CONFIG_IDE from most defconfig
        sh: mm: Convert to DEFINE_SHOW_ATTRIBUTE
        sh: intc: Convert to DEFINE_SHOW_ATTRIBUTE
        arch/sh: hyphenate Non-Uniform in Kconfig prompt
        sh: dma: fix kconfig dependency for G2_DMA
      228a65d4
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.11-2021-01-24' of git://git.kernel.dk/linux-block · ef7b1a0e
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Still need a final cancelation fix that isn't quite done done,
        expected in the next day or two. That said, this contains:
      
         - Wakeup fix for IOPOLL requests
      
         - SQPOLL split close op handling fix
      
         - Ensure that any use of io_uring fd itself is marked as inflight
      
         - Short non-regular file read fix (Pavel)
      
         - Fix up bad false positive warning (Pavel)
      
         - SQPOLL fixes (Pavel)
      
         - In-flight removal fix (Pavel)"
      
      * tag 'io_uring-5.11-2021-01-24' of git://git.kernel.dk/linux-block:
        io_uring: account io_uring internal files as REQ_F_INFLIGHT
        io_uring: fix sleeping under spin in __io_clean_op
        io_uring: fix short read retries for non-reg files
        io_uring: fix SQPOLL IORING_OP_CLOSE cancelation state
        io_uring: fix skipping disabling sqo on exec
        io_uring: fix uring_flush in exit_files() warning
        io_uring: fix false positive sqo warning on flush
        io_uring: iopoll requests should also wake task ->in_idle state
      ef7b1a0e
    • Linus Torvalds's avatar
      Merge tag 'block-5.11-2021-01-24' of git://git.kernel.dk/linux-block · a692a610
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request from Christoph:
            - fix a status code in nvmet (Chaitanya Kulkarni)
            - avoid double completions in nvme-rdma/nvme-tcp (Chao Leng)
            - fix the CMB support to cope with NVMe 1.4 controllers (Klaus Jensen)
            - fix PRINFO handling in the passthrough ioctl (Revanth Rajashekar)
            - fix a double DMA unmap in nvme-pci
      
       - lightnvm error path leak fix (Pan)
      
       - MD pull request from Song:
            - Flush request fix (Xiao)
      
      * tag 'block-5.11-2021-01-24' of git://git.kernel.dk/linux-block:
        lightnvm: fix memory leak when submit fails
        nvme-pci: fix error unwind in nvme_map_data
        nvme-pci: refactor nvme_unmap_data
        md: Set prev_flush_start and flush_bio in an atomic way
        nvmet: set right status on error in id-ns handler
        nvme-pci: allow use of cmb on v1.4 controllers
        nvme-tcp: avoid request double completion for concurrent nvme_tcp_timeout
        nvme-rdma: avoid request double completion for concurrent nvme_rdma_timeout
        nvme: check the PRINFO bit before deciding the host buffer length
      a692a610
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 51306806
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "18 patches.
      
        Subsystems affected by this patch series: mm (pagealloc, memcg, kasan,
        memory-failure, and highmem), ubsan, proc, and MAINTAINERS"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        MAINTAINERS: add a couple more files to the Clang/LLVM section
        proc_sysctl: fix oops caused by incorrect command parameters
        powerpc/mm/highmem: use __set_pte_at() for kmap_local()
        mips/mm/highmem: use set_pte() for kmap_local()
        mm/highmem: prepare for overriding set_pte_at()
        sparc/mm/highmem: flush cache and TLB
        mm: fix page reference leak in soft_offline_page()
        ubsan: disable unsigned-overflow check for i386
        kasan, mm: fix resetting page_alloc tags for HW_TAGS
        kasan, mm: fix conflicts with init_on_alloc/free
        kasan: fix HW_TAGS boot parameters
        kasan: fix incorrect arguments passing in kasan_add_zero_shadow
        kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow
        mm: fix numa stats for thp migration
        mm: memcg: fix memcg file_dirty numa stat
        mm: memcg/slab: optimize objcg stock draining
        mm: fix initialization of struct page for holes in memory layout
        x86/setup: don't remove E820_TYPE_RAM for pfn 0
      51306806
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · fdbc80bd
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some small char/misc driver fixes for 5.11-rc5:
      
         - habanalabs driver fixes
      
         - phy driver fixes
      
         - hwtracing driver fixes
      
         - rtsx cardreader driver fix
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'char-misc-5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        misc: rtsx: init value of aspm_enabled
        habanalabs: disable FW events on device removal
        habanalabs: fix backward compatibility of idle check
        habanalabs: zero pci counters packet before submit to FW
        intel_th: pci: Add Alder Lake-P support
        stm class: Fix module init return on allocation failure
        habanalabs: prevent soft lockup during unmap
        habanalabs: fix reset process in case of failures
        habanalabs: fix dma_addr passed to dma_mmap_coherent
        phy: mediatek: allow compile-testing the dsi phy
        phy: cpcap-usb: Fix warning for missing regulator_disable
        PHY: Ingenic: fix unconditional build of phy-ingenic-usb
      fdbc80bd
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.11-rc5' of... · 443d1129
      Linus Torvalds authored
      Merge tag 'driver-core-5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fixes from Greg KH:
       "Here are some small driver core fixes for 5.11-rc5 that resolve some
        reported problems:
      
         - revert of a -rc1 patch that was causing problems with some machines
      
         - device link device name collision problem fix (busses only have to
           name devices unique to their bus, not unique to all busses)
      
         - kernfs splice bugfixes to resolve firmware loading problems for
           Qualcomm systems.
      
         - other tiny driver core fixes for minor issues reported.
      
        All of these have been in linux-next with no reported problems"
      
      * tag 'driver-core-5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        driver core: Fix device link device name collision
        driver core: Extend device_is_dependent()
        kernfs: wire up ->splice_read and ->splice_write
        kernfs: implement ->write_iter
        kernfs: implement ->read_iter
        Revert "driver core: Reorder devices on successful probe"
        Driver core: platform: Add extra error check in devm_platform_get_irqs_affinity()
        drivers core: Free dma_range_map when driver probe failed
      443d1129
    • Linus Torvalds's avatar
      Merge tag 'staging-5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 832bceef
      Linus Torvalds authored
      Pull staging/IIO driver fixes from Greg KH:
       "Here are some IIO driver fixes for 5.11-rc5 to resolve some reported
        problems.
      
        Nothing major, just a few small fixes, all of these have been in
        linux-next for a while and full details are in the shortlog"
      
      * tag 'staging-5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        iio: sx9310: Fix semtech,avg-pos-strength setting when > 16
        iio: common: st_sensors: fix possible infinite loop in st_sensors_irq_thread
        iio: ad5504: Fix setting power-down state
        counter:ti-eqep: remove floor
        drivers: iio: temperature: Add delay after the addressed reset command in mlx90632.c
        iio: adc: ti_am335x_adc: remove omitted iio_kfifo_free()
        dt-bindings: iio: accel: bma255: Fix bmc150/bmi055 compatible
        iio: sx9310: Off by one in sx9310_read_thresh()
      832bceef
    • Linus Torvalds's avatar
      Merge tag 'tty-5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 4da81fa2
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are three small tty/serial fixes for 5.11-rc5 to resolve reported
        problems:
      
         - two patches to fix up writing to ttys with splice
      
         - mvebu-uart driver fix for reported problem
      
        All of these have been in linux-next with no reported problems"
      
      * tag 'tty-5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: fix up hung_up_tty_write() conversion
        tty: implement write_iter
        serial: mvebu-uart: fix tx lost characters at power off
      4da81fa2
    • Linus Torvalds's avatar
      Merge tag 'usb-5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 8f3bfd21
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small USB driver fixes for 5.11-rc5.  They resolve:
      
         - xhci issues for some reported problems
      
         - ehci driver issue for one specific device
      
         - USB gadget fixes for some reported problems
      
         - cdns3 driver fixes for issues reported
      
         - MAINTAINERS file update
      
         - thunderbolt minor fix
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: bdc: Make bdc pci driver depend on BROKEN
        xhci: tegra: Delay for disabling LFPS detector
        xhci: make sure TRB is fully written before giving it to the controller
        usb: udc: core: Use lock when write to soft_connect
        USB: gadget: dummy-hcd: Fix errors in port-reset handling
        usb: gadget: aspeed: fix stop dma register setting.
        USB: ehci: fix an interrupt calltrace error
        ehci: fix EHCI host controller initialization sequence
        MAINTAINERS: update Peter Chen's email address
        thunderbolt: Drop duplicated 0x prefix from format string
        MAINTAINERS: Update address for Cadence USB3 driver
        usb: cdns3: imx: improve driver .remove API
        usb: cdns3: imx: fix can't create core device the second time issue
        usb: cdns3: imx: fix writing read-only memory issue
      8f3bfd21
    • Nathan Chancellor's avatar
      MAINTAINERS: add a couple more files to the Clang/LLVM section · e82d891a
      Nathan Chancellor authored
      The K: entry should ensure that Nick and I always get CC'd on patches that
      touch these files but it is better to be explicit rather than implicit.
      
      Link: https://lkml.kernel.org/r/20210114004059.2129921-1-natechancellor@gmail.comSigned-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e82d891a
    • Xiaoming Ni's avatar
      proc_sysctl: fix oops caused by incorrect command parameters · 697edcb0
      Xiaoming Ni authored
      The process_sysctl_arg() does not check whether val is empty before
      invoking strlen(val).  If the command line parameter () is incorrectly
      configured and val is empty, oops is triggered.
      
      For example:
        "hung_task_panic=1" is incorrectly written as "hung_task_panic", oops is
        triggered. The call stack is as follows:
          Kernel command line: .... hung_task_panic
          ......
          Call trace:
          __pi_strlen+0x10/0x98
          parse_args+0x278/0x344
          do_sysctl_args+0x8c/0xfc
          kernel_init+0x5c/0xf4
          ret_from_fork+0x10/0x30
      
      To fix it, check whether "val" is empty when "phram" is a sysctl field.
      Error codes are returned in the failure branch, and error logs are
      generated by parse_args().
      
      Link: https://lkml.kernel.org/r/20210118133029.28580-1-nixiaoming@huawei.com
      Fixes: 3db978d4 ("kernel/sysctl: support setting sysctl parameters from kernel command line")
      Signed-off-by: default avatarXiaoming Ni <nixiaoming@huawei.com>
      Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: Luis Chamberlain <mcgrof@kernel.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Iurii Zaikin <yzaikin@google.com>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Heiner Kallweit <hkallweit1@gmail.com>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: <stable@vger.kernel.org>	[5.8+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      697edcb0
    • Thomas Gleixner's avatar
      powerpc/mm/highmem: use __set_pte_at() for kmap_local() · 78502582
      Thomas Gleixner authored
      The original PowerPC highmem mapping function used __set_pte_at() to
      denote that the mapping is per CPU.  This got lost with the conversion
      to the generic implementation.
      
      Override the default map function.
      
      Link: https://lkml.kernel.org/r/20210112170411.281464308@linutronix.de
      Fixes: 47da42b2 ("powerpc/mm/highmem: Switch to generic kmap atomic")
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Andreas Larsson <andreas@gaisler.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Paul Cercueil <paul@crapouillou.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      78502582
    • Thomas Gleixner's avatar
      mips/mm/highmem: use set_pte() for kmap_local() · 8c0d5d78
      Thomas Gleixner authored
      set_pte_at() on MIPS invokes update_cache() which might recurse into
      kmap_local().
      
      Use set_pte() like the original MIPS highmem implementation did.
      
      Link: https://lkml.kernel.org/r/20210112170411.187513575@linutronix.de
      Fixes: a4c33e83 ("mips/mm/highmem: Switch to generic kmap atomic")
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Reported-by: default avatarPaul Cercueil <paul@crapouillou.net>
      Reported-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      Acked-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: Andreas Larsson <andreas@gaisler.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8c0d5d78
    • Thomas Gleixner's avatar
      mm/highmem: prepare for overriding set_pte_at() · a1dce7fd
      Thomas Gleixner authored
      The generic kmap_local() map function uses set_pte_at(), but MIPS requires
      set_pte() and PowerPC wants __set_pte_at().
      
      Provide arch_kmap_local_set_pte() and default it to set_pte_at().
      
      Link: https://lkml.kernel.org/r/20210112170411.056306194@linutronix.deSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Andreas Larsson <andreas@gaisler.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Paul Cercueil <paul@crapouillou.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a1dce7fd