1. 23 Oct, 2019 3 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 13b86bc4
      Linus Torvalds authored
      :Pull ARM fixes from Russell King:
      
       - fix for alignment faults under high memory pressure
      
       - use u32 for ARM instructions in fault handler
      
       - mark functions that must always be inlined with __always_inline
      
       - fix for nommu XIP
      
       - fix ARMv7M switch to handler mode in reboot path
      
       - fix the recently introduced AMBA reset control error paths
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 8926/1: v7m: remove register save to stack before svc
        ARM: 8914/1: NOMMU: Fix exc_ret for XIP
        ARM: 8908/1: add __always_inline to functions called from __get_user_check()
        ARM: mm: alignment: use "u32" for 32-bit instructions
        ARM: mm: fix alignment handler faults under memory pressure
        drivers/amba: fix reset control error handling
      13b86bc4
    • Linus Torvalds's avatar
      Merge tag 'edac_urgent_for_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · e969c860
      Linus Torvalds authored
      Pull EDAC fix from Borislav Petkov:
       "Fix ghes_edac UAF case triggered by KASAN and DEBUG_TEST_DRIVER_REMOVE.
      
        Future pending rework of the ghes_edac instances registration will do
        away with the single memory controller per system model and that ugly
        hackery there.
      
        This is a minimal fix for stable@, courtesy of James Morse"
      
      * tag 'edac_urgent_for_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC/ghes: Fix Use after free in ghes_edac remove path
      e969c860
    • Linus Torvalds's avatar
      Merge tag 'for-5.4-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 54955e3b
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - fixes of error handling cleanup of metadata accounting with qgroups
         enabled
      
       - fix swapped values for qgroup tracepoints
      
       - fix race when handling full sync flag
      
       - don't start unused worker thread, functionality removed already
      
      * tag 'for-5.4-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Btrfs: check for the full sync flag while holding the inode lock during fsync
        Btrfs: fix qgroup double free after failure to reserve metadata for delalloc
        btrfs: tracepoints: Fix bad entry members of qgroup events
        btrfs: tracepoints: Fix wrong parameter order for qgroup events
        btrfs: qgroup: Always free PREALLOC META reserve in btrfs_delalloc_release_extents()
        btrfs: don't needlessly create extent-refs kernel thread
        btrfs: block-group: Fix a memory leak due to missing btrfs_put_block_group()
        Btrfs: add missing extents release on file extent cluster relocation error
      54955e3b
  2. 22 Oct, 2019 2 commits
    • Russell King's avatar
      Merge branch 'misc' into fixes · 39f4d441
      Russell King authored
      39f4d441
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 3b7c59a1
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "Here is a bunch of pin control fixes. I was lagging behind on this
        one, some fixes should have come in earlier, sorry about that.
      
        Anyways here it is, pretty straight-forward fixes, the Strago fix
        stand out as something serious affecting a lot of machines.
      
        Summary:
         - Handle multiple instances of Intel chips without complaining.
         - Restore the Intel Strago DMI workaround
         - Make the Armada 37xx handle pins over 32
         - Fix the polarity of the LED group on Armada 37xx
         - Fix an off-by-one bug in the NS2 driver
         - Fix error path for iproc's platform_get_irq()
         - Fix error path on the STMFX driver
         - Fix a typo in the Berlin AS370 driver
         - Fix up misc errors in the Aspeed 2600 BMC support
         - Fix a stray SPDX tag"
      
      * tag 'pinctrl-v5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: aspeed-g6: Rename SD3 to EMMC and rework pin groups
        pinctrl: aspeed-g6: Fix UART13 group pinmux
        pinctrl: aspeed-g6: Make SIG_DESC_CLEAR() behave intuitively
        pinctrl: aspeed-g6: Fix I3C3/I3C4 pinmux configuration
        pinctrl: aspeed-g6: Fix I2C14 SDA description
        pinctrl: aspeed-g6: Sort pins for sanity
        dt-bindings: pinctrl: aspeed-g6: Rework SD3 function and groups
        pinctrl: berlin: as370: fix a typo s/spififib/spdifib
        pinctrl: armada-37xx: swap polarity on LED group
        pinctrl: stmfx: fix null pointer on remove
        pinctrl: iproc: allow for error from platform_get_irq()
        pinctrl: ns2: Fix off by one bugs in ns2_pinmux_enable()
        pinctrl: bcm-iproc: Use SPDX header
        pinctrl: armada-37xx: fix control of pins 32 and up
        pinctrl: cherryview: restore Strago DMI workaround for all versions
        pinctrl: intel: Allocate IRQ chip dynamic
      3b7c59a1
  3. 21 Oct, 2019 1 commit
    • afzal mohammed's avatar
      ARM: 8926/1: v7m: remove register save to stack before svc · 2ecb2879
      afzal mohammed authored
      r0-r3 & r12 registers are saved & restored, before & after svc
      respectively. Intention was to preserve those registers across thread to
      handler mode switch.
      
      On v7-M, hardware saves the register context upon exception in AAPCS
      complaint way. Restoring r0-r3 & r12 is done from stack location where
      hardware saves it, not from the location on stack where these registers
      were saved.
      
      To clarify, on stm32f429 discovery board:
      
      1. before svc, sp - 0x90009ff8
      2. r0-r3,r12 saved to 0x90009ff8 - 0x9000a00b
      3. upon svc, h/w decrements sp by 32 & pushes registers onto stack
      4. after svc,  sp - 0x90009fd8
      5. r0-r3,r12 restored from 0x90009fd8 - 0x90009feb
      
      Above means r0-r3,r12 is not restored from the location where they are
      saved, but since hardware pushes the registers onto stack, the registers
      are restored correctly.
      
      Note that during register saving to stack (step 2), it goes past
      0x9000a000. And it seems, based on objdump, there are global symbols
      residing there, and it perhaps can cause issues on a non-XIP Kernel
      (on XIP, data section is setup later).
      
      Based on the analysis above, manually saving registers onto stack is at
      best no-op and at worst can cause data section corruption. Hence remove
      storing of registers onto stack before svc.
      
      Fixes: b70cd406 ("ARM: 8671/1: V7M: Preserve registers across switch from Thread to Handler mode")
      Signed-off-by: default avatarafzal mohammed <afzal.mohd.ma@gmail.com>
      Acked-by: default avatarVladimir Murzin <vladimir.murzin@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      2ecb2879
  4. 20 Oct, 2019 6 commits
  5. 19 Oct, 2019 28 commits