1. 24 Aug, 2017 11 commits
    • Randy Dodgen's avatar
      ext4: fix fault handling when mounted with -o dax,ro · fd96b8da
      Randy Dodgen authored
      If an ext4 filesystem is mounted with both the DAX and read-only
      options, executables on that filesystem will fail to start (claiming
      'Segmentation fault') due to the fault handler returning
      VM_FAULT_SIGBUS.
      
      This is due to the DAX fault handler (see ext4_dax_huge_fault)
      attempting to write to the journal when FAULT_FLAG_WRITE is set. This is
      the wrong behavior for write faults which will lead to a COW page; in
      particular, this fails for readonly mounts.
      
      This change avoids journal writes for faults that are expected to COW.
      
      It might be the case that this could be better handled in
      ext4_iomap_begin / ext4_iomap_end (called via iomap_ops inside
      dax_iomap_fault). These is some overlap already (e.g. grabbing journal
      handles).
      Signed-off-by: default avatarRandy Dodgen <dodgen@google.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Reviewed-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      fd96b8da
    • zhangyi (F)'s avatar
      ext4: fix quota inconsistency during orphan cleanup for read-only mounts · 95f1fda4
      zhangyi (F) authored
      Quota does not get enabled for read-only mounts if filesystem
      has quota feature, so that quotas cannot updated during orphan
      cleanup, which will lead to quota inconsistency.
      
      This patch turn on quotas during orphan cleanup for this case,
      make sure quotas can be updated correctly.
      Reported-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarzhangyi (F) <yi.zhang@huawei.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Cc: stable@vger.kernel.org # 3.18+
      95f1fda4
    • zhangyi (F)'s avatar
      ext4: fix incorrect quotaoff if the quota feature is enabled · b0a5a958
      zhangyi (F) authored
      Current ext4 quota should always "usage enabled" if the
      quota feautre is enabled. But in ext4_orphan_cleanup(), it
      turn quotas off directly (used for the older journaled
      quota), so we cannot turn it on again via "quotaon" unless
      umount and remount ext4.
      
      Simple reproduce:
      
        mkfs.ext4 -O project,quota /dev/vdb1
        mount -o prjquota /dev/vdb1 /mnt
        chattr -p 123 /mnt
        chattr +P /mnt
        touch /mnt/aa /mnt/bb
        exec 100<>/mnt/aa
        rm -f /mnt/aa
        sync
        echo c > /proc/sysrq-trigger
      
        #reboot and mount
        mount -o prjquota /dev/vdb1 /mnt
        #query status
        quotaon -Ppv /dev/vdb1
        #output
        quotaon: Cannot find mountpoint for device /dev/vdb1
        quotaon: No correct mountpoint specified.
      
      This patch add check for journaled quotas to avoid incorrect
      quotaoff when ext4 has quota feautre.
      Signed-off-by: default avatarzhangyi (F) <yi.zhang@huawei.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Cc: stable@vger.kernel.org # 3.18
      b0a5a958
    • Damien Guibouret's avatar
      ext4: remove useless test and assignment in strtohash functions · 918dc9d0
      Damien Guibouret authored
      On transformation of str to hash, computed value is initialised before
      first byte modulo 4. But it is already initialised before entering loop
      and after processing last byte modulo 4. So the corresponding test and
      initialisation could be removed.
      Signed-off-by: default avatarDamien Guibouret <damien.guibouret@partition-saving.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      918dc9d0
    • Tahsin Erdogan's avatar
      ext4: backward compatibility support for Lustre ea_inode implementation · a6d05676
      Tahsin Erdogan authored
      Original Lustre ea_inode feature did not have ref counts on xattr inodes
      because there was always one parent that referenced it. New
      implementation expects ref count to be initialized which is not true for
      Lustre case. Handle this by detecting Lustre created xattr inode and set
      its ref count to 1.
      
      The quota handling of xattr inodes have also changed with deduplication
      support. New implementation manually manages quotas to support sharing
      across multiple users. A consequence is that, a referencing inode
      incorporates the blocks of xattr inode into its own i_block field.
      
      We need to know how a xattr inode was created so that we can reverse the
      block charges during reference removal. This is handled by introducing a
      EXT4_STATE_LUSTRE_EA_INODE flag. The flag is set on a xattr inode if
      inode appears to have been created by Lustre. During xattr inode reference
      removal, the manual quota uncharge is skipped if the flag is set.
      Signed-off-by: default avatarTahsin Erdogan <tahsin@google.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      a6d05676
    • Christoph Hellwig's avatar
      ext4: remove timebomb in ext4_decode_extra_time() · eaa093d2
      Christoph Hellwig authored
      Changing behavior based on the version code is a timebomb waiting to
      happen, and not easily bisectable.  Drop it and leave any removal
      to explicit developer action. (And I don't think file system
      should _ever_ remove backwards compatibility that has no explicit
      flag, but I'll leave that to the ext4 folks).
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarEric Biggers <ebiggers@google.com>
      eaa093d2
    • Markus Elfring's avatar
      ext4: use sizeof(*ptr) · d695a1be
      Markus Elfring authored
      Replace the specification of data structures by pointer dereferences
      as the parameter for the operator "sizeof" to make the corresponding size
      determination a bit safer according to the Linux coding style convention.
      
      This issue was detected by using the Coccinelle software.
      Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarEric Sandeen <sandeen@redhat.com>
      d695a1be
    • Darrick J. Wong's avatar
      ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets · 1bd8d6cd
      Darrick J. Wong authored
      In the ext4 implementations of SEEK_HOLE and SEEK_DATA, make sure we
      return -ENXIO for negative offsets instead of banging around inside
      the extent code and returning -EFSCORRUPTED.
      Reported-by: default avatarMateusz S <muttdini@gmail.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Cc: stable@vger.kernel.org # 4.6
      1bd8d6cd
    • Wang Shilong's avatar
      ext4: reduce lock contention in __ext4_new_inode · 901ed070
      Wang Shilong authored
      While running number of creating file threads concurrently,
      we found heavy lock contention on group spinlock:
      
      FUNC                           TOTAL_TIME(us)       COUNT        AVG(us)
      ext4_create                    1707443399           1440000      1185.72
      _raw_spin_lock                 1317641501           180899929    7.28
      jbd2__journal_start            287821030            1453950      197.96
      jbd2_journal_get_write_access  33441470             73077185     0.46
      ext4_add_nondir                29435963             1440000      20.44
      ext4_add_entry                 26015166             1440049      18.07
      ext4_dx_add_entry              25729337             1432814      17.96
      ext4_mark_inode_dirty          12302433             5774407      2.13
      
      most of cpu time blames to _raw_spin_lock, here is some testing
      numbers with/without patch.
      
      Test environment:
      Server : SuperMicro Sever (2 x E5-2690 v3@2.60GHz, 128GB 2133MHz
               DDR4 Memory, 8GbFC)
      Storage : 2 x RAID1 (DDN SFA7700X, 4 x Toshiba PX02SMU020 200GB
                Read Intensive SSD)
      
      format command:
              mkfs.ext4 -J size=4096
      
      test command:
              mpirun -np 48 mdtest -n 30000 -d /ext4/mdtest.out -F -C \
                      -r -i 1 -v -p 10 -u #first run to load inode
      
              mpirun -np 48 mdtest -n 30000 -d /ext4/mdtest.out -F -C \
                      -r -i 3 -v -p 10 -u
      
      Kernel version: 4.13.0-rc3
      
      Test  1,440,000 files with 48 directories by 48 processes:
      
      Without patch:
      
      File Creation   File removal
      79,033          289,569 ops/per second
      81,463          285,359
      79,875          288,475
      
      With patch:
      File Creation   File removal
      810669		301694
      812805		302711
      813965		297670
      
      Creation performance is improved more than 10X with large
      journal size. The main problem here is we test bitmap
      and do some check and journal operations which could be
      slept, then we test and set with lock hold, this could
      be racy, and make 'inode' steal by other process.
      
      However, after first try, we could confirm handle has
      been started and inode bitmap journaled too, then
      we could find and set bit with lock hold directly, this
      will mostly gurateee success with second try.
      Tested-by: default avatarShuichi Ihara <sihara@ddn.com>
      Signed-off-by: default avatarWang Shilong <wshilong@ddn.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      901ed070
    • Wang Shilong's avatar
      ext4: cleanup goto next group · 2fe435d8
      Wang Shilong authored
      avoid duplicated codes, also we need goto
      next group in case we found reserved inode.
      Signed-off-by: default avatarWang Shilong <wshilong@ddn.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      2fe435d8
    • Jan Kara's avatar
      ext4: do not unnecessarily allocate buffer in recently_deleted() · 4f9d956d
      Jan Kara authored
      In recently_deleted() function we want to check whether inode is still
      cached in buffer cache. Use sb_find_get_block() for that instead of
      sb_getblk() to avoid unnecessary allocation of bdev page and buffer
      heads.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      4f9d956d
  2. 14 Aug, 2017 2 commits
  3. 07 Aug, 2017 1 commit
  4. 06 Aug, 2017 14 commits
  5. 05 Aug, 2017 7 commits
    • Andreas Dilger's avatar
      ext4: fix dir_nlink behaviour · c7414892
      Andreas Dilger authored
      The dir_nlink feature has been enabled by default for new ext4
      filesystems since e2fsprogs-1.41 in 2008, and was automatically
      enabled by the kernel for older ext4 filesystems since the
      dir_nlink feature was added with ext4 in kernel 2.6.28+ when
      the subdirectory count exceeded EXT4_LINK_MAX-1.
      
      Automatically adding the file system features such as dir_nlink is
      generally frowned upon, since it could cause the file system to not be
      mountable on older kernel, thus preventing the administrator from
      rolling back to an older kernel if necessary.
      
      In this case, the administrator might also want to disable the feature
      because glibc's fts_read() function does not correctly optimize
      directory traversal for directories that use st_nlinks field of 1 to
      indicate that the number of links in the directory are not tracked by
      the file system, and could fail to traverse the full directory
      hierarchy.  Fortunately, in the past ten years very few users have
      complained about incomplete file system traversal by glibc's
      fts_read().
      
      This commit also changes ext4_inc_count() to allow i_nlinks to reach
      the full EXT4_LINK_MAX links on the parent directory (including "."
      and "..") before changing i_links_count to be 1.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=196405Signed-off-by: default avatarAndreas Dilger <adilger@dilger.ca>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      c7414892
    • Dan Carpenter's avatar
      ext4: silence array overflow warning · 381cebfe
      Dan Carpenter authored
      I get a static checker warning:
      
          fs/ext4/ext4.h:3091 ext4_set_de_type()
          error: buffer overflow 'ext4_type_by_mode' 15 <= 15
      
      It seems unlikely that we would hit this read overflow in real life, but
      it's also simple enough to make the array 16 bytes instead of 15.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      381cebfe
    • Jan Kara's avatar
      ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize · fcf5ea10
      Jan Kara authored
      ext4_find_unwritten_pgoff() does not properly handle a situation when
      starting index is in the middle of a page and blocksize < pagesize. The
      following command shows the bug on filesystem with 1k blocksize:
      
        xfs_io -f -c "falloc 0 4k" \
                  -c "pwrite 1k 1k" \
                  -c "pwrite 3k 1k" \
                  -c "seek -a -r 0" foo
      
      In this example, neither lseek(fd, 1024, SEEK_HOLE) nor lseek(fd, 2048,
      SEEK_DATA) will return the correct result.
      
      Fix the problem by neglecting buffers in a page before starting offset.
      Reported-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      CC: stable@vger.kernel.org # 3.8+
      fcf5ea10
    • Mario Limonciello's avatar
      platform/x86: intel-vbtn: match power button on press rather than release · 946da699
      Mario Limonciello authored
      This fixes a problem where the system gets stuck in a loop
      unable to wakeup via power button in s2idle.
      
      The problem happens because:
       - press power button:
         - system emits 0xc0 (power press), event ignored
         - system emits 0xc1 (power release), event processed,
           emited as KEY_POWER
         - set wakeup_mode to true
         - system goes to s2idle
       - press power button
         - system emits 0xc0 (power press), wakeup_mode is true,
           system wakes
         - system emits 0xc1 (power release), event processed,
           emited as KEY_POWER
         - system goes to s2idle again
      
      To avoid this situation, process the presses (which matches what
      intel-hid does too).
      
      Verified on an Dell XPS 9365
      Signed-off-by: default avatarMario Limonciello <mario.limonciello@dell.com>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarDarren Hart (VMware) <dvhart@infradead.org>
      946da699
    • Linus Torvalds's avatar
      Merge tag 'media/v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 0fdd951c
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
       "This series is larger than I would like to submit for -rc4. My
        original intent were to sent it to either -rc2 or -rc3. Unfortunately,
        due to my vacations, I got a lot of pending stuff after my return, and
        had to do some biz trips, with prevented me to send this earlier.
      
        Several fixes:
      
         - some fixes at atomisp staging driver
      
         - several gcc 7 warning fixes
      
         - cleanup media SVG files, in order to fix PDF build on some distros
      
         - fix random Kconfig build of venus driver
      
         - some fixes for the venus driver
      
         - some changes from semaphone to mutex in ngene's driver
      
         - some locking fixes at dib0700 driver
      
         - several fixes on ngene's driver and frontends to make it properly
           support some new boards added on Kernel 4.13
      
         - some fixes to CEC drivers
      
         - omap_vout: vrfb: convert to dmaengine
      
         - docs-rst: document EBUSY for VIDIOC_S_FMT
      
        Please notice that the big diffstat changes here are at the SVG files.
      
        Visually, the images look the same, but the file size is now a lot
        smaller than before, and they don't use some XML tags that would cause
        them to be badly parsed by some ImageMagick versions, or to require a
        lot of memory by TeTex, with would break PDF output on some
        distributions"
      
      * tag 'media/v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (68 commits)
        media: atomisp2: array underflow in imx_enum_frame_size()
        media: atomisp2: array underflow in ap1302_enum_frame_size()
        media: atomisp2: Array underflow in atomisp_enum_input()
        media: platform: davinci: drop VPFE_CMD_S_CCDC_RAW_PARAMS
        media: platform: davinci: return -EINVAL for VPFE_CMD_S_CCDC_RAW_PARAMS ioctl
        media: venus: don't abuse dma_alloc for non-DMA allocations
        media: venus: hfi: fix error handling in hfi_sys_init_done()
        media: venus: fix compile-test build on non-qcom ARM platform
        media: venus: mark PM functions as __maybe_unused
        media: cec-notifier: small improvements
        media: pulse8-cec: persistent_config should be off by default
        media: cec: cec_transmit_attempt_done: ignore CEC_TX_STATUS_MAX_RETRIES
        media: staging: atomisp: array underflow in ioctl
        media: lirc: LIRC_GET_REC_RESOLUTION should return microseconds
        media: svg: avoid too long lines
        media: svg files: simplify files
        media: selection.svg: simplify the SVG file
        media: vimc: set id_table for platform drivers
        media: staging: atomisp: disable warnings with cc-disable-warning
        media: davinci: variable 'common' set but not used
        ...
      0fdd951c
    • Daeho Jeong's avatar
      ext4: release discard bio after sending discard commands · e4510577
      Daeho Jeong authored
      We've changed the discard command handling into parallel manner.
      But, in this change, I forgot decreasing the usage count of the bio
      which was used to send discard request. I'm sorry about that.
      
      Fixes: a0154344 ("ext4: send parallel discards on commit completions")
      Signed-off-by: default avatarDaeho Jeong <daeho.jeong@samsung.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      e4510577
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · aab7761c
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
      
       - LP87565: set the proper output level for direction_output.
      
       - stm32: fix the kernel build by selecting the hierarchical irqdomain
         symbol properly - this happens to be done in the pin control
         framework but whatever, it had dependencies to GPIO so we need to
         apply it here.
      
       - Select the hierarchical IRQ domain also for Xgene.
      
       - Fix wakeups to work on MXC.
      
       - Fix up the device tree binding on Exar that went astray, also add the
         right bindings.
      
       - Fix the unwanted events for edges from the library.
      
       - Fix the unbalanced chanined IRQ on the Tegra.
      
      * tag 'gpio-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: tegra: fix unbalanced chained_irq_enter/exit
        gpiolib: skip unwanted events, don't convert them to opposite edge
        gpio: exar: Use correct property prefix and document bindings
        gpio: gpio-mxc: Fix: higher 16 GPIOs usable as wake source
        gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY
        pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on
        gpio: lp87565: Set proper output level and direction for direction_output
        MAINTAINERS: Add entry for Whiskey Cove PMIC GPIO driver
      aab7761c
  6. 04 Aug, 2017 5 commits
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · ef9ca02b
      Linus Torvalds authored
      Pull clk fixes from Stephen Boyd:
       "A handful of critical fixes for changes introduce this merge window.
      
         - The TI sci_clk_get() API was pretty broken and nobody noticed.
      
         - There were some CPUfreq crashes on C.H.I.P devices because we
           failed to propagate rates up the clk tree.
      
         - Also, the Intel Atom PMC clk driver needs to mark a clk critical if
           the firmware has it enabled already so that audio doesn't get
           killed on Baytrail.
      
         - Gemini devices have a dead serial console because the reset control
           usage in the serial driver assume one method of reset that gemini
           doesn't support (this will be fixed in the next version in the
           reset framework so this is the small fix for -rc series).
      
         - Finally we have two rate calculation fixes, one for Exynos and one
           for Meson SoCs, that fix rate inconsistencies"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: keystone: sci-clk: Fix sci_clk_get
        clk: meson: mpll: fix mpll0 fractional part ignored
        clk: samsung: exynos5420: The EPLL rate table corrections
        clk: sunxi-ng: sun5i: Add clk_set_rate_parent to the CPU clock
        clk: x86: Do not gate clocks enabled by the firmware
        clk: gemini: Fix reset regression
      ef9ca02b
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 69995074
      Linus Torvalds authored
      Pull KVM fixes from Radim Krčmář:
       "ARM:
      
         - Yet another race with VM destruction plugged
      
         - A set of small vgic fixes
      
        x86:
      
         - Preserve pending INIT
      
         - RCU fixes in paravirtual async pf, VM teardown, and VMXOFF
           emulation
      
         - nVMX interrupt injection and dirty tracking fixes
      
         - initialize to make UBSAN happy"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: arm/arm64: vgic: Use READ_ONCE fo cmpxchg
        KVM: nVMX: Fix interrupt window request with "Acknowledge interrupt on exit"
        KVM: nVMX: mark vmcs12 pages dirty on L2 exit
        kvm: nVMX: don't flush VMCS12 during VMXOFF or VCPU teardown
        KVM: nVMX: do not pin the VMCS12
        KVM: avoid using rcu_dereference_protected
        KVM: X86: init irq->level in kvm_pv_kick_cpu_op
        KVM: X86: Fix loss of pending INIT due to race
        KVM: async_pf: make rcu irq exit if not triggered from idle task
        KVM: nVMX: fixes to nested virt interrupt injection
        KVM: nVMX: do not fill vm_exit_intr_error_code in prepare_vmcs12
        KVM: arm/arm64: Handle hva aging while destroying the vm
        KVM: arm/arm64: PMU: Fix overflow interrupt injection
        KVM: arm/arm64: Fix bug in advertising KVM_CAP_MSI_DEVID capability
      69995074
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0d5b9944
      Linus Torvalds authored
      Pull x86 fix from Thomas Gleixner:
       "The recent irq core changes unearthed API abuse in the HPET code,
        which manifested itself in a suspend/resume regression.
      
        The fix replaces the cruft with the proper function calls and cures
        the regression"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/hpet: Cure interface abuse in the resume path
      0d5b9944
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d1faa3e7
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "A single fix for a multiplication overflow in the timer code on 32bit
        systems"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timers: Fix overflow in get_next_timer_interrupt
      d1faa3e7
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 65f4740e
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "This comes a bit later than I planned, and as a consequence is a
        larger than it should be.
      
        Most of the changes are devicetree fixes, across lots of platforms:
        Renesas, Samsung Exynos, Marvell EBU, TI OMAP, Rockchips, Amlogic
        Meson, Sigma Desings Tango, Allwinner SUNxi and TI Davinci.
      
        Also across many platforms, I applied an older series of simple
        randconfig build fixes. This includes making the CONFIG_MTD_XIP option
        compile again, which had been broken for many years and probably has
        not been missed, but it felt wrong to just remove it completely.
      
        The only other changes are:
      
         - We enable HWSPINLOCK in defconfig to get some Qualcomm boards to
           work out of the box.
      
         - A few regression fixes for Texas Instruments OMAP2+.
      
         - A boot regression fix for the Renesas regulator quirk.
      
         - A suspend/resume fix for Uniphier SoCs, fixing the resume of the
           system bus"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
        ARM: dts: tango4: Request RGMII RX and TX clock delays
        bus: uniphier-system-bus: set up registers when resuming
        ARM64: dts: marvell: armada-37xx: Fix the number of GPIO on south bridge
        ARM: shmobile: rcar-gen2: Fix deadlock in regulator quirk
        arm64: defconfig: enable missing HWSPINLOCK
        ARM: pxa: select both FB and FB_W100 for eseries
        ARM: ixp4xx: fix ioport_unmap definition
        ARM: ep93xx: use ARM_PATCH_PHYS_VIRT correctly
        ARM: mmp: mark usb_dma_mask as __maybe_unused
        ARM: omap2: mark unused functions as __maybe_unused
        ARM: omap1: avoid unused variable warning
        ARM: sirf: mark sirfsoc_init_late as __maybe_unused
        ARM: ixp4xx: use normal prototype for {read,write}s{b,w,l}
        ARM: omap1/ams-delta: warn about failed regulator enable
        ARM: rpc: rename RAM_SIZE macro
        ARM: w90x900: normalize clk API
        ARM: ep93xx: normalize clk API
        ARM: dts: sun8i: a83t: Switch to CCU device tree binding macros
        arm64: allwinner: sun50i-a64: Correct emac register size
        ARM: dts: sunxi: h3/h5: Correct emac register size
        ...
      65f4740e