18 Jan, 2016

16 commits


13 Jan, 2016

19 commits

  • Pull crypto update from Herbert Xu:
    "Algorithms:
    - Add RSA padding algorithm

    Drivers:
    - Add GCM mode support to atmel
    - Add atmel support for SAMA5D2 devices
    - Add cipher modes to talitos
    - Add rockchip driver for rk3288
    - Add qat support for C3XXX and C62X"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (103 commits)
    crypto: hifn_795x, picoxcell - use ablkcipher_request_cast
    crypto: qat - fix SKU definiftion for c3xxx dev
    crypto: qat - Fix random config build issue
    crypto: ccp - use to_pci_dev and to_platform_device
    crypto: qat - Rename dh895xcc mmp firmware
    crypto: 842 - remove WARN inside printk
    crypto: atmel-aes - add debug facilities to monitor register accesses.
    crypto: atmel-aes - add support to GCM mode
    crypto: atmel-aes - change the DMA threshold
    crypto: atmel-aes - fix the counter overflow in CTR mode
    crypto: atmel-aes - fix atmel-ctr-aes driver for RFC 3686
    crypto: atmel-aes - create sections to regroup functions by usage
    crypto: atmel-aes - fix typo and indentation
    crypto: atmel-aes - use SIZE_IN_WORDS() helper macro
    crypto: atmel-aes - improve performances of data transfer
    crypto: atmel-aes - fix atmel_aes_remove()
    crypto: atmel-aes - remove useless AES_FLAGS_DMA flag
    crypto: atmel-aes - reduce latency of DMA completion
    crypto: atmel-aes - remove unused 'err' member of struct atmel_aes_dev
    crypto: atmel-aes - rework crypto request completion
    ...

    Linus Torvalds
     
  • Pull UBI/UBIFS updates from Richard Weinberger:
    "This contains three changes - two cleanups and one UBI wear leveling
    improvement by Sebastian Siewior"

    * tag 'upstream-4.5-rc1' of git://git.infradead.org/linux-ubifs:
    ubifs: Use XATTR_*_PREFIX_LEN
    UBIFS: add a comment in key.h for unused parameter
    mtd: ubi: wl: avoid erasing a PEB which is empty

    Linus Torvalds
     
  • Pull configfs updates from Christoph Hellwig:
    "I'm assisting Joel as co-maintainer and patch monkey now, and you will
    see pull reuquests from me for a while.

    Besides the MAINTAINERS update there is just a single change, which
    adds support for binary attributes to configfs, which are very similar
    to the sysfs binary attributes. Thanks to Pantelis Antoniou!

    You will see another actually bigger set of configfs changes in the
    SCSI target pull from Nic - those were merged before this new tree
    even existed"

    * tag 'configfs-for-linus' of git://git.infradead.org/users/hch/configfs:
    configfs: add myself as co-maintainer, updated git tree
    configfs: implement binary attributes

    Linus Torvalds
     
  • Pull GFS2 updates from Bob Peterson:
    "Here is a list of patches we've accumulated for GFS2 for the current
    upstream merge window. Last window's set was short, but I warned that
    this one would be bigger, and so it is. We've got 19 patches:

    - A patch from Abhi Das to propagate the GFS2_DIF_SYSTEM bit so that
    newly added journals don't get flagged, deleted, and recreated by
    fsck.gfs2.

    - Two patches from Andreas Gruenbacher to improve GFS2 performance
    where extended attributes are involved.

    - A patch from Andy Price to fix a suspicious rcu dereference error.

    - Two patches from Ben Marzinski that rework how GFS2's NFS cookies
    are managed. This fixes readdir problems with nfs-over-gfs2.

    - A patch from Ben Marzinski that fixes a race in unmounting GFS2.

    - A set of four patches from me to move the resource group
    reservations inside the gfs2 inode to improve performance and fix a
    bug whereby get_write_access improperly prevented some operations
    like chown.

    - A patch from me to spinlock-protect the setting of system statfs
    file data. This was causing small discrepancies between df and du.

    - A patch from me to reintroduce a timeout while clearing glocks
    which was accidentally dropped some time ago.

    - A patch from me to wait for iopen glock dequeues in order to
    improve deleting of files that were unlinked from a different
    cluster node.

    - A patch from me to ensure metadata address spaces get truncated
    when an inode is evicted.

    - A patch from me to fix a bug in which a memory leak could occur in
    some error cases when inodes were trying to be created.

    - A patch to consistently use iopen glocks to transition from the
    unlinked state to the deleted state.

    - A patch to fix a glock reference count error when inode creation
    fails.

    - A patch from Junxiao Bi to fix an flock panic.

    - A patch from Markus Elfring that removes an unnecessary if"

    * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
    gfs2: fix flock panic issue
    GFS2: Don't do glock put on when inode creation fails
    GFS2: Always use iopen glock for gl_deletes
    GFS2: Release iopen glock in gfs2_create_inode error cases
    GFS2: Truncate address space mapping when deleting an inode
    GFS2: Wait for iopen glock dequeues
    gfs2: clear journal live bit in gfs2_log_flush
    gfs2: change gfs2 readdir cookie
    gfs2: keep offset when splitting dir leaf blocks
    GFS2: Reintroduce a timeout in function gfs2_gl_hash_clear
    GFS2: Update master statfs buffer with sd_statfs_spin locked
    GFS2: Reduce size of incore inode
    GFS2: Make rgrp reservations part of the gfs2_inode structure
    GFS2: Extract quota data from reservations structure (revert 5407e24)
    gfs2: Extended attribute readahead optimization
    gfs2: Extended attribute readahead
    GFS2: Use rht_for_each_entry_rcu in glock_hash_walk
    GFS2: Delete an unnecessary check before the function call "iput"
    gfs2: Automatically set GFS2_DIF_SYSTEM flag on system files

    Linus Torvalds
     
  • Pull misc vfs updates from Al Viro:
    "All kinds of stuff. That probably should've been 5 or 6 separate
    branches, but by the time I'd realized how large and mixed that bag
    had become it had been too close to -final to play with rebasing.

    Some fs/namei.c cleanups there, memdup_user_nul() introduction and
    switching open-coded instances, burying long-dead code, whack-a-mole
    of various kinds, several new helpers for ->llseek(), assorted
    cleanups and fixes from various people, etc.

    One piece probably deserves special mention - Neil's
    lookup_one_len_unlocked(). Similar to lookup_one_len(), but gets
    called without ->i_mutex and tries to avoid ever taking it. That, of
    course, means that it's not useful for any directory modifications,
    but things like getting inode attributes in nfds readdirplus are fine
    with that. I really should've asked for moratorium on lookup-related
    changes this cycle, but since I hadn't done that early enough... I
    *am* asking for that for the coming cycle, though - I'm going to try
    and get conversion of i_mutex to rwsem with ->lookup() done under lock
    taken shared.

    There will be a patch closer to the end of the window, along the lines
    of the one Linus had posted last May - mechanical conversion of
    ->i_mutex accesses to inode_lock()/inode_unlock()/inode_trylock()/
    inode_is_locked()/inode_lock_nested(). To quote Linus back then:

    -----
    | This is an automated patch using
    |
    | sed 's/mutex_lock(&\(.*\)->i_mutex)/inode_lock(\1)/'
    | sed 's/mutex_unlock(&\(.*\)->i_mutex)/inode_unlock(\1)/'
    | sed 's/mutex_lock_nested(&\(.*\)->i_mutex,[ ]*I_MUTEX_\([A-Z0-9_]*\))/inode_lock_nested(\1, I_MUTEX_\2)/'
    | sed 's/mutex_is_locked(&\(.*\)->i_mutex)/inode_is_locked(\1)/'
    | sed 's/mutex_trylock(&\(.*\)->i_mutex)/inode_trylock(\1)/'
    |
    | with a very few manual fixups
    -----

    I'm going to send that once the ->i_mutex-affecting stuff in -next
    gets mostly merged (or when Linus says he's about to stop taking
    merges)"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
    nfsd: don't hold i_mutex over userspace upcalls
    fs:affs:Replace time_t with time64_t
    fs/9p: use fscache mutex rather than spinlock
    proc: add a reschedule point in proc_readfd_common()
    logfs: constify logfs_block_ops structures
    fcntl: allow to set O_DIRECT flag on pipe
    fs: __generic_file_splice_read retry lookup on AOP_TRUNCATED_PAGE
    fs: xattr: Use kvfree()
    [s390] page_to_phys() always returns a multiple of PAGE_SIZE
    nbd: use ->compat_ioctl()
    fs: use block_device name vsprintf helper
    lib/vsprintf: add %*pg format specifier
    fs: use gendisk->disk_name where possible
    poll: plug an unused argument to do_poll
    amdkfd: don't open-code memdup_user()
    cdrom: don't open-code memdup_user()
    rsxx: don't open-code memdup_user()
    mtip32xx: don't open-code memdup_user()
    [um] mconsole: don't open-code memdup_user_nul()
    [um] hostaudio: don't open-code memdup_user()
    ...

    Linus Torvalds
     
  • Pull iov_iter infrastructure updates from Al Viro:
    "A couple of iov_iter updates"

    * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    iov_iter: export import_single_range()
    iov_iter: constify {csum_and_,}copy_to_iter()

    Linus Torvalds
     
  • Pull vfs copy_file_range updates from Al Viro:
    "Several series around copy_file_range/CLONE"

    * 'work.copy_file_range' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    btrfs: use new dedupe data function pointer
    vfs: hoist the btrfs deduplication ioctl to the vfs
    vfs: wire up compat ioctl for CLONE/CLONE_RANGE
    cifs: avoid unused variable and label
    nfsd: implement the NFSv4.2 CLONE operation
    nfsd: Pass filehandle to nfs4_preprocess_stateid_op()
    vfs: pull btrfs clone API to vfs layer
    locks: new locks_mandatory_area calling convention
    vfs: Add vfs_copy_file_range() support for pagecache copies
    btrfs: add .copy_file_range file operation
    x86: add sys_copy_file_range to syscall tables
    vfs: add copy_file_range syscall and vfs helper

    Linus Torvalds
     
  • Pull file locking updates from Jeff Layton:
    "File locking related changes for v4.5 (pile #1)

    Highlights:
    - new Kconfig option to allow disabling mandatory locking (which is
    racy anyway)
    - new tracepoints for setlk and close codepaths
    - fix for a long-standing bug in code that handles races between
    setting a POSIX lock and close()"

    * tag 'locks-v4.5-1' of git://git.samba.org/jlayton/linux:
    locks: rename __posix_lock_file to posix_lock_inode
    locks: prink more detail when there are leaked locks
    locks: pass inode pointer to locks_free_lock_context
    locks: sprinkle some tracepoints around the file locking code
    locks: don't check for race with close when setting OFD lock
    locks: fix unlock when fcntl_setlk races with a close
    fs: make locks.c explicitly non-modular
    locks: use list_first_entry_or_null()
    locks: Don't allow mounts in user namespaces to enable mandatory locking
    locks: Allow disabling mandatory locking at compile time

    Linus Torvalds
     
  • Pull UML updates from Richard Weinberger:
    "This contains beside of random fixes/cleanups two bigger changes:

    - seccomp support by Mickaël Salaün

    - IRQ rework by Anton Ivanov"

    * 'for-linus-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: Use race-free temporary file creation
    um: Do not set unsecure permission for temporary file
    um: Fix build error and kconfig for i386
    um: Add seccomp support
    um: Add full asm/syscall.h support
    selftests/seccomp: Remove the need for HAVE_ARCH_TRACEHOOK
    um: Fix ptrace GETREGS/SETREGS bugs
    um: link with -lpthread
    um: Update UBD to use pread/pwrite family of functions
    um: Do not change hard IRQ flags in soft IRQ processing
    um: Prevent IRQ handler reentrancy
    uml: flush stdout before forking
    uml: fix hostfs mknod()

    Linus Torvalds
     
  • Pull KVM updates from Paolo Bonzini:
    "PPC changes will come next week.

    - s390: Support for runtime instrumentation within guests, support of
    248 VCPUs.

    - ARM: rewrite of the arm64 world switch in C, support for 16-bit VM
    identifiers. Performance counter virtualization missed the boat.

    - x86: Support for more Hyper-V features (synthetic interrupt
    controller), MMU cleanups"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (115 commits)
    kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL
    kvm/x86: Hyper-V SynIC timers tracepoints
    kvm/x86: Hyper-V SynIC tracepoints
    kvm/x86: Update SynIC timers on guest entry only
    kvm/x86: Skip SynIC vector check for QEMU side
    kvm/x86: Hyper-V fix SynIC timer disabling condition
    kvm/x86: Reorg stimer_expiration() to better control timer restart
    kvm/x86: Hyper-V unify stimer_start() and stimer_restart()
    kvm/x86: Drop stimer_stop() function
    kvm/x86: Hyper-V timers fix incorrect logical operation
    KVM: move architecture-dependent requests to arch/
    KVM: renumber vcpu->request bits
    KVM: document which architecture uses each request bit
    KVM: Remove unused KVM_REQ_KICK to save a bit in vcpu->requests
    kvm: x86: Check kvm_write_guest return value in kvm_write_wall_clock
    KVM: s390: implement the RI support of guest
    kvm/s390: drop unpaired smp_mb
    kvm: x86: fix comment about {mmu,nested_mmu}.gva_to_gpa
    KVM: x86: MMU: Use clear_page() instead of init_shadow_page_table()
    arm/arm64: KVM: Detect vGIC presence at runtime
    ...

    Linus Torvalds
     
  • Pull xen updates from David Vrabel:
    "Xen features and fixes for 4.5-rc0:

    - Stolen ticks and PV wallclock support for arm/arm64

    - Add grant copy ioctl to gntdev device"

    * tag 'for-linus-4.5-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/gntdev: add ioctl for grant copy
    x86/xen: don't reset vcpu_info on a cancelled suspend
    xen/gntdev: constify mmu_notifier_ops structures
    xen/grant-table: constify gnttab_ops structure
    xen/time: use READ_ONCE
    xen/x86: convert remaining timespec to timespec64 in xen_pvclock_gtod_notify
    xen/x86: support XENPF_settime64
    xen/arm: set the system time in Xen via the XENPF_settime64 hypercall
    xen/arm: introduce xen_read_wallclock
    arm: extend pvclock_wall_clock with sec_hi
    xen: introduce XENPF_settime64
    xen/arm: introduce HYPERVISOR_platform_op on arm and arm64
    xen: rename dom0_op to platform_op
    xen/arm: account for stolen ticks
    arm64: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops
    arm: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops
    missing include asm/paravirt.h in cputime.c
    xen: move xen_setup_runstate_info and get_runstate_snapshot to drivers/xen/time.c

    Linus Torvalds
     
  • Pull tiny c6x update from Mark Salter.

    * 'for-linux-next' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
    c6x: Use generic clkdev.h header

    Linus Torvalds
     
  • Pull component updates from Russell King:
    "Updates for the component helper merged last year.

    This update removes the old add_components method of detecting and
    looking up the components associated with a master device. Last time
    I checked during the 4.4-rc cycle, there were no users of the old
    interfaces, as has been the case for some time now. Breakage due to
    conflicting development is possible, in which case this pull will have
    to be reverted - however, these changes have been in linux-next since
    Dec 7th without any problems reported.

    Removal of that then allows us to change the way we track components
    internally, allowing us to release data that has been used for
    matching at the appropriate time, thereby allowing any resource leaks
    caused by that missing functionality to be resolved"

    * 'component' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    component: add support for releasing match data
    component: track components via array rather than list
    component: move check for unbound master into try_to_bring_up_masters()
    component: remove old add_components method

    Linus Torvalds
     
  • Pull ARM updates from Russell King:

    - UEFI boot and runtime services support for ARM from Ard Biesheuvel
    and Roy Franz.

    - DT compatibility with old atags booting protocol for Nokia N900
    devices from Ivaylo Dimitrov.

    - PSCI firmware interface using new arm-smc calling convention from
    Jens Wiklander.

    - Runtime patching for udiv/sdiv instructions for ARMv7 CPUs that
    support these instructions from Nicolas Pitre.

    - L2x0 cache updates from Dirk B and Linus Walleij.

    - Randconfig fixes from Arnd Bergmann.

    - ARMv7M (nommu) updates from Ezequiel Garcia

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (34 commits)
    ARM: 8481/2: drivers: psci: replace psci firmware calls
    ARM: 8480/2: arm64: add implementation for arm-smccc
    ARM: 8479/2: add implementation for arm-smccc
    ARM: 8478/2: arm/arm64: add arm-smccc
    ARM: 8494/1: mm: Enable PXN when running non-LPAE kernel on LPAE processor
    ARM: 8496/1: OMAP: RX51: save ATAGS data in the early boot stage
    ARM: 8495/1: ATAGS: move save_atags() to arch/arm/include/asm/setup.h
    ARM: 8452/3: PJ4: make coprocessor access sequences buildable in Thumb2 mode
    ARM: 8482/1: l2x0: make it possible to disable outer sync from DT
    ARM: 8488/1: Make IPI_CPU_BACKTRACE a "non-secure" SGI
    ARM: 8487/1: Remove IPI_CALL_FUNC_SINGLE
    ARM: 8485/1: cpuidle: remove cpu parameter from the cpuidle_ops suspend hook
    ARM: 8484/1: Documentation: l2c2x0: Mention separate controllers explicitly
    ARM: 8483/1: Documentation: l2c: Rename l2cc to l2c2x0
    ARM: 8477/1: runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()
    ARM: 8476/1: VDSO: use PTR_ERR_OR_ZERO for vma check
    ARM: 8453/2: proc-v7.S: don't locate temporary stack space in .text section
    ARM: add UEFI stub support
    ARM: wire up UEFI init and runtime support
    ARM: only consider memblocks with NOMAP cleared for linear mapping
    ...

    Linus Torvalds
     
  • Pull arm[64] perf updates from Will Deacon:
    "In the past, I have funnelled perf updates through the respective
    architecture trees, but now that the arm/arm64 perf driver has been
    largely consolidated under drivers/perf/, it makes more sense to send
    a separate pull, particularly as I'm listed as maintainer for all the
    files involved. I offered the branch to arm-soc, but Arnd suggested
    that I just send it to you directly.

    So, here is the arm/arm64 perf queue for 4.5. The main features are
    described below, but the most useful change is from Drew, which
    advertises our architected event mapping in sysfs so that the perf
    tool is a lot more user friendly and no longer requires the use of
    magic hex constants for profiling common events.

    - Support for the CPU PMU in Cortex-A72

    - Add sysfs entries to describe the architected events and their
    mappings for PMUv{1-3}"

    * tag 'arm64-perf' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: perf: add support for Cortex-A72
    arm64: perf: add format entry to describe event -> config mapping
    ARM: perf: add format entry to describe event -> config mapping
    arm64: kernel: enforce pmuserenr_el0 initialization and restore
    arm64: perf: Correct Cortex-A53/A57 compatible values
    arm64: perf: Add event descriptions
    arm64: perf: Convert event enums to #defines
    arm: perf: Add event descriptions
    arm: perf: Convert event enums to #defines
    drivers/perf: kill armpmu_register

    Linus Torvalds
     
  • Pull arm64 updates from Will Deacon:
    "Here is the core arm64 queue for 4.5. As you might expect, the
    Christmas break resulted in a number of patches not making the final
    cut, so 4.6 is likely to be larger than usual. There's still some
    useful stuff here, however, and it's detailed below.

    The EFI changes have been Reviewed-by Matt and the memblock change got
    an "OK" from akpm.

    Summary:

    - Support for a separate IRQ stack, although we haven't reduced the
    size of our thread stack just yet since we don't have enough data
    to determine a safe value

    - Refactoring of our EFI initialisation and runtime code into
    drivers/firmware/efi/ so that it can be reused by arch/arm/.

    - Ftrace improvements when unwinding in the function graph tracer

    - Document our silicon errata handling process

    - Cache flushing optimisation when mapping executable pages

    - Support for hugetlb mappings using the contiguous hint in the pte"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (45 commits)
    arm64: head.S: use memset to clear BSS
    efi: stub: define DISABLE_BRANCH_PROFILING for all architectures
    arm64: entry: remove pointless SPSR mode check
    arm64: mm: move pgd_cache initialisation to pgtable_cache_init
    arm64: module: avoid undefined shift behavior in reloc_data()
    arm64: module: fix relocation of movz instruction with negative immediate
    arm64: traps: address fallout from printk -> pr_* conversion
    arm64: ftrace: fix a stack tracer's output under function graph tracer
    arm64: pass a task parameter to unwind_frame()
    arm64: ftrace: modify a stack frame in a safe way
    arm64: remove irq_count and do_softirq_own_stack()
    arm64: hugetlb: add support for PTE contiguous bit
    arm64: Use PoU cache instr for I/D coherency
    arm64: Defer dcache flush in __cpu_copy_user_page
    arm64: reduce stack use in irq_handler
    arm64: mm: ensure that the zero page is visible to the page table walker
    arm64: Documentation: add list of software workarounds for errata
    arm64: mm: place __cpu_setup in .text
    arm64: cmpxchg: Don't incldue linux/mmdebug.h
    arm64: mm: fold alternatives into .init
    ...

    Linus Torvalds
     
  • Pull m68knommu update from Greg Ungerer:
    "Only a single change, limiting the return values for coldfire gpio get
    function"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
    m68k: coldfire/gpio: Be sure to clamp return value

    Linus Torvalds
     
  • Pull m68k updates from Geert Uytterhoeven.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Provide __phys_to_pfn() and __pfn_to_phys()
    m68k/atari, m68k/sun3: Fix SCSI platform device registration when driver is modular
    m68k/defconfig: Update defconfigs for v4.4-rc1
    m68k/mac: Kill psc_present

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "This is the final pull request for MIPS for 4.4. It fixes:

    - scripts/ld-version.sh parsing of ld version numbers that contain
    large numbers as components.
    - fix parsing of version numbers as used by Fedora's ld.

    Currently scripts/ld-version.sh is only being used by MIPS"

    [ This obviously missed 4.4, so getting merged now in the merge window
    for 4.5 instead ]

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    ld-version: Fix it on Fedora
    Fix ld-version.sh to handle large 3rd version part

    Linus Torvalds
     

12 Jan, 2016

5 commits

  • Russell King
     
  • vmx_cpuid_tries to update SECONDARY_VM_EXEC_CONTROL in the VMCS, but
    it will cause a vmwrite error on older CPUs because the code does not
    check for the presence of CPU_BASED_ACTIVATE_SECONDARY_CONTROLS.

    This will get rid of the following trace on e.g. Core2 6600:

    vmwrite error: reg 401e value 10 (err 12)
    Call Trace:
    [] dump_stack+0x40/0x57
    [] vmx_cpuid_update+0x5d/0x150 [kvm_intel]
    [] kvm_vcpu_ioctl_set_cpuid2+0x4c/0x70 [kvm]
    [] kvm_arch_vcpu_ioctl+0x903/0xfa0 [kvm]

    Fixes: feda805fe7c4ed9cf78158e73b1218752e3b4314
    Cc: stable@vger.kernel.org
    Reported-by: Zdenek Kaspar
    Signed-off-by: Huaitong Han
    Signed-off-by: Paolo Bonzini

    Huaitong Han
     
  • Pull device mapper updates from Mike Snitzer:

    - The most significant set of changes this cycle is the Forward Error
    Correction (FEC) support that has been added to the DM verity target.

    Google uses DM verity on all Android devices and it is believed that
    this FEC support will enable DM verity to recover from storage
    failures seen since DM verity was first deployed as part of Android.

    - A stable fix for a race in the destruction of DM thin pool's
    workqueue

    - A stable fix for hung IO if a DM snapshot copy hit an error

    - A few small cleanups in DM core and DM persistent data.

    - A couple DM thinp range discard improvements (address atomicity of
    finding a range and the efficiency of discarding a partially mapped
    thin device)

    - Add ability to debug DM bufio leaks by recording stack trace when a
    buffer is allocated. Upon detected leak the recorded stack is
    dumped.

    * tag 'dm-4.5-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm snapshot: fix hung bios when copy error occurs
    dm thin: bump thin and thin-pool target versions
    dm thin: fix race condition when destroying thin pool workqueue
    dm space map metadata: remove unused variable in brb_pop()
    dm verity: add ignore_zero_blocks feature
    dm verity: add support for forward error correction
    dm verity: factor out verity_for_bv_block()
    dm verity: factor out structures and functions useful to separate object
    dm verity: move dm-verity.c to dm-verity-target.c
    dm verity: separate function for parsing opt args
    dm verity: clean up duplicate hashing code
    dm btree: factor out need_insert() helper
    dm bufio: use BUG_ON instead of conditional call to BUG
    dm bufio: store stacktrace in buffers to help find buffer leaks
    dm bufio: return NULL to improve code clarity
    dm block manager: cleanup code that prints stacktrace
    dm: don't save and restore bi_private
    dm thin metadata: make dm_thin_find_mapped_range() atomic
    dm thin metadata: speed up discard of partially mapped volumes

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:
    "The part of patches for Kernel 4.5. There's nothing really big here:

    - driver-specific headers for media devices were moved to separate
    directories, in order to make clear what headers belong to the core
    kABI and require documentation

    - Platform data for media drivers were moved from include/media to
    include/linux/platform_data/media

    - add a driver for cs3308 8-channel volume control, used on some
    high-end capture boards

    - lirc.h kAPI header were added at include/uapi/linux

    - Driver cleanups, new board additions and improvements"

    * tag 'media/v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (204 commits)
    [media] rc: sunxi-cir: Initialize the spinlock properly
    [media] rtl2832: do not filter out slave TS null packets
    [media] rtl2832: print reg number on error case
    [media] rtl28xxu: return demod reg page from driver cache
    [media] coda: enable MPEG-2 ES decoding
    [media] coda: don't start streaming without queued buffers
    [media] coda: hook up vidioc_prepare_buf
    [media] coda: relax coda_jpeg_check_buffer for trailing bytes
    [media] coda: make to_coda_video_device static
    [media] s5p-mfc: remove volatile attribute from MFC register addresses
    [media] s5p-mfc: merge together s5p_mfc_hw_call and s5p_mfc_hw_call_void
    [media] s5p-mfc: use spinlock to protect MFC context
    [media] s5p-mfc: remove unnecessary callbacks
    [media] s5p-mfc: make queue cleanup code common
    [media] s5p-mfc: use one implementation of s5p_mfc_get_new_ctx
    [media] s5p-mfc: constify s5p_mfc_codec_ops structures
    [media] au8522: Avoid memory leak for device config data
    [media] ir-lirc-codec.c: don't leak lirc->drv-rbuf
    [media] uvcvideo: small cleanup in uvc_video_clock_update()
    [media] uvcvideo: Fix reading the current exposure value of UVC
    ...

    Linus Torvalds
     
  • Pull LED subsystem updates from Jacek Anaszewski:
    "Besides regular driver updates, we introduce a portion of LED core
    improvements, that allow to avoid the need for using work queues in
    the LED class drivers, that set brightness in a blocking way.

    Affected LED class drivers are being optimized accordingly.

    - LED core improvements:
    - use EXPORT_SYMBOL_GPL consistently,
    - add two new LED_BLINK_ flags,
    - rename brightness_set_sync op to brightness_set_blocking,
    - add led_set_brightness_nosleep{nopm} functions,
    - use set_brightness_work for the blocking op,
    - drivers shouldn't enforce SYNC/ASYNC brightness setting,
    - turn off the LED and wait for completion on unregistering LED
    class device,
    - add managed version of led_trigger_register,
    - add description of brightness setting API to the LED class doc.

    - Remove work queues from drivers: leds-tlc591xx, leds-88pm860x, leds-adp5520,
    leds-bd2802, leds-blinkm, leds-lm3533, leds-lm3642, leds-pca9532,
    leds-lp3944, leds-lp55xx, leds-lp8788, leds-lp8860, leds-pca955x,
    leds-pca963x, leds-wm831x, leds-da903x, leds-da9052, leds-dac124d085,
    leds-lt3593, leds-max8997, leds-mc13783, leds-regulator, leds-wm8350,
    leds-max77693, leds-aat1290, leds-ktd2692, leds-gpio, leds-pwm,
    leds-lm355x, leds-ns2.

    - Replace brightness_set op with a new brightness_set_blocking op to
    make the drivers compatible with led triggers: leds-ipaq-micro,
    leds-powernv.

    - Add missing of_node_put: leds-ktd2692, leds-aat1290, leds-max77693.

    - Make the driver explicitly non-modular: ledtrig-cpu,
    ledtrig-ide-disk, leds-syscon.

    - Improvements to leds-bcm6328:
    - reuse bcm6328_led_set() instead of copying its functionality,
    - swap LED ON and OFF definitions,
    - improve blink support,
    - simplify duplicated unlock in bcm6328_blink_set,
    - add little endian support,
    - remove unneded lock when checking initial LED status,
    - add HAS_IOMEM dependency,
    - code cleaning.

    - Improvements to leds-bcm6358:
    - use bcm6358_led_set() in order to get rid of the lock,
    - merge bcm6358_led_mode and bcm6358_led_set,
    - add little endian support,
    - remove unneded lock when checking initial LED status,
    - add HAS_IOMEM dependency,
    - remove unneeded busy status check.

    - Call led_pwm_set() in leds-pwm to enforce default LED_OFF.

    - Fix duration to be msec instead of jiffies: ledtrig-transient.

    - Removing NULL check: leds-powernv.

    - Use platform_register/unregister_drivers(): leds-sunfire.

    - Fix module license specification: ledtrig-oneshot.

    - Fix driver description and make license match the header: leds-pwm.

    - Remove checking for state < 1 in flash_strobe_store():
    led-class-flash.

    - Use led_set_brightness_sync for torch brightness:
    v4l2-flash-led-class"

    * tag 'leds-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (68 commits)
    leds: add HAS_IOMEM dependency to LEDS_BCM6328/LEDS_BCM6358
    leds: core: add managed version of led_trigger_register
    leds: bcm6358: remove unneeded busy status check
    leds: bcm6328: improve blink support
    leds: bcm6358: merge bcm6358_led_mode and bcm6358_led_set
    leds: bcm6328: simplify duplicated unlock in bcm6328_blink_set
    leds: bcm6358: add little endian support
    leds: bcm6328: add little endian support
    leds: bcm6358: remove unneded lock when checking initial LED status
    leds: bcm6358: Use bcm6358_led_set() in order to get rid of the lock
    leds: bcm6328: remove unneded lock when checking initial LED
    leds: bcm6328: code cleaning
    leds: syscon: Make the driver explicitly non-modular
    leds: ledtrig-ide-disk: Make the driver explicitly non-modular
    leds: ledtrig-cpu: Make the driver explicitly non-modular
    leds: sunfire: Use platform_register/unregister_drivers()
    leds: max77693: Add missing of_node_put
    leds: aat1290: Add missing of_node_put
    leds: powernv: Implement brightness_set_blocking op
    leds: ipaq-micro: Implement brightness_set_blocking op
    ...

    Linus Torvalds