1. 22 Mar, 2016 13 commits
    • Andy Lutomirski's avatar
      ptrace: in PEEK_SIGINFO, check syscall bitness, not task bitness · 5c465217
      Andy Lutomirski authored
      Users of the 32-bit ptrace() ABI expect the full 32-bit ABI.  siginfo
      translation should check ptrace() ABI, not caller task ABI.
      
      This is an ABI change on SPARC.  Let's hope that no one relied on the
      old buggy ABI.
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5c465217
    • Andy Lutomirski's avatar
      seccomp: check in_compat_syscall, not is_compat_task, in strict mode · 5c38065e
      Andy Lutomirski authored
      Seccomp wants to know the syscall bitness, not the caller task bitness,
      when it selects the syscall whitelist.
      
      As far as I know, this makes no difference on any architecture, so it's
      not a security problem.  (It generates identical code everywhere except
      sparc, and, on sparc, the syscall numbering is the same for both ABIs.)
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5c38065e
    • Andy Lutomirski's avatar
      sparc/syscall: fix syscall_get_arch · 203f7907
      Andy Lutomirski authored
      Sparc's syscall_get_arch was buggy: it returned the task arch, not the
      syscall arch.  This could confuse seccomp and audit.
      
      I don't think this is as bad for seccomp as it looks: sparc's 32-bit and
      64-bit syscalls are numbered the same.
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      203f7907
    • Andy Lutomirski's avatar
      sparc/compat: provide an accurate in_compat_syscall implementation · 069923d8
      Andy Lutomirski authored
      On sparc64 compat-enabled kernels, any task can make 32-bit and 64-bit
      syscalls.  is_compat_task returns true in 32-bit tasks, which does not
      necessarily imply that the current syscall is 32-bit.
      
      Provide an in_compat_syscall implementation that checks whether the
      current syscall is compat.
      
      As far as I know, sparc is the only architecture on which is_compat_task
      checks the compat status of the task and on which the compat status of a
      syscall can differ from the compat status of the task.  On x86,
      is_compat_task checks the syscall type, not the task type.
      
      [akpm@linux-foundation.org: add comment, per Sam]
      [akpm@linux-foundation.org: update comment, per Andy]
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Andy Lutomirski <luto@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      069923d8
    • Andy Lutomirski's avatar
      compat: add in_compat_syscall to ask whether we're in a compat syscall · 5180e3e2
      Andy Lutomirski authored
      A lot of code currently abuses is_compat_task to determine this.
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Andreas Dilger <adilger.kernel@dilger.ca>
      Cc: Clemens Ladisch <clemens@ladisch.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: David Herrmann <dh.herrmann@googlemail.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Ingo Molnar <mingo@elte.hu>
      Acked-by: default avatarJiri Kosina <jkosina@suse.cz>
      Cc: Matt Fleming <matt@codeblueprint.co.uk>
      Cc: Neil Horman <nhorman@tuxdriver.com>
      Cc: Oded Gabbay <oded.gabbay@gmail.com>
      Cc: Oleg Drokin <oleg.drokin@intel.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Paul Moore <paul@paul-moore.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Steffen Klassert <steffen.klassert@secunet.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5180e3e2
    • Tetsuo Handa's avatar
      kernel/hung_task.c: use timeout diff when timeout is updated · b4aa14a6
      Tetsuo Handa authored
      When new timeout is written to /proc/sys/kernel/hung_task_timeout_secs,
      khungtaskd is interrupted and again sleeps for full timeout duration.
      
      This means that hang task will not be checked if new timeout is written
      periodically within old timeout duration and/or checking of hang task
      will be delayed for up to previous timeout duration.  Fix this by
      remembering last time khungtaskd checked hang task.
      
      This change will allow other watchdog tasks (if any) to share khungtaskd
      by sleeping for minimal timeout diff of all watchdog tasks.  Doing more
      watchdog tasks from khungtaskd will reduce the possibility of printk()
      collisions by multiple watchdog threads.
      Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Aaron Tomlin <atomlin@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b4aa14a6
    • Minchan Kim's avatar
      zram: revive swap_slot_free_notify · 3f2b1a04
      Minchan Kim authored
      Commit b430e9d1 ("remove compressed copy from zram in-memory")
      applied swap_slot_free_notify call in *end_swap_bio_read* to remove
      duplicated memory between zram and memory.
      
      However, with the introduction of rw_page in zram: 8c7f0102 ("zram:
      implement rw_page operation of zram"), it became void because rw_page
      doesn't need bio.
      
      Memory footprint is really important in embedded platforms which have
      small memory, for example, 512M) recently because it could start to kill
      processes if memory footprint exceeds some threshold by LMK or some
      similar memory management modules.
      
      This patch restores the function for rw_page, thereby eliminating this
      duplication.
      Signed-off-by: default avatarMinchan Kim <minchan@kernel.org>
      Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Cc: karam.lee <karam.lee@lge.com>
      Cc: <sangseok.lee@lge.com>
      Cc: Chan Jeong <chan.jeong@lge.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3f2b1a04
    • Gang He's avatar
      ocfs2: add feature document for online file check · d750c42a
      Gang He authored
      This document will describe OCFS2 online file check feature.  OCFS2 is
      often used in high-availaibility systems.  However, OCFS2 usually
      converts the filesystem to read-only when encounters an error.  This may
      not be necessary, since turning the filesystem read-only would affect
      other running processes as well, decreasing availability.
      
      Then, a mount option (errors=continue) is introduced, which would return
      the -EIO errno to the calling process and terminate furhter processing
      so that the filesystem is not corrupted further.  The filesystem is not
      converted to read-only, and the problematic file's inode number is
      reported in the kernel log.  The user can try to check/fix this file via
      online filecheck feature.
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Cc: Mark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Joseph Qi <joseph.qi@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d750c42a
    • Gang He's avatar
      ocfs2: check/fix inode block for online file check · d56a8f32
      Gang He authored
      Implement online check or fix inode block during reading a inode block
      to memory.
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Joseph Qi <joseph.qi@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d56a8f32
    • Gang He's avatar
      ocfs2: create/remove sysfile for online file check · a849d468
      Gang He authored
      Create online file check sysfile when ocfs2 mount, remove the related
      sysfile when ocfs2 umount.
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Joseph Qi <joseph.qi@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a849d468
    • Gang He's avatar
      ocfs2: sysfile interfaces for online file check · a860f6eb
      Gang He authored
      Implement online file check sysfile interfaces, e.g. how to create the
      related sysfile according to device name, how to display/handle file
      check request from the sysfile.
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Joseph Qi <joseph.qi@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a860f6eb
    • Gang He's avatar
      ocfs2: export ocfs2_kset for online file check · 9dde5e4f
      Gang He authored
      When there are errors in the ocfs2 filesystem, they are usually
      accompanied by the inode number which caused the error.  This inode
      number would be the input to fixing the file.  One of these options
      could be considered:
      
      A file in the sys filesytem which would accept inode numbers.  This
      could be used to communication back what has to be fixed or is fixed.
      You could write:
      
        $# echo "<inode>" > /sys/fs/ocfs2/devname/filecheck/check
      
      or
      
        $# echo "<inode>" > /sys/fs/ocfs2/devname/filecheck/fix
      
      Compare with second version, I re-design filecheck sysfs interfaces,
      there are three sysfs files (check, fix and set) under filecheck
      directory (see above), sysfs will accept only one argument <inode>.
      Second, I adjust some code in ocfs2_filecheck_repair_inode_block()
      function according to upstream feedback, we cannot just add VALID_FL
      flag back as a inode block fix, then we will not fix this field
      corruption currently until having a complete solution.  Compare with
      first version, I use strncasecmp instead of double strncmp functions.
      Second, update the source file contribution vendor.
      
      This patch (of 4):
      
      Export ocfs2_kset object from ocfs2_stackglue kernel module, then online
      file check code will create the related sysfiles under ocfs2_kset
      object.  We're exporting this because it's built in ocfs2_stackglue.ko.
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Joseph Qi <joseph.qi@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9dde5e4f
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 968f3e37
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "We have a good sized cleanup of our internal read ahead code, and the
        first series of commits from Chandan to enable PAGE_SIZE > sectorsize
      
        Otherwise, it's a normal series of cleanups and fixes, with many
        thanks to Dave Sterba for doing most of the patch wrangling this time"
      
      * 'for-linus-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (82 commits)
        btrfs: make sure we stay inside the bvec during __btrfs_lookup_bio_sums
        btrfs: Fix misspellings in comments.
        btrfs: Print Warning only if ENOSPC_DEBUG is enabled
        btrfs: scrub: silence an uninitialized variable warning
        btrfs: move btrfs_compression_type to compression.h
        btrfs: rename btrfs_print_info to btrfs_print_mod_info
        Btrfs: Show a warning message if one of objectid reaches its highest value
        Documentation: btrfs: remove usage specific information
        btrfs: use kbasename in btrfsic_mount
        Btrfs: do not collect ordered extents when logging that inode exists
        Btrfs: fix race when checking if we can skip fsync'ing an inode
        Btrfs: fix listxattrs not listing all xattrs packed in the same item
        Btrfs: fix deadlock between direct IO reads and buffered writes
        Btrfs: fix extent_same allowing destination offset beyond i_size
        Btrfs: fix file loss on log replay after renaming a file and fsync
        Btrfs: fix unreplayable log after snapshot delete + parent dir fsync
        Btrfs: fix lockdep deadlock warning due to dev_replace
        btrfs: drop unused argument in btrfs_ioctl_get_supported_features
        btrfs: add GET_SUPPORTED_FEATURES to the control device ioctls
        btrfs: change max_inline default to 2048
        ...
      968f3e37
  2. 21 Mar, 2016 16 commits
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.6' of git://git.linaro.org/people/ulf.hansson/mmc · e531cdf5
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
            - Fix ABI regression of MMC BLK ioctl
            - Remove the unused MMC_DATA_STREAM flag
            - Enable asynchronous system PM for the host device
            - Minor fixes and clean-ups
      
        SDHCI host:
           Throughout the years, the numbers of SDHCI variants have increased
           and so has also the numbers of SDHCI callbacks/quirks.  The purpose
           of these callbacks/quirks were to enable SDHCI to deal with variant
           specific requirements, but unfortunate this method didn't scale.
           Instead we have ended up with a mess.  Not only did the code become
           suboptimal but also highly fragile.
      
           Lately many discussions of how to move forward with SDHCI has taken
           place at the MMC mailing list.  Step by step, we aim to turn
           SDHCI's common code into a set of library functions.  This will
           enable for optimizations and allow some of the existing callbacks
           and quirks to be removed, which also should help to make the code
           less fragile.
      
           Therefore I am also really pleased to announce that Adrian Hunter
           (Intel) has volunteered to step in as the maintainer for SDHCI.
      
           Future wise, I hope the community around SDHCI will continue to
           grow and that this release cycle can be the starting point of
           moving SDHCI into a better shape.  As a matter of fact, already in
           this cycle the re-factoring has begun, but of course there are also
           fixes and new features included.  Some highlights:
      
            - sdhci-iproc: Add support for Broadcom's BCM2835 eMMC IP
            - sdhci-acpi: Add support for QCOM controllers
            - sdhci-pic32: Add new SDHCI variant for PIC32MZDA
      
        Other hosts:
            - atmel-mci: Fix a NULL pointer dereference
            - mediatek: Add SD write-protect support
            - mmc_spi: Fix card detect in GPIO case
            - tmio/sdhi: Add r8a7795 support
            - tmio/sdhi: Some fixes and clean-ups
            - dw_mmc: Add HW reset support
            - dw_mmc: Some fixes and clean-ups
            - sunxi: Add support for MMC DDR52 mode"
      
      * tag 'mmc-v4.6' of git://git.linaro.org/people/ulf.hansson/mmc: (123 commits)
        mmc: sdhci-of-at91: fix wake-up issue when using runtime pm
        mmc: sdhci-pci: Do not set DMA mask in enable_dma()
        mmc: sdhci-acpi: Remove enable_dma() hook
        mmc: sdhci: Set DMA mask when adding host
        mmc: block: fix ABI regression of mmc_blk_ioctl
        mmc: atmel-mci: Check pdata for NULL before dereferencing it at DMA config
        mmc: core: remove redundant memset of sdio_read_cccr
        mmc: core: remove redundant memset of mmc_decode_cid
        mmc: of_mmc_spi: fix unused warning
        mmc: sdhci-of-arasan: add phy support for sdhci-of-arasan
        mmc: sdhci-of-arasan: fix missing sdhci_pltfm_free for err handling
        mmc: sdhci-of-arasan: remove disable clk_ahb from sdhci_arasan_resume
        Documentation: bindings: add description of phy for sdhci-of-arasan
        mmc: sdhci: Fix override of timeout clk wrt max_busy_timeout
        mmc: mmci: Remove unnecessary header file
        mmc: sdhci-acpi: add QCOM controllers
        mmc: tegra: implement memcomp pad calibration
        mmc: mediatek: Use mmc_regulator_set_vqmmc in start_signal_voltage_switch
        mmc: mediatek: Change signal voltage error to dev_dbg()
        mmc: sh_mmcif, tmio: Use ARCH_RENESAS
        ...
      e531cdf5
    • Linus Torvalds's avatar
      Merge tag 'md/4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · 4526b710
      Linus Torvalds authored
      Pull MD updates from Shaohua Li:
       "This update mainly fixes bugs.
      
         - a raid5 discard related fix from Jes
         - a MD multipath bio clone fix from Ming
         - raid1 error handling deadlock fix from Nate and corresponding
           raid10 fix from myself
         - a raid5 stripe batch fix from Neil
         - a patch from Sebastian to avoid unnecessary uevent
         - several cleanup/debug patches"
      
      * tag 'md/4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
        md/raid5: Cleanup cpu hotplug notifier
        raid10: include bio_end_io_list in nr_queued to prevent freeze_array hang
        raid1: include bio_end_io_list in nr_queued to prevent freeze_array hang
        md: fix typos for stipe
        md/bitmap: remove redundant return in bitmap_checkpage
        md/raid1: remove unnecessary BUG_ON
        md: multipath: don't hardcopy bio in .make_request path
        md/raid5: output stripe state for debug
        md/raid5: preserve STRIPE_PREREAD_ACTIVE in break_stripe_batch_list
        Update MD git tree URL
        md/bitmap: remove redundant check
        MD: warn for potential deadlock
        md: Drop sending a change uevent when stopping
        RAID5: revert e9e4c377 to fix a livelock
        RAID5: check_reshape() shouldn't call mddev_suspend
        md/raid5: Compare apples to apples (or sectors to sectors)
      4526b710
    • Linus Torvalds's avatar
      [media] vsp1: use proper dma alloc/free functions · 770c4c11
      Linus Torvalds authored
      I noticed this while merging the drm tree and checking for stragglers:
      the vsp1 driver still used dma_[alloc|free]_writecombine() that got
      renamed in commit f6e45661 ("dma, mm/pat: Rename
      dma_*_writecombine() to dma_*_wc()")
      
      I should have noticed back in the media merge (commit bace3db5), but
      better late than never.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      770c4c11
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · 266c73b7
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "This is the main drm pull request for 4.6 kernel.
      
        Overall the coolest thing here for me is the nouveau maxwell signed
        firmware support from NVidia, it's taken a long while to extract this
        from them.
      
        I also wish the ARM vendors just designed one set of display IP, ARM
        display block proliferation is definitely increasing.
      
        Core:
           - drm_event cleanups
           - Internal API cleanup making mode_fixup optional.
           - Apple GMUX vga switcheroo support.
           - DP AUX testing interface
      
        Panel:
           - Refactoring of DSI core for use over more transports.
      
        New driver:
           - ARM hdlcd driver
      
        i915:
           - FBC/PSR (framebuffer compression, panel self refresh) enabled by default.
           - Ongoing atomic display support work
           - Ongoing runtime PM work
           - Pixel clock limit checks
           - VBT DSI description support
           - GEM fixes
           - GuC firmware scheduler enhancements
      
        amdkfd:
           - Deferred probing fixes to avoid make file or link ordering.
      
        amdgpu/radeon:
           - ACP support for i2s audio support.
           - Command Submission/GPU scheduler/GPUVM optimisations
           - Initial GPU reset support for amdgpu
      
        vmwgfx:
           - Support for DX10 gen mipmaps
           - Pageflipping and other fixes.
      
        exynos:
           - Exynos5420 SoC support for FIMD
           - Exynos5422 SoC support for MIPI-DSI
      
        nouveau:
           - GM20x secure boot support - adds acceleration for Maxwell GPUs.
           - GM200 support
           - GM20B clock driver support
           - Power sensors work
      
        etnaviv:
           - Correctness fixes for GPU cache flushing
           - Better support for i.MX6 systems.
      
        imx-drm:
           - VBlank IRQ support
           - Fence support
           - OF endpoint support
      
        msm:
           - HDMI support for 8996 (snapdragon 820)
           - Adreno 430 support
           - Timestamp queries support
      
        virtio-gpu:
           - Fixes for Android support.
      
        rockchip:
           - Add support for Innosilicion HDMI
      
        rcar-du:
           - Support for 4 crtcs
           - R8A7795 support
           - RCar Gen 3 support
      
        omapdrm:
           - HDMI interlace output support
           - dma-buf import support
           - Refactoring to remove a lot of legacy code.
      
        tilcdc:
           - Rewrite of pageflipping code
           - dma-buf support
           - pinctrl support
      
        vc4:
           - HDMI modesetting bug fixes
           - Significant 3D performance improvement.
      
        fsl-dcu (FreeScale):
           - Lots of fixes
      
        tegra:
           - Two small fixes
      
        sti:
           - Atomic support for planes
           - Improved HDMI support"
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (1063 commits)
        drm/amdgpu: release_pages requires linux/pagemap.h
        drm/sti: restore mode_fixup callback
        drm/amdgpu/gfx7: add MTYPE definition
        drm/amdgpu: removing BO_VAs shouldn't be interruptible
        drm/amd/powerplay: show uvd/vce power gate enablement for tonga.
        drm/amd/powerplay: show uvd/vce power gate info for fiji
        drm/amdgpu: use sched fence if possible
        drm/amdgpu: move ib.fence to job.fence
        drm/amdgpu: give a fence param to ib_free
        drm/amdgpu: include the right version of gmc header files for iceland
        drm/radeon: fix indentation.
        drm/amd/powerplay: add uvd/vce dpm enabling flag to fix the performance issue for CZ
        drm/amdgpu: switch back to 32bit hw fences v2
        drm/amdgpu: remove amdgpu_fence_is_signaled
        drm/amdgpu: drop the extra fence range check v2
        drm/amdgpu: signal fences directly in amdgpu_fence_process
        drm/amdgpu: cleanup amdgpu_fence_wait_empty v2
        drm/amdgpu: keep all fences in an RCU protected array v2
        drm/amdgpu: add number of hardware submissions to amdgpu_fence_driver_init_ring
        drm/amdgpu: RCU protected amd_sched_fence_release
        ...
      266c73b7
    • Linus Torvalds's avatar
      Merge tag 'arm64-perf' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 2c856e14
      Linus Torvalds authored
      Pull arm[64] perf updates from Will Deacon:
       "I have another mixed bag of ARM-related perf patches here.
      
        It's about 25% CPU and 75% interconnect, but with drivers/bus/
        languishing without an obvious maintainer or tree, Olof and I agreed
        to keep all of these PMU patches together.  I suspect a whole load of
        code from drivers/bus/arm-* can be moved under drivers/perf/, so
        that's on the radar for the future.
      
        Summary:
      
         - Initial support for ARMv8.1 CPU PMUs
      
         - Support for the CPU PMU in Cavium ThunderX
      
         - CPU PMU support for systems running 32-bit Linux in secure mode
      
         - Support for the system PMU in ARM CCI-550 (Cache Coherent Interconnect)"
      
      * tag 'arm64-perf' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (26 commits)
        drivers/perf: arm_pmu: avoid NULL dereference when not using devicetree
        arm64: perf: Extend ARMV8_EVTYPE_MASK to include PMCR.LC
        arm-cci: remove unused variable
        arm-cci: don't return value from void function
        arm-cci: make private functions static
        arm-cci: CoreLink CCI-550 PMU driver
        arm-cci500: Rearrange PMU driver for code sharing with CCI-550 PMU
        arm-cci: CCI-500: Work around PMU counter writes
        arm-cci: Provide hook for writing to PMU counters
        arm-cci: Add helper to enable PMU without synchornising counters
        arm-cci: Add routines to save/restore all counters
        arm-cci: Get the status of a counter
        arm-cci: write_counter: Remove redundant check
        arm-cci: Delay PMU counter writes to pmu::pmu_enable
        arm-cci: Refactor CCI PMU enable/disable methods
        arm-cci: Group writes to counter
        arm-cci: fix handling cpumask_any_but return value
        arm-cci: simplify sysfs attr handling
        drivers/perf: arm_pmu: implement CPU_PM notifier
        arm64: dts: Add Cavium ThunderX specific PMU
        ...
      2c856e14
    • Linus Torvalds's avatar
      Merge tag 'arc-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · d34687ab
      Linus Torvalds authored
      Pull ARC architecture updates from Vineet Gupta:
       - Big Endian io accessors fix [Lada]
       - Spellos fixes [Adam]
       - Fix for DW GMAC breakage [Alexey]
       - Making DMA API 64-bit ready
       - Shutting up -Wmaybe-uninitialized noise for ARC
       - Other minor fixes here and there, comments update
      
      * tag 'arc-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (21 commits)
        ARCv2: ioremap: Support dynamic peripheral address space
        ARC: dma: reintroduce platform specific dma<->phys
        ARC: dma: ioremap: use phys_addr_t consistenctly in code paths
        ARC: dma: pass_phys() not sg_virt() to cache ops
        ARC: dma: non-coherent pages need V-P mapping if in HIGHMEM
        ARC: dma: Use struct page based page allocator helpers
        ARC: build: Turn off -Wmaybe-uninitialized for ARC gcc 4.8
        ARC: [plat-axs10x] add Ethernet PHY description in .dts
        arc: use of_platform_default_populate() to populate default bus
        ARC: thp: unbork !CONFIG_TRANSPARENT_HUGEPAGE build
        arc: [plat-nsimosci*] use ezchip network driver
        ARCv2: LLSC: software backoff is NOT needed starting HS2.1c
        ARC: mm: Use virt_to_pfn() for addr >> PAGE_SHIFT pattern
        ARC: [plat-nsim] document ranges
        ARC: build: Better way to detect ISA compatible toolchain
        ARCv2: Allow enabling PAE40 w/o HIGHMEM
        ARC: [BE] readl()/writel() to work in Big Endian CPU configuration
        ARC: [*defconfig] No need to specify CONFIG_CROSS_COMPILE
        ARC: [BE] Select correct CROSS_COMPILE prefix
        ARC: bitops: Remove non relevant comments
        ...
      d34687ab
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 77d91317
      Linus Torvalds authored
      Pull UDF and quota updates from Jan Kara:
       "This contains a rewrite of UDF handling of filename encoding to fix
        remaining overflow issues from Andrew Gabbasov and quota changes to
        support new Q_[X]GETNEXTQUOTA quotactl for VFS quota formats"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: Fix possible GPF due to uninitialised pointers
        ext4: Make Q_GETNEXTQUOTA work for quota in hidden inodes
        quota: Forbid Q_GETQUOTA and Q_GETNEXTQUOTA for frozen filesystem
        quota: Fix possible races during quota loading
        ocfs2: Implement get_next_id()
        quota_v2: Implement get_next_id() for V2 quota format
        quota: Add support for ->get_nextdqblk() for VFS quota
        udf: Merge linux specific translation into CS0 conversion function
        udf: Remove struct ustr as non-needed intermediate storage
        udf: Use separate buffer for copying split names
        udf: Adjust UDF_NAME_LEN to better reflect actual restrictions
        udf: Join functions for UTF8 and NLS conversions
        udf: Parameterize output length in udf_put_filename
        quota: Allow Q_GETQUOTA for frozen filesystem
        quota: Fixup comments about return value of Q_[X]GETNEXTQUOTA
      77d91317
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 53d2e697
      Linus Torvalds authored
      Pull xfs updates from Dave Chinner:
       "There's quite a lot in this request, and there's some cross-over with
        ext4, dax and quota code due to the nature of the changes being made.
      
        As for the rest of the XFS changes, there are lots of little things
        all over the place, which add up to a lot of changes in the end.
      
        The major changes are that we've reduced the size of the struct
        xfs_inode by ~100 bytes (gives an inode cache footprint reduction of
        >10%), the writepage code now only does a single set of mapping tree
        lockups so uses less CPU, delayed allocation reservations won't
        overrun under random write loads anymore, and we added compile time
        verification for on-disk structure sizes so we find out when a commit
        or platform/compiler change breaks the on disk structure as early as
        possible.
      
        Change summary:
      
         - error propagation for direct IO failures fixes for both XFS and
           ext4
         - new quota interfaces and XFS implementation for iterating all the
           quota IDs in the filesystem
         - locking fixes for real-time device extent allocation
         - reduction of duplicate information in the xfs and vfs inode, saving
           roughly 100 bytes of memory per cached inode.
         - buffer flag cleanup
         - rework of the writepage code to use the generic write clustering
           mechanisms
         - several fixes for inode flag based DAX enablement
         - rework of remount option parsing
         - compile time verification of on-disk format structure sizes
         - delayed allocation reservation overrun fixes
         - lots of little error handling fixes
         - small memory leak fixes
         - enable xfsaild freezing again"
      
      * tag 'xfs-for-linus-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (66 commits)
        xfs: always set rvalp in xfs_dir2_node_trim_free
        xfs: ensure committed is initialized in xfs_trans_roll
        xfs: borrow indirect blocks from freed extent when available
        xfs: refactor delalloc indlen reservation split into helper
        xfs: update freeblocks counter after extent deletion
        xfs: debug mode forced buffered write failure
        xfs: remove impossible condition
        xfs: check sizes of XFS on-disk structures at compile time
        xfs: ioends require logically contiguous file offsets
        xfs: use named array initializers for log item dumping
        xfs: fix computation of inode btree maxlevels
        xfs: reinitialise per-AG structures if geometry changes during recovery
        xfs: remove xfs_trans_get_block_res
        xfs: fix up inode32/64 (re)mount handling
        xfs: fix format specifier , should be %llx and not %llu
        xfs: sanitize remount options
        xfs: convert mount option parsing to tokens
        xfs: fix two memory leaks in xfs_attr_list.c error paths
        xfs: XFS_DIFLAG2_DAX limited by PAGE_SIZE
        xfs: dynamically switch modes when XFS_DIFLAG2_DAX is set/cleared
        ...
      53d2e697
    • Linus Torvalds's avatar
      Merge tag 'for-f2fs-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · d407574e
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "New Features:
         - uplift filesystem encryption into fs/crypto/
         - give sysfs entries to control memroy consumption
      
        Enhancements:
         - aio performance by preallocating blocks in ->write_iter
         - use writepages lock for only WB_SYNC_ALL
         - avoid redundant inline_data conversion
         - enhance forground GC
         - use wait_for_stable_page as possible
         - speed up SEEK_DATA and fiiemap
      
        Bug Fixes:
         - corner case in terms of -ENOSPC for inline_data
         - hung task caused by long latency in shrinker
         - corruption between atomic write and f2fs_trace_pid
         - avoid garbage lengths in dentries
         - revoke atomicly written pages if an error occurs
      
        In addition, there are various minor bug fixes and clean-ups"
      
      * tag 'for-f2fs-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (81 commits)
        f2fs: submit node page write bios when really required
        f2fs: add missing argument to f2fs_setxattr stub
        f2fs: fix to avoid unneeded unlock_new_inode
        f2fs: clean up opened code with f2fs_update_dentry
        f2fs: declare static functions
        f2fs: use cryptoapi crc32 functions
        f2fs: modify the readahead method in ra_node_page()
        f2fs crypto: sync ext4_lookup and ext4_file_open
        fs crypto: move per-file encryption from f2fs tree to fs/crypto
        f2fs: mutex can't be used by down_write_nest_lock()
        f2fs: recovery missing dot dentries in root directory
        f2fs: fix to avoid deadlock when merging inline data
        f2fs: introduce f2fs_flush_merged_bios for cleanup
        f2fs: introduce f2fs_update_data_blkaddr for cleanup
        f2fs crypto: fix incorrect positioning for GCing encrypted data page
        f2fs: fix incorrect upper bound when iterating inode mapping tree
        f2fs: avoid hungtask problem caused by losing wake_up
        f2fs: trace old block address for CoWed page
        f2fs: try to flush inode after merging inline data
        f2fs: show more info about superblock recovery
        ...
      d407574e
    • Linus Torvalds's avatar
      Merge branch 'for-4.6-ns' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 5518f66b
      Linus Torvalds authored
      Pull cgroup namespace support from Tejun Heo:
       "These are changes to implement namespace support for cgroup which has
        been pending for quite some time now.  It is very straight-forward and
        only affects what part of cgroup hierarchies are visible.
      
        After unsharing, mounting a cgroup fs will be scoped to the cgroups
        the task belonged to at the time of unsharing and the cgroup paths
        exposed to userland would be adjusted accordingly"
      
      * 'for-4.6-ns' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: fix and restructure error handling in copy_cgroup_ns()
        cgroup: fix alloc_cgroup_ns() error handling in copy_cgroup_ns()
        Add FS_USERNS_FLAG to cgroup fs
        cgroup: Add documentation for cgroup namespaces
        cgroup: mount cgroupns-root when inside non-init cgroupns
        kernfs: define kernfs_node_dentry
        cgroup: cgroup namespace setns support
        cgroup: introduce cgroup namespaces
        sched: new clone flag CLONE_NEWCGROUP for cgroup namespace
        kernfs: Add API to generate relative kernfs path
      5518f66b
    • Chris Mason's avatar
      btrfs: make sure we stay inside the bvec during __btrfs_lookup_bio_sums · 389f239c
      Chris Mason authored
      Commit c40a3d38 (Btrfs: Compute and look up csums based on
      sectorsized blocks) changes around how we walk the bios while looking up
      crcs.  There's an inner loop that is jumping to the next bvec based on
      sectors and before it derefs the next bvec, it needs to make sure we're
      still in the bio.
      
      In this case, the outer loop would have decided to stop moving forward
      too, and the bvec deref is never actually used for anything.  But
      CONFIG_DEBUG_PAGEALLOC catches it because we're outside our bio.
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
      389f239c
    • Will Deacon's avatar
      drivers/perf: arm_pmu: avoid NULL dereference when not using devicetree · 357b565d
      Will Deacon authored
      Commit c6b90653 ("drivers/perf: arm_pmu: make info messages more
      verbose") breaks booting on systems where the PMU is probed without
      devicetree (e.g by inspecting the MIDR of the current CPU). In this case,
      pdev->dev.of_node is NULL and we shouldn't try to access its ->fullname
      field when printing probe error messages.
      
      This patch fixes the probing code to use of_node_full_name, which safely
      handles NULL nodes and removes the "Error %i" part of the string, since
      it's not terribly useful.
      Reported-by: default avatarGuenter Roeck <private@roeck-us.net>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      357b565d
    • Stephen Rothwell's avatar
      drm/amdgpu: release_pages requires linux/pagemap.h · 568d7c76
      Stephen Rothwell authored
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Reviewed-by: Christian König <christian.koenig@amd.com.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      568d7c76
    • Linus Torvalds's avatar
      Merge branch 'mm-pkeys-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 643ad15d
      Linus Torvalds authored
      Pull x86 protection key support from Ingo Molnar:
       "This tree adds support for a new memory protection hardware feature
        that is available in upcoming Intel CPUs: 'protection keys' (pkeys).
      
        There's a background article at LWN.net:
      
            https://lwn.net/Articles/643797/
      
        The gist is that protection keys allow the encoding of
        user-controllable permission masks in the pte.  So instead of having a
        fixed protection mask in the pte (which needs a system call to change
        and works on a per page basis), the user can map a (handful of)
        protection mask variants and can change the masks runtime relatively
        cheaply, without having to change every single page in the affected
        virtual memory range.
      
        This allows the dynamic switching of the protection bits of large
        amounts of virtual memory, via user-space instructions.  It also
        allows more precise control of MMU permission bits: for example the
        executable bit is separate from the read bit (see more about that
        below).
      
        This tree adds the MM infrastructure and low level x86 glue needed for
        that, plus it adds a high level API to make use of protection keys -
        if a user-space application calls:
      
              mmap(..., PROT_EXEC);
      
        or
      
              mprotect(ptr, sz, PROT_EXEC);
      
        (note PROT_EXEC-only, without PROT_READ/WRITE), the kernel will notice
        this special case, and will set a special protection key on this
        memory range.  It also sets the appropriate bits in the Protection
        Keys User Rights (PKRU) register so that the memory becomes unreadable
        and unwritable.
      
        So using protection keys the kernel is able to implement 'true'
        PROT_EXEC on x86 CPUs: without protection keys PROT_EXEC implies
        PROT_READ as well.  Unreadable executable mappings have security
        advantages: they cannot be read via information leaks to figure out
        ASLR details, nor can they be scanned for ROP gadgets - and they
        cannot be used by exploits for data purposes either.
      
        We know about no user-space code that relies on pure PROT_EXEC
        mappings today, but binary loaders could start making use of this new
        feature to map binaries and libraries in a more secure fashion.
      
        There is other pending pkeys work that offers more high level system
        call APIs to manage protection keys - but those are not part of this
        pull request.
      
        Right now there's a Kconfig that controls this feature
        (CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS) that is default enabled
        (like most x86 CPU feature enablement code that has no runtime
        overhead), but it's not user-configurable at the moment.  If there's
        any serious problem with this then we can make it configurable and/or
        flip the default"
      
      * 'mm-pkeys-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (38 commits)
        x86/mm/pkeys: Fix mismerge of protection keys CPUID bits
        mm/pkeys: Fix siginfo ABI breakage caused by new u64 field
        x86/mm/pkeys: Fix access_error() denial of writes to write-only VMA
        mm/core, x86/mm/pkeys: Add execute-only protection keys support
        x86/mm/pkeys: Create an x86 arch_calc_vm_prot_bits() for VMA flags
        x86/mm/pkeys: Allow kernel to modify user pkey rights register
        x86/fpu: Allow setting of XSAVE state
        x86/mm: Factor out LDT init from context init
        mm/core, x86/mm/pkeys: Add arch_validate_pkey()
        mm/core, arch, powerpc: Pass a protection key in to calc_vm_flag_bits()
        x86/mm/pkeys: Actually enable Memory Protection Keys in the CPU
        x86/mm/pkeys: Add Kconfig prompt to existing config option
        x86/mm/pkeys: Dump pkey from VMA in /proc/pid/smaps
        x86/mm/pkeys: Dump PKRU with other kernel registers
        mm/core, x86/mm/pkeys: Differentiate instruction fetches
        x86/mm/pkeys: Optimize fault handling in access_error()
        mm/core: Do not enforce PKEY permissions on remote mm access
        um, pkeys: Add UML arch_*_access_permitted() methods
        mm/gup, x86/mm/pkeys: Check VMAs and PTEs for protection keys
        x86/mm/gup: Simplify get_user_pages() PTE bit handling
        ...
      643ad15d
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 24b5e20f
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The main changes are:
      
         - Use separate EFI page tables when executing EFI firmware code.
           This isolates the EFI context from the rest of the kernel, which
           has security and general robustness advantages.  (Matt Fleming)
      
         - Run regular UEFI firmware with interrupts enabled.  This is already
           the status quo under other OSs.  (Ard Biesheuvel)
      
         - Various x86 EFI enhancements, such as the use of non-executable
           attributes for EFI memory mappings.  (Sai Praneeth Prakhya)
      
         - Various arm64 UEFI enhancements.  (Ard Biesheuvel)
      
         - ... various fixes and cleanups.
      
        The separate EFI page tables feature got delayed twice already,
        because it's an intrusive change and we didn't feel confident about
        it - third time's the charm we hope!"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
        x86/mm/pat: Fix boot crash when 1GB pages are not supported by the CPU
        x86/efi: Only map kernel text for EFI mixed mode
        x86/efi: Map EFI_MEMORY_{XP,RO} memory region bits to EFI page tables
        x86/mm/pat: Don't implicitly allow _PAGE_RW in kernel_map_pages_in_pgd()
        efi/arm*: Perform hardware compatibility check
        efi/arm64: Check for h/w support before booting a >4 KB granular kernel
        efi/arm: Check for LPAE support before booting a LPAE kernel
        efi/arm-init: Use read-only early mappings
        efi/efistub: Prevent __init annotations from being used
        arm64/vmlinux.lds.S: Handle .init.rodata.xxx and .init.bss sections
        efi/arm64: Drop __init annotation from handle_kernel_image()
        x86/mm/pat: Use _PAGE_GLOBAL bit for EFI page table mappings
        efi/runtime-wrappers: Run UEFI Runtime Services with interrupts enabled
        efi: Reformat GUID tables to follow the format in UEFI spec
        efi: Add Persistent Memory type name
        efi: Add NV memory attribute
        x86/efi: Show actual ending addresses in efi_print_memmap
        x86/efi/bgrt: Don't ignore the BGRT if the 'valid' bit is 0
        efivars: Use to_efivar_entry
        efi: Runtime-wrapper: Get rid of the rtc_lock spinlock
        ...
      24b5e20f
    • Linus Torvalds's avatar
      Merge branch 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 26660a40
      Linus Torvalds authored
      Pull 'objtool' stack frame validation from Ingo Molnar:
       "This tree adds a new kernel build-time object file validation feature
        (ONFIG_STACK_VALIDATION=y): kernel stack frame correctness validation.
        It was written by and is maintained by Josh Poimboeuf.
      
        The motivation: there's a category of hard to find kernel bugs, most
        of them in assembly code (but also occasionally in C code), that
        degrades the quality of kernel stack dumps/backtraces.  These bugs are
        hard to detect at the source code level.  Such bugs result in
        incorrect/incomplete backtraces most of time - but can also in some
        rare cases result in crashes or other undefined behavior.
      
        The build time correctness checking is done via the new 'objtool'
        user-space utility that was written for this purpose and which is
        hosted in the kernel repository in tools/objtool/.  The tool's (very
        simple) UI and source code design is shaped after Git and perf and
        shares quite a bit of infrastructure with tools/perf (which tooling
        infrastructure sharing effort got merged via perf and is already
        upstream).  Objtool follows the well-known kernel coding style.
      
        Objtool does not try to check .c or .S files, it instead analyzes the
        resulting .o generated machine code from first principles: it decodes
        the instruction stream and interprets it.  (Right now objtool supports
        the x86-64 architecture.)
      
        From tools/objtool/Documentation/stack-validation.txt:
      
         "The kernel CONFIG_STACK_VALIDATION option enables a host tool named
          objtool which runs at compile time.  It has a "check" subcommand
          which analyzes every .o file and ensures the validity of its stack
          metadata.  It enforces a set of rules on asm code and C inline
          assembly code so that stack traces can be reliable.
      
          Currently it only checks frame pointer usage, but there are plans to
          add CFI validation for C files and CFI generation for asm files.
      
          For each function, it recursively follows all possible code paths
          and validates the correct frame pointer state at each instruction.
      
          It also follows code paths involving special sections, like
          .altinstructions, __jump_table, and __ex_table, which can add
          alternative execution paths to a given instruction (or set of
          instructions).  Similarly, it knows how to follow switch statements,
          for which gcc sometimes uses jump tables."
      
        When this new kernel option is enabled (it's disabled by default), the
        tool, if it finds any suspicious assembly code pattern, outputs
        warnings in compiler warning format:
      
          warning: objtool: rtlwifi_rate_mapping()+0x2e7: frame pointer state mismatch
          warning: objtool: cik_tiling_mode_table_init()+0x6ce: call without frame pointer save/setup
          warning: objtool:__schedule()+0x3c0: duplicate frame pointer save
          warning: objtool:__schedule()+0x3fd: sibling call from callable instruction with changed frame pointer
      
        ... so that scripts that pick up compiler warnings will notice them.
        All known warnings triggered by the tool are fixed by the tree, most
        of the commits in fact prepare the kernel to be warning-free.  Most of
        them are bugfixes or cleanups that stand on their own, but there are
        also some annotations of 'special' stack frames for justified cases
        such entries to JIT-ed code (BPF) or really special boot time code.
      
        There are two other long-term motivations behind this tool as well:
      
         - To improve the quality and reliability of kernel stack frames, so
           that they can be used for optimized live patching.
      
         - To create independent infrastructure to check the correctness of
           CFI stack frames at build time.  CFI debuginfo is notoriously
           unreliable and we cannot use it in the kernel as-is without extra
           checking done both on the kernel side and on the build side.
      
        The quality of kernel stack frames matters to debuggability as well,
        so IMO we can merge this without having to consider the live patching
        or CFI debuginfo angle"
      
      * 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)
        objtool: Only print one warning per function
        objtool: Add several performance improvements
        tools: Copy hashtable.h into tools directory
        objtool: Fix false positive warnings for functions with multiple switch statements
        objtool: Rename some variables and functions
        objtool: Remove superflous INIT_LIST_HEAD
        objtool: Add helper macros for traversing instructions
        objtool: Fix false positive warnings related to sibling calls
        objtool: Compile with debugging symbols
        objtool: Detect infinite recursion
        objtool: Prevent infinite recursion in noreturn detection
        objtool: Detect and warn if libelf is missing and don't break the build
        tools: Support relative directory path for 'O='
        objtool: Support CROSS_COMPILE
        x86/asm/decoder: Use explicitly signed chars
        objtool: Enable stack metadata validation on 64-bit x86
        objtool: Add CONFIG_STACK_VALIDATION option
        objtool: Add tool to perform compile-time stack metadata validation
        x86/kprobes: Mark kretprobe_trampoline() stack frame as non-standard
        sched: Always inline context_switch()
        ...
      26660a40
  3. 20 Mar, 2016 11 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 46e595a1
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "Driver updates for ARM SoCs, these contain various things that touch
        the drivers/ directory but got merged through arm-soc for practical
        reasons:
      
         - Rockchip rk3368 gains power domain support
         - Small updates for the ARM spmi driver
         - The Atmel PMC driver saw a larger rework, touching both
           arch/arm/mach-at91 and drivers/clk/at91
         - All reset controller driver changes alway get merged through
           arm-soc, though this time the largest change is the addition of a
           MIPS pistachio reset driver
         - One bugfix for the NXP (formerly Freescale) i.MX weim bus driver"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
        bus: imx-weim: Take the 'status' property value into account
        clk: at91: remove useless includes
        clk: at91: pmc: remove useless capacities handling
        clk: at91: pmc: drop at91_pmc_base
        usb: gadget: atmel: access the PMC using regmap
        ARM: at91: remove useless includes and function prototypes
        ARM: at91: pm: move idle functions to pm.c
        ARM: at91: pm: find and remap the pmc
        ARM: at91: pm: simply call at91_pm_init
        clk: at91: pmc: move pmc structures to C file
        clk: at91: pmc: merge at91_pmc_init in atmel_pmc_probe
        clk: at91: remove IRQ handling and use polling
        clk: at91: make use of syscon/regmap internally
        clk: at91: make use of syscon to share PMC registers in several drivers
        hwmon: (scpi) add energy meter support
        firmware: arm_scpi: add support for 64-bit sensor values
        firmware: arm_scpi: decrease Tx timeout to 20ms
        firmware: arm_scpi: fix send_message and sensor_get_value for big-endian
        reset: sti: Make reset_control_ops const
        reset: zynq: Make reset_control_ops const
        ...
      46e595a1
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · e3b1f64e
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Arnd Bergmann:
       "As usual, a bunch of commits, mostly adding drivers and other options
        to defconfigs.
      
        The realview_smp_defconfig and realview_defconfig got merged into one,
        so we are now down to 110 files.
      
        For stm32, we have now added a Kconfig fragment, the first such file
        on arch/arm.  The purpose here is to have a shared defconfig file that
        works for all boards, while the DRAM offset has to be hardwired on
        NOMMU machines at compile time.
      
        The Exynos defconfig changes depend on changes in the RTC tree, so
        this is pulled in here, but has already been merged into 4.6 now"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
        ARM: imx_v4_v5_defconfig: Enable initramfs support
        ARM: imx_v4_v5_defconfig: Cleanup imx_v4_v5_defconfig
        ARM: multi_v7_defconfig: Enable LP872x regulator support
        ARM: omap2plus_defconfig: Enable LP872x regulator support
        ARM: mxs_defconfig: Enable initramfs support
        ARM: mxs_defconfig: Cleanup mxs_defconfig
        ARM: multi_v5_defconfig: Enable initramfs support
        ARM: multi_v5_defconfig: Cleanup multi_v5_defconfig
        ARM: multi_v7_defconfig: enable useful configurations for Vybrid
        ARM: multi_v7_defconfig: add MACH_ARTPEC6
        ARM: omap2plus_defconfig: Enable AT24 eeprom
        ARM: omap2plus_defconfig: Enable TI TVP5150 video decoder support
        ARM: omap2plus_defconfig: Enable ISP support and dependencies
        ARM: omap2plus_defconfig: Enable OMAP IOMMU support
        ARM: socfpga_defconfig: enable support for initramfs/initrd support
        ARM: at91/defconfig: add sama5d2 adc support in sama5_defconfig
        ARM: multi_v7_defconfig: Enable BCM283x
        ARM: bcm2835_defconfig: Enable RPi power domain driver
        ARM: bcm2835_defconfig: Enable RPi firmware driver
        ARM: bcm2835_defconfig: enable ARMv7 support
        ...
      e3b1f64e
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 915c56bc
      Linus Torvalds authored
      Pull ARM 64-bit DT updates from Arnd Bergmann:
       "The arm64 device tree changes make up an increasing portion of the
        overall changes, so they are kept separate from the 32-bit devicetree
        changes and from the other arm64 updates.
      
        Newly added SoCs and boards are:
         - 96Boards Husky board
         - AMD Overdrive board
         - Amlogic S905 SoC and related Tronsmart boxes
         - Annapurna Labs Alpine family and development board
         - Broadcom Vulcan servers
         - Broadcom Northstar 2 SoC
         - Marvell Armada 3700 family and development board
         - Qualcomm MSM8996 SoC
      
        Additional devices are enabled for existing platforms from Applied
        Micro, Hisilicon, Mediatek, Qualcomm, and Renesas and there are a
        couple of other updates for Rockchip, Xilinx and NXP/Freescale"
      
      * tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (102 commits)
        ARM64: dts: amlogic: Add Tronsmart Vega S95 configs
        Documentation: devicetree: amlogic: Document Tronsmart Vega S95 boards
        ARM64: dts: Prepare configs for Amlogic Meson GXBaby
        Documentation: devicetree: amlogic: Document Meson GXBaby
        devicetree: bindings: Add vendor prefix for Tronsmart
        arm64: dts: qcom: Fix MPP's function used for LED control
        arm64: dts: alpine: add the MSIX node in the Alpine v2 dtsi
        arm64: dts: add the Alpine v2 EVP
        arm64: dts: marvell: re-order Device Tree nodes for Armada AP806
        arm64: dts: marvell: update Armada AP806 clock description
        arm64: dts: marvell: add Device Tree files for Armada 7K/8K
        arm64: dts: apm: Add DT node for X-Gene v2 SLIMpro Mailbox I2C Driver
        arm64: dts: apm: Mailbox device tree node for APM X-Gene v2 platform.
        arm64: dts: apm: Add DT node for X-Gene v1 SLIMpro Mailbox I2C Driver
        arm64: dts: apm: mailbox device tree node for APM X-Gene platform.
        arm64: dts: apm: Update GPIO to control power-off on X-Gene v2 platforms
        arm64: dts: apm: Update GPIO standby controller DT node for X-Gene v2 platforms
        arm64: dts: apm: Update GPIO to control power-off on X-Gene v1 platforms
        arm64: dts: salvator-x: enable USB 2.0 Host of channel 1 and 2
        arm64: dts: salvator-x: enable usb2_phy of channel 1 and 2
        ...
      915c56bc
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 5a6b7e53
      Linus Torvalds authored
      Pull ARM DT updates from Arnd Bergmann:
       "These are all the updates to device tree files for 32-bit platforms,
        plus a couple of related 64-bit updates:
      
        New SoC support:
         - Allwinner A83T
         - Axis Artpec-6 SoC
         - Mediatek MT7623 SoC
         - TI Keystone K2G SoC
         - ST Microelectronics stm32f469
      
        New board or machine support:
         - ARM Juno R2
         - Buffalo Linkstation LS-QVL and LS-GL
         - Cubietruck plus
         - D-Link DIR-885L
         - DT support for ARM RealView PB1176 and PB11MPCore
         - Google Nexus 7
         - Homlet v2
         - Itead Ibox
         - Lamobo R1
         - LG Optimus Black
         - Logicpd dm3730
         - Raspberry Pi Model A
      
        Other changes include
         - Lots of updates for Qualcomm APQ8064, MSM8974 and others
         - Improved support for Nokia N900 and other OMAP machines
         - Common clk support for lpc32xx
         - HDLCD display on ARM
         - Improved stm32f429 support
         - Improved Renesas device support, r8a779x and others
         - Lots of Rockchip updates
         - Samsung cleanups
         - ADC support for Atmel SAMA5D2
         - BCM2835 (Raspberry Pi) improvements
         - Broadcom Northstar Plus enhancements
         - OMAP GPMC rework
         - Several improvements for Atmel SAMA5D2 / Xplained
         - Global change to remove inofficial "arm,amba-bus" compatible
           string"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (350 commits)
        ARM, ARM64: dts: drop "arm,amba-bus" in favor of "simple-bus"
        ARM: dts: artpec: dual-license on artpec6.dtsi
        ARM: dts: ux500: add synaptics RMI4 for Ux500 TVK DT
        arm64: dts: juno/vexpress: fix node name unit-address presence warnings
        arm64: dts: foundation-v8: add SBSA Generic Watchdog device node
        ARM: dts: at91: sama5d2 Xplained: add leds node
        ARM: dts: at91: sama5d2 Xplained: add user push button
        ARM: dts: at91: sama5d2 Xplained: set pin muxing for usb gadget and usb host
        ARM: dts: stm32f429: Enable Ethernet on Eval board
        ARM: dts: omap3-sniper: TWL4030 keypad support
        Revert "ARM: dts: DRA7: Add dt nodes for PWMSS"
        ARM: dts: dm814x: dra62x: Disable wait pin monitoring for NAND
        ARM: dts: dm814x: dra62x: Fix NAND device nodes
        ARM: dts: stm32f429: Add Ethernet support
        ARM: dts: stm32f429: Add system config bank node
        ARM: dts: at91: sama5d2: add nand0 and nfc0 nodes
        ARM: dts: at91: sama5d2: add dma properties to UART nodes
        ARM: dts: at91: sama5d2 Xplained: Correct the macb irq pinctrl node
        ARM: dts: exynos: Don't overheat the Odroid XU3-Lite on high load
        ARM: dts: exynos: Add cooling levels for Exynos5422/5800 CPUs
        ...
      5a6b7e53
    • Linus Torvalds's avatar
      Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8c6d4082
      Linus Torvalds authored
      Pull ARM SoC 64-bit changes from Arnd Bergmann:
       "Here's our branch of ARM64 contents for this merge window, now
        containing all ARM64 changes other than device tree files.
      
         - Various new platforms get added:
            * Allwinner A64 SoC
            * Annapurna Labs Alpine SoCs
            * Broadcom Vulcan
            * Marvell Armada 3700 SoCs
            * Amlogic S905
      
         - Various defconfig changes to enable platform specific drivers
      
        This branch includes the clk git tree to resolve a build-time
        dependency"
      
      * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
        arm64: defconfig: Increase MMC_BLOCK_MINORS to 16
        arm64: defconfig: Add Qualcomm sdhci and restart functionality
        ARM64: Enable Amlogic Meson GXBaby platform
        arm64: defconfig: Enable Samsung MFD and related configs
        arm64: alpine: select the Alpine MSI controller driver
        arm64: defconfig: enable the Alpine family
        arm64: add Alpine SoC family
        arm64: defconfig: Enable exynos thermal config
        arm64: add defconfig options for Allwinner SoCs
        arm64: defconfig: Enable DesignWare APB GPIO controller
        arm64: defconfig: Add Renesas R-Car Gen3 USB 2.0 phy driver support
        arm64: EXYNOS: Consolidate ARCH_EXYNOS7 symbol into ARCH_EXYNOS
        clk: samsung: Don't build ARMv8 clock drivers on ARMv7
        MAINTAINERS: Add entry for Broadcom Vulcan SoC
        arm64: cputype info for Broadcom Vulcan
        arm64: Broadcom Vulcan support
        arm64: defconfig: Add Broadcom Vulcan to defconfig
        arm64: update ARCH_MVEBU for Marvell Armada 7K/8K support
        Documentation: arm: add Marvell Armada 7K and 8K families
        Documentation: arm: add link to Armada 38x Functional Spec
        ...
      8c6d4082
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 33b3d2e8
      Linus Torvalds authored
      Pull ARM SoC platform updates from Arnd Bergmann:
       "Newly added support for additional SoCs:
         - Axis Artpec-6 SoC family
         - Allwinner A83T SoC
         - Mediatek MT7623
         - NXP i.MX6QP SoC
         - ST Microelectronics stm32f469 microcontroller
      
        New features:
         - SMP support for Mediatek mt2701
         - Big-endian support for NXP i.MX
         - DaVinci now uses the new DMA engine dma_slave_map
         - OMAP now uses the new DMA engine dma_slave_map
         - earlyprintk support for palmchip uart on mach-tango
         - delay timer support for orion
      
        Other:
         - Exynos PMU driver moved out to drivers/soc/
         - Various smaller updates for Renesas, Xilinx, PXA, AT91, OMAP,
           uniphier"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
        ARM: uniphier: rework SMP code to support new System Bus binding
        ARM: uniphier: add missing of_node_put()
        ARM: at91: avoid defining CONFIG_* symbols in source code
        ARM: DRA7: hwmod: Add data for eDMA tpcc, tptc0, tptc1
        ARM: imx: Make reset_control_ops const
        ARM: imx: Do L2 errata only if the L2 cache isn't enabled
        ARM: imx: select ARM_CPU_SUSPEND only for imx6
        dmaengine: pxa_dma: fix the maximum requestor line
        ARM: alpine: select the Alpine MSI controller driver
        ARM: pxa: add the number of DMA requestor lines
        dmaengine: mmp-pdma: add number of requestors
        dma: mmp_pdma: Add the #dma-requests DT property documentation
        ARM: OMAP2+: Add rtc hwmod configuration for ti81xx
        ARM: s3c24xx: Avoid warning for inb/outb
        ARM: zynq: Move early printk virtual address to vmalloc area
        ARM: DRA7: hwmod: Add custom reset handler for PCIeSS
        ARM: SAMSUNG: Remove unused register offset definition
        ARM: EXYNOS: Cleanup header files inclusion
        drivers: soc: samsung: Enable COMPILE_TEST
        MAINTAINERS: Add maintainers entry for drivers/soc/samsung
        ...
      33b3d2e8
    • Linus Torvalds's avatar
      Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · e88fa1b8
      Linus Torvalds authored
      Pull ARM SoC cleanups from Arnd Bergmann:
       "A few simple cleanups across multiple platforms, not much standing
        out:
      
         - lpc32xx removes its private implementation of the clk API, after
           generic code was merged in 4.5
         - all unused Makefile.boot files get removed
         - a number of simplifications for shmobile
         - asm/clkdev.h gets replaced with the asm-generic version after all
           mach/clkdev.h implementations are gone"
      
      * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: shmobile: Kconfig: Get rid of old comment
        ARM: shmobile: Consolidate SCU mapping code
        arm: lpc32xx: remove direct control of GPIOs from shared mach file
        arm: lpc32xx: remove selected HAVE_IDE
        arm: lpc32xx: switch to common clock framework
        ARM: Use generic clkdev.h header
        ARM: plat-versatile: Remove unused clock.c file
        ARM: netx: remove redundant "depends on ARCH_NETX"
        ARM: integrator: remove redundant select in Kconfig
        ARM: drop unused Makefile.boot of Multiplatform SoCs
        ARM: mvebu: add missing of_node_put()
        ARM: shmobile: r8a7779: Remove remainings of removed SCU boot setup code
        ARM: shmobile: Typo s/MIPDR/MPIDR/
        ARM: shmobile: Add includes providing forward declarations
        ARM: shmobile: rcar-gen2: Make rcar_gen2_dma_contiguous static
        ARM: mv78xx0: use "depends on" instead of "if" after prompt
      e88fa1b8
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · dae0b74e
      Linus Torvalds authored
      Pull ARM SoC non-urgent fixes from Arnd Bergmann:
       "As usual, we queue up a few fixes that don't seem urgent enough to go
        in through -rc.
      
         - a number of randconfig warning fixes from Arnd
         - various small fixes for OMAP
         - one somewhat larger patch to restore the OMAP3 cpuidle tuning that
           was lost in a cleanup
         - a small regression fix for cns3xxx PCI"
      
      * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (26 commits)
        CNS3xxx: Fix PCI cns3xxx_write_config()
        MAINTAINERS: unify email addrs for Kevin Hilman
        CNS3xxx: remove unused *_VIRT definitions
        ARM: OMAP2+: Fix hwmod clock for l4_ls
        soc: TI knav_qmss: fix dma_addr_t printing
        ARM: prima2: always enable reset controller
        ARM: socfpga: hide unused functions
        ARM: ux500: fix ureachable iounmap()
        ARM: ks8695: fix __initdata annotation
        ARM: mvebu: mark mvebu_hwcc_pci_nb as __maybe_unused
        ARM: mv78xx0: avoid unused function warning
        ARM: orion: only select I2C_BOARDINFO when using I2C
        ARM: OMAP2+: Fix out of range register access with syscon_config.max_register
        ARM: OMAP3: Add cpuidle parameters table for omap3430
        ARM: davinci: make I2C support optional
        ARM: davinci: DA8xx+DMx combined kernels need PATCH_PHYS_VIRT
        ARM: davinci: avoid unused mityomapl138_pn_info variable
        ARM: davinci: limit DT support to DA850
        ARM: DRA7: hwmod: Add reset data for PCIe
        ARM: DRA7: hwmod: Fix OCP2SCP sysconfig
        ...
      dae0b74e
    • Ard Biesheuvel's avatar
      x86/kallsyms: fix GOLD link failure with new relative kallsyms table format · 142b9e6c
      Ard Biesheuvel authored
      Commit 2213e9a6 ("kallsyms: add support for relative offsets in
      kallsyms address table") changed the default kallsyms symbol table
      format to use relative references rather than absolute addresses.
      
      This reduces the size of the kallsyms symbol table by 50% on 64-bit
      architectures, and further reduces the size of the relocation tables
      used by relocatable kernels.  Since the memory footprint of the static
      kernel image is always much smaller than 4 GB, these relative references
      are assumed to be representable in 32 bits, even when the native word
      size is 64 bits.
      
      On 64-bit architectures, this obviously only works if the distance
      between each relative reference and the chosen anchor point is
      representable in 32 bits, and so the table generation code in
      scripts/kallsyms.c scans the table for the lowest value that is covered
      by the kernel text, and selects it as the anchor point.
      
      However, when using the GOLD linker rather than the default BFD linker
      to build the x86_64 kernel, the symbol phys_offset_64, which is the
      result of arithmetic defined in the linker script, is emitted as a 'T'
      rather than an 'A' type symbol, resulting in scripts/kallsyms.c to
      mistake it for a suitable anchor point, even though it is far away from
      the actual kernel image in the virtual address space.  This results in
      out-of-range warnings from scripts/kallsyms.c and a broken build.
      
      So let's align with the BFD linker, and emit the phys_offset_[32|64]
      symbols as absolute symbols explicitly.  Note that the out of range
      issue does not exist on 32-bit x86, but this patch changes both symbols
      for symmetry.
      Reported-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      142b9e6c
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · f0691533
      Linus Torvalds authored
      Pull virtio/vhost updates from Michael Tsirkin:
       "New features, performance improvements, cleanups:
      
         - basic polling support for vhost
         - rework virtio to optionally use DMA API, fixing it on Xen
         - balloon stats gained a new entry
         - using the new napi_alloc_skb speeds up virtio net
         - virtio blk stats can now be read while another VCPU is busy
           inflating or deflating the balloon
      
        plus misc cleanups in various places"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio_net: replace netdev_alloc_skb_ip_align() with napi_alloc_skb()
        vhost_net: basic polling support
        vhost: introduce vhost_vq_avail_empty()
        vhost: introduce vhost_has_work()
        virtio_balloon: Allow to resize and update the balloon stats in parallel
        virtio_balloon: Use a workqueue instead of "vballoon" kthread
        virtio/s390: size of SET_IND payload
        virtio/s390: use dev_to_virtio
        vhost: rename vhost_init_used()
        vhost: rename cross-endian helpers
        virtio_blk: VIRTIO_BLK_F_WCE->VIRTIO_BLK_F_FLUSH
        vring: Use the DMA API on Xen
        virtio_pci: Use the DMA API if enabled
        virtio_mmio: Use the DMA API if enabled
        virtio: Add improved queue allocation API
        virtio_ring: Support DMA APIs
        vring: Introduce vring_use_dma_api()
        s390/dma: Allow per device dma ops
        alpha/dma: use common noop dma ops
        dma: Provide simple noop dma ops
      f0691533
    • Linus Torvalds's avatar
      Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration · 2b2f72d8
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - mailbox bindings and drivers for
           * APM X-Gene
           * Hisilicon Hi6220
           * Rockchip RK3368
         platforms
      
       - minor fixes to the above three drivers.
      
       - misc cleanups of mailbox-test driver.
      
      * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        mailbox: rockchip: avoid 64-bit division
        mailbox: rockchip: Add Rockchip mailbox driver
        dt-bindings: rockchip-mailbox: Add mailbox controller document on Rockchip SoCs
        mailbox/xgene-slimpro: Checking for IS_ERR instead of NULL
        mailbox: Hi6220: add mailbox driver
        dt-bindings: mailbox: Document Hi6220 mailbox driver
        mailbox: mailbox-test: add support for separate tx/rx buffer with single channel
        mailbox: mailbox-test: use print_hex_dump_bytes to allow dynamic printk
        mailbox: mailbox-test: fix the compatible string
        mailbox: mailbox-test: rename driver as generic test driver
        Documentation: mailbox: Add APM X-Gene SLIMpro mailbox dts documentation
        mailbox: Add support for APM X-Gene platform mailbox driver
      2b2f72d8