Skip to content
  1. Aug 03, 2020
    • Zhe Li's avatar
      jffs2: fix UAF problem · 798b7347
      Zhe Li authored
      
      
      The log of UAF problem is listed below.
      BUG: KASAN: use-after-free in jffs2_rmdir+0xa4/0x1cc [jffs2] at addr c1f165fc
      Read of size 4 by task rm/8283
      =============================================================================
      BUG kmalloc-32 (Tainted: P    B      O   ): kasan: bad access detected
      -----------------------------------------------------------------------------
      
      INFO: Allocated in 0xbbbbbbbb age=3054364 cpu=0 pid=0
              0xb0bba6ef
              jffs2_write_dirent+0x11c/0x9c8 [jffs2]
              __slab_alloc.isra.21.constprop.25+0x2c/0x44
              __kmalloc+0x1dc/0x370
              jffs2_write_dirent+0x11c/0x9c8 [jffs2]
              jffs2_do_unlink+0x328/0x5fc [jffs2]
              jffs2_rmdir+0x110/0x1cc [jffs2]
              vfs_rmdir+0x180/0x268
              do_rmdir+0x2cc/0x300
              ret_from_syscall+0x0/0x3c
      INFO: Freed in 0x205b age=3054364 cpu=0 pid=0
              0x2e9173
              jffs2_add_fd_to_list+0x138/0x1dc [jffs2]
              jffs2_add_fd_to_list+0x138/0x1dc [jffs2]
              jffs2_garbage_collect_dirent.isra.3+0x21c/0x288 [jffs2]
              jffs2_garbage_collect_live+0x16bc/0x1800 [jffs2]
              jffs2_garbage_collect_pass+0x678/0x11d4 [jffs2]
              jffs2_garbage_collect_thread+0x1e8/0x3b0 [jffs2]
              kthread+0x1a8/0x1b0
              ret_from_kernel_thread+0x5c/0x64
      Call Trace:
      [c17ddd20] [c02452d4] kasan_report.part.0+0x298/0x72c (unreliable)
      [c17ddda0] [d2509680] jffs2_rmdir+0xa4/0x1cc [jffs2]
      [c17dddd0] [c026da04] vfs_rmdir+0x180/0x268
      [c17dde00] [c026f4e4] do_rmdir+0x2cc/0x300
      [c17ddf40] [c001a658] ret_from_syscall+0x0/0x3c
      
      The root cause is that we don't get "jffs2_inode_info.sem" before
      we scan list "jffs2_inode_info.dents" in function jffs2_rmdir.
      This patch add codes to get "jffs2_inode_info.sem" before we scan
      "jffs2_inode_info.dents" to slove the UAF problem.
      
      Signed-off-by: default avatarZhe Li <lizhe67@huawei.com>
      Reviewed-by: default avatarHou Tao <houtao1@huawei.com>
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      798b7347
    • Zhe Li's avatar
      jffs2: fix jffs2 mounting failure · a68005a3
      Zhe Li authored
      
      
      Thanks for the advice mentioned in the email.
      This is my v3 patch for this problem.
      
      Mounting jffs2 on nand flash will get message "failed: I/O error"
      with the steps listed below.
      1.umount jffs2
      2.erase nand flash
      3.mount jffs2 on it (this mounting operation will be successful)
      4.do chown or chmod to the mount point directory
      5.umount jffs2
      6.mount jffs2 on nand flash
      After step 6, we will get message "mount ... failed: I/O error".
      
      Typical image of this problem is like:
      Empty space found from 0x00000000 to 0x008a0000
      Inode node at xx, totlen 0x00000044, #ino 1, version 1, isize 0...
      
      The reason for this mounting failure is that at the end of function
      jffs2_scan_medium(), jffs2 will check the used_size and some info
      of nr_blocks.If conditions are met, it will return -EIO.
      
      The detail is that, in the steps listed above, step 4 will write
      jffs2_raw_inode into flash without jffs2_raw_dirent, which will
      cause that there are some jffs2_raw_inode but no jffs2_raw_dirent
      on flash. This will meet the condition at the end of function
      jffs2_scan_medium() and return -EIO if we umount jffs2 and mount it
      again.
      
      We notice that jffs2 add the value of c->unchecked_size if we find
      an inode node while mounting. And jffs2 will never add the value of
      c->unchecked_size in other situations. So this patch add one more
      condition about c->unchecked_size of the judgement to fix this problem.
      
      Signed-off-by: default avatarZhe Li <lizhe67@huawei.com>
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      a68005a3
    • Zhihao Cheng's avatar
      ubifs: Fix wrong orphan node deletion in ubifs_jnl_update|rename · 094b6d12
      Zhihao Cheng authored
      
      
      There a wrong orphan node deleting in error handling path in
      ubifs_jnl_update() and ubifs_jnl_rename(), which may cause
      following error msg:
      
        UBIFS error (ubi0:0 pid 1522): ubifs_delete_orphan [ubifs]:
        missing orphan ino 65
      
      Fix this by checking whether the node has been operated for
      adding to orphan list before being deleted,
      
      Signed-off-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
      Fixes: 823838a4
      
       ("ubifs: Add hashes to the tree node cache")
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      094b6d12
    • Zhihao Cheng's avatar
      ubi: fastmap: Free fastmap next anchor peb during detach · c3fc1a39
      Zhihao Cheng authored
      
      
      ubi_wl_entry related with the fm_next_anchor PEB is not freed during
      detach, which causes a memory leak.
      Don't forget to release fm_next_anchor PEB while detaching ubi from
      mtd when CONFIG_MTD_UBI_FASTMAP is enabled.
      
      Signed-off-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
      Fixes: 4b68bf9a
      
       ("ubi: Select fastmap anchor PEBs considering...")
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      c3fc1a39
    • Zhihao Cheng's avatar
      ubi: fastmap: Don't produce the initial next anchor PEB when fastmap is disabled · 3b185255
      Zhihao Cheng authored
      
      
      Following process triggers a memleak caused by forgetting to release the
      initial next anchor PEB (CONFIG_MTD_UBI_FASTMAP is disabled):
      1. attach -> __erase_worker -> produce the initial next anchor PEB
      2. detach -> ubi_fastmap_close (Do nothing, it should have released the
         initial next anchor PEB)
      
      Don't produce the initial next anchor PEB in __erase_worker() when fastmap
      is disabled.
      
      Signed-off-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
      Suggested-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Fixes: f9c34bb5
      
       ("ubi: Fix producing anchor PEBs")
      Reported-by: default avatar <syzbot+d9aab50b1154e3d163f5@syzkaller.appspotmail.com>
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      3b185255
    • Randy Dunlap's avatar
      ubifs: misc.h: delete a duplicated word · fcf44196
      Randy Dunlap authored
      
      
      Drop the repeated word "as" in a comment.
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: linux-mtd@lists.infradead.org
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      fcf44196
    • Martin Kaistra's avatar
      ubifs: add option to specify version for new file systems · a7a8f4a1
      Martin Kaistra authored
      
      
      Instead of creating ubifs file systems with UBIFS_FORMAT_VERSION
      by default, add a module parameter ubifs.default_version to allow
      the user to specify the desired version. Valid values are 4 to
      UBIFS_FORMAT_VERSION (currently 5).
      
      This way, one can for example create a file system with version 4
      on kernel 4.19 which can still be mounted rw when downgrading to
      kernel 4.9.
      
      Signed-off-by: default avatarMartin Kaistra <martin.kaistra@linutronix.de>
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      a7a8f4a1
  2. Jul 27, 2020
    • Linus Torvalds's avatar
      Linux 5.8-rc7 · 92ed3019
      Linus Torvalds authored
      92ed3019
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.8-3' of... · 1c8594b8
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild into master
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - do not use non-portable strsep() in a host program
      
       - fix single target builds for external modules
      
       - change Clang's --prefix option to make it work for the latest Clang
      
      * tag 'kbuild-fixes-v5.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        Makefile: Fix GCC_TOOLCHAIN_DIR prefix for Clang cross compilation
        kbuild: fix single target builds for external modules
        modpost: remove use of non-standard strsep() in HOSTCC code
      1c8594b8
    • Linus Torvalds's avatar
      Merge branch 'parisc-5.8-2' of... · 40c60ac3
      Linus Torvalds authored
      Merge branch 'parisc-5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux into master
      
      Pull parisc fixes from Helge Deller:
       "Two fixes:
      
         - Add the cmpxchg() function for pointers to u8 values. This fixes a
           kernel linking error when building the tusb1210 driver (from Liam
           Beguin).
      
         - Add a define for atomic64_set_release() to fix CPU soft lockups
           which happen because of missing unlocks while processing bit
           operations (from John David Anglin)"
      
      * 'parisc-5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Add atomic64_set_release() define to avoid CPU soft lockups
        parisc: add support for cmpxchg on u8 pointers
      40c60ac3
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.8-rc7' of... · 1ada9010
      Linus Torvalds authored
      Merge tag 'char-misc-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc into master
      
      Pull char/misc driver fixes from Greg KH:
       "Here are a few small driver fixes for 5.8-rc7
      
        They include:
      
         - habanalabs fixes
      
         - tiny fpga driver fixes
      
         - /dev/mem fixup from previous changes
      
         - interconnect driver fixes
      
         - binder fix
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        interconnect: msm8916: Fix buswidth of pcnoc_s nodes
        interconnect: Do not skip aggregation for disabled paths
        /dev/mem: Add missing memory barriers for devmem_inode
        binder: Don't use mmput() from shrinker function.
        habanalabs: prevent possible out-of-bounds array access
        fpga: dfl: fix bug in port reset handshake
        fpga: dfl: pci: reduce the scope of variable 'ret'
        habanalabs: set 4s timeout for message to device CPU
        habanalabs: set clock gating per engine
        habanalabs: block WREG_BULK packet on PDMA
      1ada9010
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.8-rc7' of... · 7f2e231c
      Linus Torvalds authored
      Merge tag 'driver-core-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core into master
      
      Pull driver core fix from Greg KH:
       "A single driver core fix for 5.8-rc7. It resolves a problem found in
        the previous fix for this code made in 5.8-rc6. Hopefully this is all
        now cleared up, as this seems to be the last of the reported issues in
        this area, and was tested on the problem hardware.
      
        This patch has been in linux-next with no reported problems"
      
      * tag 'driver-core-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        device property: Avoid NULL pointer dereference in device_get_next_child_node()
      7f2e231c
    • Linus Torvalds's avatar
      Merge tag 'staging-5.8-rc7' of... · f208a76f
      Linus Torvalds authored
      Merge tag 'staging-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging into master
      
      Pull staging driver fixes from Greg KH:
       "Five small staging driver fixes for 5.8-rc7 to resolve some reported
        problems:
      
         - four comedi driver fixes for problems found with them
      
         - a syzbot-found fix for the wlang-ng driver that resolves a much
           reported problem.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'staging-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: wlan-ng: properly check endpoint types
        staging: comedi: addi_apci_1564: check INSN_CONFIG_DIGITAL_TRIG shift
        staging: comedi: addi_apci_1500: check INSN_CONFIG_DIGITAL_TRIG shift
        staging: comedi: addi_apci_1032: check INSN_CONFIG_DIGITAL_TRIG shift
        staging: comedi: ni_6527: fix INSN_CONFIG_DIGITAL_TRIG support
      f208a76f
    • Linus Torvalds's avatar
      Merge tag 'tty-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty into master · 7d22af6c
      Linus Torvalds authored
      Pull tty/serial/fbcon fixes from Greg KH:
       "Here are some small tty and serial and fbcon fixes for 5.8-rc7 to
        resolve some reported issues.
      
        The fbcon fix is in here as it was simpler to take it this way (and it
        was acked by the maintainer) as it was related to the vt console fix
        as well, both of which resolve syzbot-found issues in the console
        handling code.
      
        The other serial driver fixes are for small issues reported in the -rc
        releases.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'tty-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: exar: Fix GPIO configuration for Sealevel cards based on XR17V35X
        fbdev: Detect integer underflow at "struct fbcon_ops"->clear_margins.
        serial: 8250_mtk: Fix high-speed baud rates clamping
        serial: 8250: fix null-ptr-deref in serial8250_start_tx()
        serial: tegra: drop bogus NULL tty-port checks
        serial: tegra: fix CREAD handling for PIO
        tty: xilinx_uartps: Really fix id assignment
        vt: Reject zero-sized screen buffer size.
      7d22af6c
    • Linus Torvalds's avatar
      Merge tag 'usb-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb into master · 17f50e28
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Three small USB XHCI driver fixes for 5.8-rc7.
      
        They all resolve some minor issues that have been reported on some
        different platforms.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: tegra: Fix allocation for the FPCI context
        usb: xhci: Fix ASM2142/ASM3142 DMA addressing
        usb: xhci-mtk: fix the failure of bandwidth allocation
      17f50e28
  3. Jul 26, 2020
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi into master · cf48f79b
      Linus Torvalds authored
      Pull SCSI fix from James Bottomley:
       "Small core patch to fix a corner case bug: we forgot to run the queues
        to handle starvation in the error exit from the scsi_queue_rq routine,
        which can lead to hangs on error conditions"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: core: Run queue in case of I/O resource contention failure
      cf48f79b
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.8-rc7' of... · 04300d66
      Linus Torvalds authored
      Merge tag 'riscv-for-linus-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux into master
      
      Pull RISC-V fixes from Palmer Dabbelt:
       "A few more fixes this week:
      
         - A fix to avoid using SBI calls during kasan initialization, as the
           SBI calls themselves have not been probed yet.
      
         - Three fixes related to systems with multiple memory regions"
      
      * tag 'riscv-for-linus-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: Parse all memory blocks to remove unusable memory
        RISC-V: Do not rely on initrd_start/end computed during early dt parsing
        RISC-V: Set maximum number of mapped pages correctly
        riscv: kasan: use local_tlb_flush_all() to avoid uninitialized __sbi_rfence
      04300d66
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2020-07-25' of... · fbe0d451
      Linus Torvalds authored
      Merge tag 'x86-urgent-2020-07-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into master
      
      Pull x86 fixes from Ingo Molnar:
       "Misc fixes:
      
         - Fix a section end page alignment assumption that was causing
           crashes
      
         - Fix ORC unwinding on freshly forked tasks which haven't executed
           yet and which have empty user task stacks
      
         - Fix the debug.exception-trace=1 sysctl dumping of user stacks,
           which was broken by recent maccess changes"
      
      * tag 'x86-urgent-2020-07-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/dumpstack: Dump user space code correctly again
        x86/stacktrace: Fix reliable check for empty user task stacks
        x86/unwind/orc: Fix ORC for newly forked tasks
        x86, vmlinux.lds: Page-align end of ..page_aligned sections
      fbe0d451
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2020-07-25' of... · 78b1afe2
      Linus Torvalds authored
      Merge tag 'perf-urgent-2020-07-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into master
      
      Pull uprobe fix from Ingo Molnar:
       "Fix an interaction/regression between uprobes based shared library
        tracing & GDB"
      
      * tag 'perf-urgent-2020-07-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression
      78b1afe2
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2020-07-25' of... · a7b36c2b
      Linus Torvalds authored
      Merge tag 'timers-urgent-2020-07-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into master
      
      Pull timer fix from Ingo Molnar:
       "Fix a suspend/resume regression (crash) on TI AM3/AM4 SoC's"
      
      * tag 'timers-urgent-2020-07-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource/drivers/timer-ti-dm: Fix suspend and resume for am3 and am4
      a7b36c2b
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2020-07-25' of... · 3077805e
      Linus Torvalds authored
      Merge tag 'sched-urgent-2020-07-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into master
      
      Pull scheduler fixes from Ingo Molnar:
       "Fix a race introduced by the recent loadavg race fix, plus add a debug
        check for a hard to debug case of bogus wakeup function flags"
      
      * tag 'sched-urgent-2020-07-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Warn if garbage is passed to default_wake_function()
        sched: Fix race against ptrace_freeze_trace()
      3077805e
    • Linus Torvalds's avatar
      Merge tag 'efi-urgent-2020-07-25' of... · 17baa442
      Linus Torvalds authored
      Merge tag 'efi-urgent-2020-07-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into master
      
      Pull EFI fixes from Ingo Molnar:
       "Various EFI fixes:
      
         - Fix the layering violation in the use of the EFI runtime services
           availability mask in users of the 'efivars' abstraction
      
         - Revert build fix for GCC v4.8 which is no longer supported
      
         - Clean up some x86 EFI stub details, some of which are borderline
           bugs that copy around garbage into padding fields - let's fix these
           out of caution.
      
         - Fix build issues while working on RISC-V support
      
         - Avoid --whole-archive when linking the stub on arm64"
      
      * tag 'efi-urgent-2020-07-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi: Revert "efi/x86: Fix build with gcc 4"
        efi/efivars: Expose RT service availability via efivars abstraction
        efi/libstub: Move the function prototypes to header file
        efi/libstub: Fix gcc error around __umoddi3 for 32 bit builds
        efi/libstub/arm64: link stub lib.a conditionally
        efi/x86: Only copy upto the end of setup_header
        efi/x86: Remove unused variables
      17baa442
    • Linus Torvalds's avatar
      Merge tag '5.8-rc6-cifs-fix' of git://git.samba.org/sfrench/cifs-2.6 into master · 7cb3a5c5
      Linus Torvalds authored
      Pull cifs fix from Steve French:
       "A fix for a recently discovered regression in rename to older servers
        caused by a recent patch"
      
      * tag '5.8-rc6-cifs-fix' of git://git.samba.org/sfrench/cifs-2.6:
        Revert "cifs: Fix the target file was deleted when rename failed."
      7cb3a5c5
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net into master · 1b64b2e2
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix RCU locaking in iwlwifi, from Johannes Berg.
      
       2) mt76 can access uninitialized NAPI struct, from Felix Fietkau.
      
       3) Fix race in updating pause settings in bnxt_en, from Vasundhara
          Volam.
      
       4) Propagate error return properly during unbind failures in ax88172a,
          from George Kennedy.
      
       5) Fix memleak in adf7242_probe, from Liu Jian.
      
       6) smc_drv_probe() can leak, from Wang Hai.
      
       7) Don't muck with the carrier state if register_netdevice() fails in
          the bonding driver, from Taehee Yoo.
      
       8) Fix memleak in dpaa_eth_probe, from Liu Jian.
      
       9) Need to check skb_put_padto() return value in hsr_fill_tag(), from
          Murali Karicheri.
      
      10) Don't lose ionic RSS hash settings across FW update, from Shannon
          Nelson.
      
      11) Fix clobbered SKB control block in act_ct, from Wen Xu.
      
      12) Missing newlink in "tx_timeout" sysfs output, from Xiongfeng Wang.
      
      13) IS_UDPLITE cleanup a long time ago, incorrectly handled
          transformations involving UDPLITE_RECV_CC. From Miaohe Lin.
      
      14) Unbalanced locking in netdevsim, from Taehee Yoo.
      
      15) Suppress false-positive error messages in qed driver, from Alexander
          Lobakin.
      
      16) Out of bounds read in ax25_connect and ax25_sendmsg, from Peilin Ye.
      
      17) Missing SKB release in cxgb4's uld_send(), from Navid Emamdoost.
      
      18) Uninitialized value in geneve_changelink(), from Cong Wang.
      
      19) Fix deadlock in xen-netfront, from Andera Righi.
      
      19) flush_backlog() frees skbs with IRQs disabled, so should use
          dev_kfree_skb_irq() instead of kfree_skb(). From Subash Abhinov
          Kasiviswanathan.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (111 commits)
        drivers/net/wan: lapb: Corrected the usage of skb_cow
        dev: Defer free of skbs in flush_backlog
        qrtr: orphan socket in qrtr_release()
        xen-netfront: fix potential deadlock in xennet_remove()
        flow_offload: Move rhashtable inclusion to the source file
        geneve: fix an uninitialized value in geneve_changelink()
        bonding: check return value of register_netdevice() in bond_newlink()
        tcp: allow at most one TLP probe per flight
        AX.25: Prevent integer overflows in connect and sendmsg
        cxgb4: add missing release on skb in uld_send()
        net: atlantic: fix PTP on AQC10X
        AX.25: Prevent out-of-bounds read in ax25_sendmsg()
        sctp: shrink stream outq when fails to do addstream reconf
        sctp: shrink stream outq only when new outcnt < old outcnt
        AX.25: Fix out-of-bounds read in ax25_connect()
        enetc: Remove the mdio bus on PF probe bailout
        net: ethernet: ti: add NETIF_F_HW_TC hw feature flag for taprio offload
        net: ethernet: ave: Fix error returns in ave_init
        drivers/net/wan/x25_asy: Fix to make it work
        ipvs: fix the connection sync failed in some cases
        ...
      1b64b2e2
  4. Jul 25, 2020
    • Atish Patra's avatar
      riscv: Parse all memory blocks to remove unusable memory · fa5a1983
      Atish Patra authored
      
      
      Currently, maximum physical memory allowed is equal to -PAGE_OFFSET.
      That's why we remove any memory blocks spanning beyond that size. However,
      it is done only for memblock containing linux kernel which will not work
      if there are multiple memblocks.
      
      Process all memory blocks to figure out how much memory needs to be removed
      and remove at the end instead of updating the memblock list in place.
      
      Signed-off-by: default avatarAtish Patra <atish.patra@wdc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      fa5a1983
    • Atish Patra's avatar
      RISC-V: Do not rely on initrd_start/end computed during early dt parsing · 4400231c
      Atish Patra authored
      Currently, initrd_start/end are computed during early_init_dt_scan
      but used during arch_setup. We will get the following panic if initrd is used
      and CONFIG_DEBUG_VIRTUAL is turned on.
      
      [    0.000000] ------------[ cut here ]------------
      [    0.000000] kernel BUG at arch/riscv/mm/physaddr.c:33!
      [    0.000000] Kernel BUG [#1]
      [    0.000000] Modules linked in:
      [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.8.0-rc4-00015-ged0b226fed02 #886
      [    0.000000] epc: ffffffe0002058d2 ra : ffffffe0000053f0 sp : ffffffe001001f40
      [    0.000000]  gp : ffffffe00106e250 tp : ffffffe001009d40 t0 : ffffffe00107ee28
      [    0.000000]  t1 : 0000000000000000 t2 : ffffffe000a2e880 s0 : ffffffe001001f50
      [    0.000000]  s1 : ffffffe0001383e8 a0 : ffffffe00c087e00 a1 : 0000000080200000
      [    0.000000]  a2 : 00000000010bf000 a3 : ffffffe00106f3c8 a4 : ffffffe0010bf000
      [    0.000000]  a5 : ffffffe000000000 a6 : 0000000000000006 a7 : 0000000000000001
      [    0.000000]  s2 : ffffffe00106f068 s3 : ffffffe00106f070 s4 : 0000000080200000
      [    0.000000]  s5 : 0000000082200000 s6 : 0000000000000000 s7 : 0000000000000000
      [    0.000000]  s8 : 0000000080011010 s9 : 0000000080012700 s10: 0000000000000000
      [    0.000000]  s11: 0000000000000000 t3 : 000000000001fe30 t4 : 000000000001fe30
      [    0.000000]  t5 : 0000000000000000 t6 : ffffffe00107c471
      [    0.000000] status: 0000000000000100 badaddr: 0000000000000000 cause: 0000000000000003
      [    0.000000] random: get_random_bytes called from print_oops_end_marker+0x22/0x46 with crng_init=0
      
      To avoid the error, initrd_start/end can be computed from phys_initrd_start/size
      in setup itself. It also improves the initrd placement by aligning the start
      and size with the page size.
      
      Fixes: 76d2a049
      
       ("RISC-V: Init and Halt Code")
      Signed-off-by: default avatarAtish Patra <atish.patra@wdc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      4400231c
    • Xie He's avatar
      drivers/net/wan: lapb: Corrected the usage of skb_cow · 8754e137
      Xie He authored
      
      
      This patch fixed 2 issues with the usage of skb_cow in LAPB drivers
      "lapbether" and "hdlc_x25":
      
      1) After skb_cow fails, kfree_skb should be called to drop a reference
      to the skb. But in both drivers, kfree_skb is not called.
      
      2) skb_cow should be called before skb_push so that is can ensure the
      safety of skb_push. But in "lapbether", it is incorrectly called after
      skb_push.
      
      More details about these 2 issues:
      
      1) The behavior of calling kfree_skb on failure is also the behavior of
      netif_rx, which is called by this function with "return netif_rx(skb);".
      So this function should follow this behavior, too.
      
      2) In "lapbether", skb_cow is called after skb_push. This results in 2
      logical issues:
         a) skb_push is not protected by skb_cow;
         b) An extra headroom of 1 byte is ensured after skb_push. This extra
            headroom has no use in this function. It also has no use in the
            upper-layer function that this function passes the skb to
            (x25_lapb_receive_frame in net/x25/x25_dev.c).
      So logically skb_cow should instead be called before skb_push.
      
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Martin Schiller <ms@dev.tdt.de>
      Signed-off-by: default avatarXie He <xie.he.0141@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8754e137
    • Subash Abhinov Kasiviswanathan's avatar
      dev: Defer free of skbs in flush_backlog · 7df5cb75
      Subash Abhinov Kasiviswanathan authored
      IRQs are disabled when freeing skbs in input queue.
      Use the IRQ safe variant to free skbs here.
      
      Fixes: 145dd5f9
      
       ("net: flush the softnet backlog in process context")
      Signed-off-by: default avatarSubash Abhinov Kasiviswanathan <subashab@codeaurora.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7df5cb75
    • Atish Patra's avatar
      RISC-V: Set maximum number of mapped pages correctly · d0d8aae6
      Atish Patra authored
      
      
      Currently, maximum number of mapper pages are set to the pfn calculated
      from the memblock size of the memblock containing kernel. This will work
      until that memblock spans the entire memory. However, it will be set to
      a wrong value if there are multiple memblocks defined in kernel
      (e.g. with efi runtime services).
      
      Set the the maximum value to the pfn calculated from dram size.
      
      Signed-off-by: default avatarAtish Patra <atish.patra@wdc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      d0d8aae6
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.8-fixes-2' of... · 23ee3e4e
      Linus Torvalds authored
      Merge tag 'pci-v5.8-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci into master
      
      Pull PCI fixes from Bjorn Helgaas:
      
       - Reject invalid IRQ 0 command line argument for virtio_mmio because
         IRQ 0 now generates warnings (Bjorn Helgaas)
      
       - Revert "PCI/PM: Assume ports without DLL Link Active train links in
         100 ms", which broke nouveau (Bjorn Helgaas)
      
      * tag 'pci-v5.8-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        Revert "PCI/PM: Assume ports without DLL Link Active train links in 100 ms"
        virtio-mmio: Reject invalid IRQ 0 command line argument
      23ee3e4e
    • Cong Wang's avatar
      qrtr: orphan socket in qrtr_release() · af9f691f
      Cong Wang authored
      
      
      We have to detach sock from socket in qrtr_release(),
      otherwise skb->sk may still reference to this socket
      when the skb is released in tun->queue, particularly
      sk->sk_wq still points to &sock->wq, which leads to
      a UAF.
      
      Reported-and-tested-by: default avatar <syzbot+6720d64f31c081c2f708@syzkaller.appspotmail.com>
      Fixes: 28fb4e59
      
       ("net: qrtr: Expose tunneling endpoint to user space")
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      af9f691f
    • David S. Miller's avatar
      Merge tag 'wireless-drivers-2020-07-24' of... · 657237f5
      David S. Miller authored
      
      Merge tag 'wireless-drivers-2020-07-24' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers
      
      Kalle Valo says:
      
      ====================
      wireless-drivers fixes for v5.8
      
      Second set of fixes for v5.8, and hopefully also the last. Three
      important regressions fixed.
      
      ath9k
      
      * fix a regression which broke support for all ath9k usb devices
      
      ath10k
      
      * fix a regression which broke support for all QCA4019 AHB devices
      
      iwlwifi
      
      * fix a regression which broke support for some Killer Wireless-AC 1550 cards
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      657237f5
    • Andrea Righi's avatar
      xen-netfront: fix potential deadlock in xennet_remove() · c2c63310
      Andrea Righi authored
      
      
      There's a potential race in xennet_remove(); this is what the driver is
      doing upon unregistering a network device:
      
        1. state = read bus state
        2. if state is not "Closed":
        3.    request to set state to "Closing"
        4.    wait for state to be set to "Closing"
        5.    request to set state to "Closed"
        6.    wait for state to be set to "Closed"
      
      If the state changes to "Closed" immediately after step 1 we are stuck
      forever in step 4, because the state will never go back from "Closed" to
      "Closing".
      
      Make sure to check also for state == "Closed" in step 4 to prevent the
      deadlock.
      
      Also add a 5 sec timeout any time we wait for the bus state to change,
      to avoid getting stuck forever in wait_event().
      
      Signed-off-by: default avatarAndrea Righi <andrea.righi@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c2c63310
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.8-2' of git://linux-nfs.org/~bfields/linux into master · 5876aa07
      Linus Torvalds authored
      Pull nfsd fix from Bruce Fields:
       "Just one fix for a NULL dereference if someone happens to read
        /proc/fs/nfsd/client/../state at the wrong moment"
      
      * tag 'nfsd-5.8-2' of git://linux-nfs.org/~bfields/linux:
        nfsd4: fix NULL dereference in nfsd/clients display code
      5876aa07
    • Herbert Xu's avatar
      flow_offload: Move rhashtable inclusion to the source file · c2b69f24
      Herbert Xu authored
      I noticed that touching linux/rhashtable.h causes lib/vsprintf.c to
      be rebuilt.  This dependency came through a bogus inclusion in the
      file net/flow_offload.h.  This patch moves it to the right place.
      
      This patch also removes a lingering rhashtable inclusion in cls_api
      created by the same commit.
      
      Fixes: 4e481908
      
       ("flow_offload: move tc indirect block to...")
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c2b69f24
    • Linus Torvalds's avatar
      Merge branch 'akpm' into master (patches from Andrew) · 68845a55
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "Subsystems affected by this patch series: mm/pagemap, mm/shmem,
        mm/hotfixes, mm/memcg, mm/hugetlb, mailmap, squashfs, scripts,
        io-mapping, MAINTAINERS, and gdb"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        scripts/gdb: fix lx-symbols 'gdb.error' while loading modules
        MAINTAINERS: add KCOV section
        io-mapping: indicate mapping failure
        scripts/decode_stacktrace: strip basepath from all paths
        squashfs: fix length field overlap check in metadata reading
        mailmap: add entry for Mike Rapoport
        khugepaged: fix null-pointer dereference due to race
        mm/hugetlb: avoid hardcoding while checking if cma is enabled
        mm: memcg/slab: fix memory leak at non-root kmem_cache destroy
        mm/memcg: fix refcount error while moving and swapping
        mm/memcontrol: fix OOPS inside mem_cgroup_get_nr_swap_pages()
        mm: initialize return of vm_insert_pages
        vfs/xattr: mm/shmem: kernfs: release simple xattr entry in a right way
        mm/mmap.c: close race between munmap() and expand_upwards()/downwards()
      68845a55
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs into master · c953d60b
      Linus Torvalds authored
      Pull xtensa csum regression fix from Al Viro:
       "Max Filippov caught a breakage introduced in xtensa this cycle
        by the csum_and_copy_..._user() series.
      
        Cut'n'paste from the wrong source - the check that belongs
        in csum_and_copy_to_user() ended up both there and in
        csum_and_copy_from_user()"
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        xtensa: fix access check in csum_and_copy_from_user
      c953d60b
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux into master · c6d68604
      Linus Torvalds authored
      Pull arm64 fix from Will Deacon:
       "Fix compat vDSO build flags for recent versions of clang to tell it
        where to find the assembler"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: vdso32: Fix '--prefix=' value for newer versions of clang
      c6d68604
    • Linus Torvalds's avatar
      Merge tag 'for-5.8-rc6-tag' of... · 06697042
      Linus Torvalds authored
      Merge tag 'for-5.8-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into master
      
      Pull btrfs fixes from David Sterba:
       "A few resouce leak fixes from recent patches, all are stable material.
      
        The problems have been observed during testing or have a reproducer"
      
      * tag 'for-5.8-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix mount failure caused by race with umount
        btrfs: fix page leaks after failure to lock page for delalloc
        btrfs: qgroup: fix data leak caused by race between writeback and truncate
        btrfs: fix double free on ulist after backref resolution failure
      06697042
    • Linus Torvalds's avatar
      Merge tag 'zonefs-5.8-rc7' of... · 6a343656
      Linus Torvalds authored
      Merge tag 'zonefs-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs into master
      
      Pull zonefs fixes from Damien Le Moal:
       "Two fixes, the first one to remove compilation warnings and the second
        to avoid potentially inefficient allocation of BIOs for direct writes
        into sequential zones"
      
      * tag 'zonefs-5.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
        zonefs: count pages after truncating the iterator
        zonefs: Fix compilation warning
      6a343656