1. 09 8月, 2017 5 次提交
  2. 07 8月, 2017 8 次提交
    • J
      arm64: Decode information from ESR upon mem faults · 1f9b8936
      Julien Thierry 提交于
      When receiving unhandled faults from the CPU, description is very sparse.
      Adding information about faults decoded from ESR.
      
      Added defines to esr.h corresponding ESR fields. Values are based on ARM
      Archtecture Reference Manual (DDI 0487B.a), section D7.2.28 ESR_ELx, Exception
      Syndrome Register (ELx) (pages D7-2275 to D7-2280).
      
      New output is of the form:
      [   77.818059] Mem abort info:
      [   77.820826]   Exception class = DABT (current EL), IL = 32 bits
      [   77.826706]   SET = 0, FnV = 0
      [   77.829742]   EA = 0, S1PTW = 0
      [   77.832849] Data abort info:
      [   77.835713]   ISV = 0, ISS = 0x00000070
      [   77.839522]   CM = 0, WnR = 1
      Signed-off-by: NJulien Thierry <julien.thierry@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      [catalin.marinas@arm.com: fix "%lu" in a pr_alert() call]
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      1f9b8936
    • D
      arm64: Abstract syscallno manipulation · 17c28958
      Dave Martin 提交于
      The -1 "no syscall" value is written in various ways, shared with
      the user ABI in some places, and generally obscure.
      
      This patch attempts to make things a little more consistent and
      readable by replacing all these uses with a single #define.  A
      couple of symbolic helpers are provided to clarify the intent
      further.
      
      Because the in-syscall check in do_signal() is changed from >= 0 to
      != NO_SYSCALL by this patch, different behaviour may be observable
      if syscallno is set to values less than -1 by a tracer.  However,
      this is not different from the behaviour that is already observable
      if a tracer sets syscallno to a value >= __NR_(compat_)syscalls.
      
      It appears that this can cause spurious syscall restarting, but
      that is not a new behaviour either, and does not appear harmful.
      Signed-off-by: NDave Martin <Dave.Martin@arm.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      17c28958
    • D
      arm64: syscallno is secretly an int, make it official · 35d0e6fb
      Dave Martin 提交于
      The upper 32 bits of the syscallno field in thread_struct are
      handled inconsistently, being sometimes zero extended and sometimes
      sign-extended.  In fact, only the lower 32 bits seem to have any
      real significance for the behaviour of the code: it's been OK to
      handle the upper bits inconsistently because they don't matter.
      
      Currently, the only place I can find where those bits are
      significant is in calling trace_sys_enter(), which may be
      unintentional: for example, if a compat tracer attempts to cancel a
      syscall by passing -1 to (COMPAT_)PTRACE_SET_SYSCALL at the
      syscall-enter-stop, it will be traced as syscall 4294967295
      rather than -1 as might be expected (and as occurs for a native
      tracer doing the same thing).  Elsewhere, reads of syscallno cast
      it to an int or truncate it.
      
      There's also a conspicuous amount of code and casting to bodge
      around the fact that although semantically an int, syscallno is
      stored as a u64.
      
      Let's not pretend any more.
      
      In order to preserve the stp x instruction that stores the syscall
      number in entry.S, this patch special-cases the layout of struct
      pt_regs for big endian so that the newly 32-bit syscallno field
      maps onto the low bits of the stored value.  This is not beautiful,
      but benchmarking of the getpid syscall on Juno suggests indicates a
      minor slowdown if the stp is split into an stp x and stp w.
      Signed-off-by: NDave Martin <Dave.Martin@arm.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      35d0e6fb
    • L
      Linux 4.13-rc4 · aae4e7a8
      Linus Torvalds 提交于
      aae4e7a8
    • L
      Merge tag 'platform-drivers-x86-v4.13-4' of git://git.infradead.org/linux-platform-drivers-x86 · acdae9ee
      Linus Torvalds 提交于
      Pull x86 platform driver fix from Darren Hart:
       "Fix loop preventing some platforms from waking up via the power button
        in s2idle:
      
         - intel-vbtn: match power button on press rather than release"
      
      * tag 'platform-drivers-x86-v4.13-4' of git://git.infradead.org/linux-platform-drivers-x86:
        platform/x86: intel-vbtn: match power button on press rather than release
      acdae9ee
    • L
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · ed66da11
      Linus Torvalds 提交于
      Pull ext4 fixes from Ted Ts'o:
       "A large number of ext4 bug fixes and cleanups for v4.13"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: fix copy paste error in ext4_swap_extents()
        ext4: fix overflow caused by missing cast in ext4_resize_fs()
        ext4, project: expand inode extra size if possible
        ext4: cleanup ext4_expand_extra_isize_ea()
        ext4: restructure ext4_expand_extra_isize
        ext4: fix forgetten xattr lock protection in ext4_expand_extra_isize
        ext4: make xattr inode reads faster
        ext4: inplace xattr block update fails to deduplicate blocks
        ext4: remove unused mode parameter
        ext4: fix warning about stack corruption
        ext4: fix dir_nlink behaviour
        ext4: silence array overflow warning
        ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize
        ext4: release discard bio after sending discard commands
        ext4: convert swap_inode_data() over to use swap() on most of the fields
        ext4: error should be cleared if ea_inode isn't added to the cache
        ext4: Don't clear SGID when inheriting ACLs
        ext4: preserve i_mode if __ext4_set_acl() fails
        ext4: remove unused metadata accounting variables
        ext4: correct comment references to ext4_ext_direct_IO()
      ed66da11
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 6ea1bc9b
      Linus Torvalds 提交于
      Pull MIPS fixes from Ralf Baechle:
       "This fixes two build issues for ralink platforms, both due to missing
        #includes which used to be included indirectly via other headers"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: ralink: mt7620: Add missing header
        MIPS: ralink: Fix build error due to missing header
      6ea1bc9b
    • D
      Fix compat_sys_sigpending breakage · fbb77611
      Dmitry V. Levin 提交于
      The latest change of compat_sys_sigpending in commit 8f13621a
      ("sigpending(): move compat to native") has broken it in two ways.
      
      First, it tries to write 4 bytes more than userspace expects:
      sizeof(old_sigset_t) == sizeof(long) == 8 instead of
      sizeof(compat_old_sigset_t) == sizeof(u32) == 4.
      
      Second, on big endian architectures these bytes are being written in the
      wrong order.
      
      This bug was found by strace test suite.
      Reported-by: NAnatoly Pugachev <matorola@gmail.com>
      Inspired-by: NEugene Syromyatnikov <evgsyr@gmail.com>
      Fixes: 8f13621a ("sigpending(): move compat to native")
      Signed-off-by: NDmitry V. Levin <ldv@altlinux.org>
      Acked-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fbb77611
  3. 06 8月, 2017 16 次提交
    • M
      ext4: fix copy paste error in ext4_swap_extents() · 4e562013
      Maninder Singh 提交于
      This bug was found by a static code checker tool for copy paste
      problems.
      Signed-off-by: NManinder Singh <maninder1.s@samsung.com>
      Signed-off-by: NVaneet Narang <v.narang@samsung.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      4e562013
    • J
      ext4: fix overflow caused by missing cast in ext4_resize_fs() · aec51758
      Jerry Lee 提交于
      On a 32-bit platform, the value of n_blcoks_count may be wrong during
      the file system is resized to size larger than 2^32 blocks.  This may
      caused the superblock being corrupted with zero blocks count.
      
      Fixes: 1c6bd717Signed-off-by: NJerry Lee <jerrylee@qnap.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      Cc: stable@vger.kernel.org # 3.7+
      aec51758
    • M
      ext4, project: expand inode extra size if possible · c03b45b8
      Miao Xie 提交于
      When upgrading from old format, try to set project id
      to old file first time, it will return EOVERFLOW, but if
      that file is dirtied(touch etc), changing project id will
      be allowed, this might be confusing for users, we could
      try to expand @i_extra_isize here too.
      Reported-by: NZhang Yi <yi.zhang@huawei.com>
      Signed-off-by: NMiao Xie <miaoxie@huawei.com>
      Signed-off-by: NWang Shilong <wshilong@ddn.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      c03b45b8
    • M
      ext4: cleanup ext4_expand_extra_isize_ea() · b640b2c5
      Miao Xie 提交于
      Clean up some goto statement, make ext4_expand_extra_isize_ea() clearer.
      Signed-off-by: NMiao Xie <miaoxie@huawei.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: NWang Shilong <wshilong@ddn.com>
      b640b2c5
    • M
      ext4: restructure ext4_expand_extra_isize · cf0a5e81
      Miao Xie 提交于
      Current ext4_expand_extra_isize just tries to expand extra isize, if
      someone is holding xattr lock or some check fails, it will give up.
      So rename its name to ext4_try_to_expand_extra_isize.
      
      Besides that, we clean up unnecessary check and move some relative checks
      into it.
      Signed-off-by: NMiao Xie <miaoxie@huawei.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: NWang Shilong <wshilong@ddn.com>
      cf0a5e81
    • M
      ext4: fix forgetten xattr lock protection in ext4_expand_extra_isize · 3b10fdc6
      Miao Xie 提交于
      We should avoid the contention between the i_extra_isize update and
      the inline data insertion, so move the xattr trylock in front of
      i_extra_isize update.
      Signed-off-by: NMiao Xie <miaoxie@huawei.com>
      Reviewed-by: NWang Shilong <wshilong@ddn.com>
      3b10fdc6
    • T
      ext4: make xattr inode reads faster · 9699d4f9
      Tahsin Erdogan 提交于
      ext4_xattr_inode_read() currently reads each block sequentially while
      waiting for io operation to complete before moving on to the next
      block. This prevents request merging in block layer.
      
      Add a ext4_bread_batch() function that starts reads for all blocks
      then optionally waits for them to complete. A similar logic is used
      in ext4_find_entry(), so update that code to use the new function.
      Signed-off-by: NTahsin Erdogan <tahsin@google.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      9699d4f9
    • T
      ext4: inplace xattr block update fails to deduplicate blocks · ec000220
      Tahsin Erdogan 提交于
      When an xattr block has a single reference, block is updated inplace
      and it is reinserted to the cache. Later, a cache lookup is performed
      to see whether an existing block has the same contents. This cache
      lookup will most of the time return the just inserted entry so
      deduplication is not achieved.
      
      Running the following test script will produce two xattr blocks which
      can be observed in "File ACL: " line of debugfs output:
      
        mke2fs -b 1024 -I 128 -F -O extent /dev/sdb 1G
        mount /dev/sdb /mnt/sdb
      
        touch /mnt/sdb/{x,y}
      
        setfattr -n user.1 -v aaa /mnt/sdb/x
        setfattr -n user.2 -v bbb /mnt/sdb/x
      
        setfattr -n user.1 -v aaa /mnt/sdb/y
        setfattr -n user.2 -v bbb /mnt/sdb/y
      
        debugfs -R 'stat x' /dev/sdb | cat
        debugfs -R 'stat y' /dev/sdb | cat
      
      This patch defers the reinsertion to the cache so that we can locate
      other blocks with the same contents.
      Signed-off-by: NTahsin Erdogan <tahsin@google.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: NAndreas Dilger <adilger@dilger.ca>
      ec000220
    • T
      ext4: remove unused mode parameter · 77a2e84d
      Tahsin Erdogan 提交于
      ext4_alloc_file_blocks() does not use its mode parameter. Remove it.
      Signed-off-by: NTahsin Erdogan <tahsin@google.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      77a2e84d
    • A
      ext4: fix warning about stack corruption · 2df2c340
      Arnd Bergmann 提交于
      After commit 62d1034f53e3 ("fortify: use WARN instead of BUG for now"),
      we get a warning about possible stack overflow from a memcpy that
      was not strictly bounded to the size of the local variable:
      
          inlined from 'ext4_mb_seq_groups_show' at fs/ext4/mballoc.c:2322:2:
      include/linux/string.h:309:9: error: '__builtin_memcpy': writing between 161 and 1116 bytes into a region of size 160 overflows the destination [-Werror=stringop-overflow=]
      
      We actually had a bug here that would have been found by the warning,
      but it was already fixed last year in commit 30a9d7af ("ext4: fix
      stack memory corruption with 64k block size").
      
      This replaces the fixed-length structure on the stack with a variable-length
      structure, using the correct upper bound that tells the compiler that
      everything is really fine here. I also change the loop count to check
      for the same upper bound for consistency, but the existing code is
      already correct here.
      
      Note that while clang won't allow certain kinds of variable-length arrays
      in structures, this particular instance is fine, as the array is at the
      end of the structure, and the size is strictly bounded.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      2df2c340
    • A
      ext4: fix dir_nlink behaviour · c7414892
      Andreas Dilger 提交于
      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: NAndreas Dilger <adilger@dilger.ca>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      c7414892
    • D
      ext4: silence array overflow warning · 381cebfe
      Dan Carpenter 提交于
      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: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      381cebfe
    • J
      ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize · fcf5ea10
      Jan Kara 提交于
      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: NAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      Signed-off-by: NJan Kara <jack@suse.cz>
      CC: stable@vger.kernel.org # 3.8+
      fcf5ea10
    • M
      platform/x86: intel-vbtn: match power button on press rather than release · 946da699
      Mario Limonciello 提交于
      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: NMario Limonciello <mario.limonciello@dell.com>
      Acked-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: NDarren Hart (VMware) <dvhart@infradead.org>
      946da699
    • L
      Merge tag 'media/v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 0fdd951c
      Linus Torvalds 提交于
      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
    • D
      ext4: release discard bio after sending discard commands · e4510577
      Daeho Jeong 提交于
      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: NDaeho Jeong <daeho.jeong@samsung.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: NJan Kara <jack@suse.cz>
      e4510577
  4. 05 8月, 2017 11 次提交
    • L
      Merge tag 'gpio-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · aab7761c
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · ef9ca02b
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 69995074
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0d5b9944
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d1faa3e7
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 65f4740e
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · b3c6858f
      Linus Torvalds 提交于
      Pull arm64 fixes from Will Deacon:
       "Here are some more arm64 fixes for 4.13. The main one is the PTE race
        with the hardware walker, but there are a couple of other things too.
      
         - Report correct timer frequency to userspace when trapping
           CNTFRQ_EL0
      
         - Fix race with hardware page table updates when updating access
           flags
      
         - Silence clang overflow warning in VA_START and PAGE_OFFSET
           calculations"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: avoid overflow in VA_START and PAGE_OFFSET
        arm64: Fix potential race with hardware DBM in ptep_set_access_flags()
        arm64: Use arch_timer_get_rate when trapping CNTFRQ_EL0
      b3c6858f
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 0a23ea65
      Linus Torvalds 提交于
      Pull sparc fixes from David Miller:
      
       - block interrupts properly across the entire MMU context change (both
         the hw MMU context change and the TSB table change) so that we don't
         get a perf event interrupt in the middle. From Rob Gardner.
      
       - be sure to register hugepages early enough, from Nitin Gupta.
      
       - UltraSPARC-III user copy exception handling would return garbage for
         the copied length in some circumstances.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Fix exception handling in UltraSPARC-III memcpy.
        sbus: Convert to using %pOF instead of full_name
        sparc: defconfig: Cleanup from old Kconfig options
        sparc64: Register hugepages during arch init
        sparc64: Prevent perf from running during super critical sections
      0a23ea65
    • L
      Merge tag 'ceph-for-4.13-rc4' of git://github.com/ceph/ceph-client · c63716ab
      Linus Torvalds 提交于
      Pull ceph fixes from Ilya Dryomov:
       "A bunch of fixes and follow-ups for -rc1 Luminous patches: issues with
        ->reencode_message() and last minute RADOS semantic changes in
        v12.1.2"
      
      * tag 'ceph-for-4.13-rc4' of git://github.com/ceph/ceph-client:
        libceph: make RECOVERY_DELETES feature create a new interval
        libceph: upmap semantic changes
        crush: assume weight_set != null imples weight_set_size > 0
        libceph: fallback for when there isn't a pool-specific choose_arg
        libceph: don't call ->reencode_message() more than once per message
        libceph: make encode_request_*() work with r_mempool requests
      c63716ab
    • L
      Merge tag 'sound-4.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · a64c40e7
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "Now we hit the usual ASoC-fix-flood in the middle of release.
      
        Most of the changes are trivial and device-specific, while one
        significant change is the fix for unbalanced of_graph_*() refcounts.
        This involved a change in the graph API itself that had been a bit
        messy"
      
      * tag 'sound-4.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Fix speaker output from VAIO VPCL14M1R
        device property: Fix usecount for of_graph_get_port_parent()
        ASoC: rt5665: fix wrong register for bclk ratio control
        ASoC: Intel: Use MCLK instead of BLCK as the sysclock for RT5514 codec on kabylake platform
        ASoC: Intel: Enabling ASRC for RT5663 codec on kabylake platform
        ASoC: codecs: msm8916-analog: fix DIG_CLK_CTL_RXD3_CLK_EN define
        ASoC: Intel: Skylake: Fix missing sentinels in sst_acpi_mach
        ASoC: sh: hac: add missing "int ret"
        ASoC: samsung: odroid: Fix EPLL frequency values
        ASoC: sgtl5000: Use snd_soc_kcontrol_codec()
        ASoC: rt5665: fix GPIO6 pin function define
        ASoC: ux500: Restore platform DAI assignments
        ASoC: fix pcm-creation regression
        ASoC: do not close shared backend dailink
        ASoC: pxa: SND_PXA2XX_SOC should depend on HAS_DMA
        ASoC: Intel: Skylake: Fix default dma_buffer_size
        ASoC: rt5663: Update the HW default values based on the shipping version
        ASoC: imx-ssi: add check on platform_get_irq return value
      a64c40e7
    • L
      Merge tag 'iommu-fixes-v4.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 83b89ea4
      Linus Torvalds 提交于
      Pull IOMMU fixes from Joerg Roedel:
      
       - fix a scheduling-while-atomic bug in the AMD IOMMU driver. It was
         found after the checker was enabled earlier.
      
       - a fix for the virtual APIC code in the AMD IOMMU driver which
         delivers device interrupts directly into KVM guests for assigned
         devices.
      
       - fixes for the recently merged lock-less page-table code for ARM. The
         redundant TLB syncs got reverted and locks added again around the TLB
         sync code.
      
       - fix for error handling in arm_smmu_add_device()
      
       - address sanitization fix for arm io-pgtable code
      
      * tag 'iommu-fixes-v4.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Fix schedule-while-atomic BUG in initialization code
        iommu/amd: Enable ga_log_intr when enabling guest_mode
        iommu/io-pgtable: Sanitise map/unmap addresses
        iommu/arm-smmu: Fix the error path in arm_smmu_add_device
        Revert "iommu/io-pgtable: Avoid redundant TLB syncs"
        iommu/mtk: Avoid redundant TLB syncs locally
        iommu/arm-smmu: Reintroduce locking around TLB sync operations
      83b89ea4