1. 11 1月, 2019 3 次提交
    • L
      Merge tag 'vfio-v5.0-rc2' of git://github.com/awilliam/linux-vfio · 1bdbe227
      Linus Torvalds 提交于
      Pull VFIO fixes from Alex Williamson:
      
       - Fix trace header include path for in-tree builds (Masahiro Yamada)
      
       - Fix overflow in unmap wrap-around test (Alex Williamson)
      
      * tag 'vfio-v5.0-rc2' of git://github.com/awilliam/linux-vfio:
        vfio/type1: Fix unmap overflow off-by-one
        vfio/pci: set TRACE_INCLUDE_PATH to fix the build error
      1bdbe227
    • L
      Merge tag 'sound-5.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · f0ebbe9b
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "A collection of small fixes for USB-audio, HD-audio and cs46xx.
      
        The USB-audio fixes are for out-of-bound accesses and a regression in
        the recent cleanup, while HD-audio fixes are usual device-specific
        quirks"
      
      * tag 'sound-5.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek - Disable headset Mic VREF for headset mode of ALC225
        ALSA: hda/realtek - Add unplug function into unplug state of Headset Mode for ALC225
        ALSA: usb-audio: fix CM6206 register definitions
        ALSA: cs46xx: Potential NULL dereference in probe
        ALSA: hda/realtek - Support Dell headset mode for New AIO platform
        ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks
        ALSA: usb-audio: Always check descriptor sizes in parser code
        ALSA: usb-audio: Check mixer unit descriptors more strictly
        ALSA: usb-audio: Avoid access before bLength check in build_audio_procunit()
      f0ebbe9b
    • L
      Merge tag 'mtd/fixes-for-5.0-rc2' of git://git.infradead.org/linux-mtd · e7446be4
      Linus Torvalds 提交于
      Pull mtd fixes from Boris Brezillon:
       "Core MTD Fixes:
      
         - Fix a bug introduced when exposing MTD devs as NVMEM providers and
           check for add_mtd_device() return code everywhere
      
        raw NAND fixes:
      
         - Fix a memory corruption in the QCOM driver"
      
      * tag 'mtd/fixes-for-5.0-rc2' of git://git.infradead.org/linux-mtd:
        mtd: rawnand: qcom: fix memory corruption that causes panic
        mtd: Check add_mtd_device() ret code
        mtd: Fix the check on nvmem_register() ret code
      e7446be4
  2. 10 1月, 2019 3 次提交
  3. 09 1月, 2019 24 次提交
  4. 08 1月, 2019 4 次提交
    • G
      csky: fixup CACHEV1 store instruction fast retire · 96354ad7
      Guo Ren 提交于
      For I/O access, 810/807 store instruction fast retire will cause wrong
      primitive. For example:
      
      	stw (clear interrupt source)
      	stw (unmask interrupt controller)
      	enable interrupt
      
      stw is fast retire instruction. When PC is run at enable interrupt
      stage, the clear interrupt source hasn't finished. It will cause another
      wrong irq-enter.
      
      So use mb() to prevent above.
      Signed-off-by: NGuo Ren <ren_guo@c-sky.com>
      Cc: Lu Baoquan <lu.baoquan@intellif.com>
      96354ad7
    • G
      csky: fixup relocation error with 807 & 860 · f553aa1c
      Guo Ren 提交于
      810 doesn't support jsri instruction and csky-as will leave
      jsri + nop for relocation. Module-probe need replace them with
      lrw + jsr.
      Signed-off-by: NGuo Ren <ren_guo@c-sky.com>
      Cc: Hui Kai <huikai@acoinfo.com>
      f553aa1c
    • C
      mtd: rawnand: qcom: fix memory corruption that causes panic · 81d9bdf5
      Christian Lamparter 提交于
      This patch fixes a memory corruption that occurred in the
      qcom-nandc driver since it was converted to nand_scan().
      
      On boot, an affected device will panic from a NPE at a weird place:
      | Unable to handle kernel NULL pointer dereference at virtual address 0
      | pgd = (ptrval)
      | [00000000] *pgd=00000000
      | Internal error: Oops: 80000005 [#1] SMP ARM
      | CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.9 #0
      | Hardware name: Generic DT based system
      | PC is at   (null)
      | LR is at nand_block_isbad+0x90/0xa4
      | pc : [<00000000>]    lr : [<c0592240>]    psr: 80000013
      | sp : cf839d40  ip : 00000000  fp : cfae9e20
      | r10: cf815810  r9 : 00000000  r8 : 00000000
      | r7 : 00000000  r6 : 00000000  r5 : 00000001  r4 : cf815810
      | r3 : 00000000  r2 : cfae9810  r1 : ffffffff  r0 : cf815810
      | Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
      | Control: 10c5387d  Table: 8020406a  DAC: 00000051
      | Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
      | [<c0592240>] (nand_block_isbad) from [<c0580a94>]
      | [<c0580a94>] (allocate_partition) from [<c05811e4>]
      | [<c05811e4>] (add_mtd_partitions) from [<c0581164>]
      | [<c0581164>] (parse_mtd_partitions) from [<c057def4>]
      | [<c057def4>] (mtd_device_parse_register) from [<c059d274>]
      | [<c059d274>] (qcom_nandc_probe) from [<c0567f00>]
      
      The problem is that the nand_scan()'s qcom_nand_attach_chip callback
      is updating the nandc->max_cwperpage from 1 to 4. This causes the
      sg_init_table of clear_bam_transaction() in the driver's
      qcom_nandc_block_bad() to memset much more than what was initially
      allocated by alloc_bam_transaction().
      
      This patch restores the old behavior by reallocating the shared bam
      transaction alloc_bam_transaction() after the chip was identified,
      but before mtd_device_parse_register() (which is an alias for
      mtd_device_register() - see panic) gets called. This fixes the
      corruption and the driver is working again.
      
      Cc: stable@vger.kernel.org
      Fixes: 6a3cec64 ("mtd: rawnand: qcom: convert driver to nand_scan()")
      Signed-off-by: NChristian Lamparter <chunkeey@gmail.com>
      Acked-by: NMiquel Raynal <miquel.raynal@bootlin.com>
      Signed-off-by: NBoris Brezillon <bbrezillon@kernel.org>
      81d9bdf5
    • D
      ALSA: cs46xx: Potential NULL dereference in probe · 1524f4e4
      Dan Carpenter 提交于
      The "chip->dsp_spos_instance" can be NULL on some of the ealier error
      paths in snd_cs46xx_create().
      Reported-by: N"Yavuz, Tuba" <tuba@ece.ufl.edu>
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1524f4e4
  5. 07 1月, 2019 6 次提交
    • G
      Documentation/features: Add csky kernel features · 8a5aaf97
      Guo Ren 提交于
            core/ cBPF-JIT             : TODO |
            core/ eBPF-JIT             : TODO |
            core/ generic-idle-thread  :  ok  |
            core/ jump-labels          : TODO |
            core/ tracehook            :  ok  |
           debug/ KASAN                : TODO |
           debug/ gcov-profile-all     : TODO |
           debug/ kgdb                 : TODO |
           debug/ kprobes-on-ftrace    : TODO |
           debug/ kprobes              : TODO |
           debug/ kretprobes           : TODO |
           debug/ optprobes            : TODO |
           debug/ stackprotector       : TODO |
           debug/ uprobes              : TODO |
           debug/ user-ret-profiler    : TODO |
              io/ dma-contiguous       :  ok  |
         locking/ cmpxchg-local        : TODO |
         locking/ lockdep              : TODO |
         locking/ queued-rwlocks       :  ok  |
         locking/ queued-spinlocks     : TODO |
         locking/ rwsem-optimized      : TODO |
            perf/ kprobes-event        : TODO |
            perf/ perf-regs            : TODO |
            perf/ perf-stackdump       : TODO |
           sched/ membarrier-sync-core : TODO |
           sched/ numa-balancing       :  ..  |
         seccomp/ seccomp-filter       : TODO |
            time/ arch-tick-broadcast  : TODO |
            time/ clockevents          :  ok  |
            time/ context-tracking     : TODO |
            time/ irq-time-acct        : TODO |
            time/ modern-timekeeping   :  ok  |
            time/ virt-cpuacct         : TODO |
              vm/ ELF-ASLR             : TODO |
              vm/ PG_uncached          : TODO |
              vm/ THP                  :  ..  |
              vm/ batch-unmap-tlb-flush: TODO |
              vm/ huge-vmap            : TODO |
              vm/ ioremap_prot         : TODO |
              vm/ numa-memblock        :  ..  |
              vm/ pte_special          : TODO |
      Signed-off-by: NGuo Ren <ren_guo@c-sky.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      8a5aaf97
    • B
      mtd: Check add_mtd_device() ret code · 2b6f0090
      Boris Brezillon 提交于
      add_mtd_device() can fail. We should always check its return value
      and gracefully handle the failure case. Fix the call sites where this
      not done (in mtdpart.c) and add a __must_check attribute to the
      prototype to avoid this kind of mistakes.
      Signed-off-by: NBoris Brezillon <bbrezillon@kernel.org>
      2b6f0090
    • B
      mtd: Fix the check on nvmem_register() ret code · 19e16fb4
      Boris Brezillon 提交于
      Commit 20167b70 ("nvmem: use EOPNOTSUPP instead of ENOSYS") changed
      the nvmem_register() ret code from ENOSYS to EOPNOTSUPP when
      CONFIG_NVMEM is not enabled, but the check in mtd_nvmem_add() was not
      adjusted accordingly.
      
      Cc: Bartosz Golaszewski <brgl@bgdev.pl>
      Cc: Alban Bedel <albeu@free.fr>
      Fixes: c4dfa25a ("mtd: add support for reading MTD devices via the nvmem API")
      Reported-by: Nkernel test robot <rong.a.chen@intel.com>
      Signed-off-by: NBoris Brezillon <bbrezillon@kernel.org>
      Reviewed-by: NBartosz Golaszewski <bgolaszewski@baylibre.com>
      Signed-off-by: NBoris Brezillon <bbrezillon@kernel.org>
      19e16fb4
    • K
      ALSA: hda/realtek - Support Dell headset mode for New AIO platform · c2a7c55a
      Kailang Yang 提交于
      Dell has new platform for ALC274.
      This will support to enable headset mode.
      Signed-off-by: NKailang Yang <kailang@realtek.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c2a7c55a
    • Benquike's avatar
      ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks · cbb2ebf7
      Benquike 提交于
      In `create_composite_quirk`, the terminating condition of for loops is
      `quirk->ifnum < 0`. So any composite quirks should end with `struct
      snd_usb_audio_quirk` object with ifnum < 0.
      
          for (quirk = quirk_comp->data; quirk->ifnum >= 0; ++quirk) {
      
          	.....
          }
      
      the data field of Bower's & Wilkins PX headphones usb device device quirks
      do not end with {.ifnum = -1}, wihch may result in out-of-bound read.
      
      This Patch fix the bug by adding an ending quirk object.
      
      Fixes: 240a8af9 ("ALSA: usb-audio: Add a quirck for B&W PX headphones")
      Signed-off-by: Benquike's avatarHui Peng <benquike@163.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      cbb2ebf7
    • T
      ALSA: usb-audio: Always check descriptor sizes in parser code · 3e96d728
      Takashi Iwai 提交于
      There are a few places where we access the data without checking the
      actual object size from the USB audio descriptor.  This may result in
      OOB access, as recently reported.
      
      This patch addresses these missing checks.  Most of added codes are
      simple bLength checks in the caller side.  For the input and output
      terminal parsers, we put the length check in the parser functions.
      For the input terminal, a new argument is added to distinguish between
      UAC1 and the rest, as they treat different objects.
      Reported-by: NMathias Payer <mathias.payer@nebelwelt.net>
      Reported-by: Benquike's avatarHui Peng <benquike@163.com>
      Tested-by: Benquike's avatarHui Peng <benquike@163.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3e96d728