08 Dec, 2016

1 commit


07 Dec, 2016

5 commits

  • Algorithms not compatible with mcryptd could be spawned by mcryptd
    with a direct crypto_alloc_tfm invocation using a "mcryptd(alg)" name
    construct. This causes mcryptd to crash the kernel if an arbitrary
    "alg" is incompatible and not intended to be used with mcryptd. It is
    an issue if AF_ALG tries to spawn mcryptd(alg) to expose it externally.
    But such algorithms must be used internally and not be exposed.

    We added a check to enforce that only internal algorithms are allowed
    with mcryptd at the time mcryptd is spawning an algorithm.

    Link: http://marc.info/?l=linux-crypto-vger&m=148063683310477&w=2
    Cc: stable@vger.kernel.org
    Reported-by: Mikulas Patocka
    Signed-off-by: Tim Chen
    Signed-off-by: Herbert Xu

    Tim
     
  • For encryption, the AEAD ciphers require AAD || PT as input and generate
    AAD || CT || Tag as output and vice versa for decryption. Prior to this
    patch, the AF_ALG interface for AEAD ciphers requires the buffer to be
    present as input for encryption. Similarly, the output buffer for
    decryption required the presence of the tag buffer too. This implies
    that the kernel reads / writes data buffers from/to kernel space
    even though this operation is not required.

    This patch changes the AF_ALG AEAD interface to be consistent with the
    in-kernel AEAD cipher requirements.

    Due to this handling, he changes are transparent to user space with one
    exception: the return code of recv indicates the mount of output buffer.
    That output buffer has a different size compared to before the patch
    which implies that the return code of recv will also be different.
    For example, a decryption operation uses 16 bytes AAD, 16 bytes CT and
    16 bytes tag, the AF_ALG AEAD interface before showed a recv return
    code of 48 (bytes) whereas after this patch, the return code is 32
    since the tag is not returned any more.

    Reported-by: Mat Martineau
    Signed-off-by: Stephan Mueller
    Signed-off-by: Herbert Xu

    Stephan Mueller
     
  • Start with a clean slate before dealing with bit 16 (pointer size)
    of Master Configuration Register.
    This fixes the case of AArch64 boot loader + AArch32 kernel, when
    the boot loader might set MCFGR[PS] and kernel would fail to clear it.

    Cc:
    Reported-by: Alison Wang
    Signed-off-by: Horia Geantă
    Reviewed-By: Alison Wang
    Signed-off-by: Herbert Xu

    Horia Geantă
     
  • mv_cesa_hash_std_step() copies the creq->state into the SRAM at each
    step, but this is only required on the first one. By doing that, we
    overwrite the engine state, and get erroneous results when the crypto
    request is split in several chunks to fit in the internal SRAM.

    This commit changes the function to copy the state only on the first
    step.

    Fixes: commit 2786cee8e50b ("crypto: marvell - Move SRAM I/O op...")
    Signed-off-by: Romain Perier
    Cc:
    Signed-off-by: Herbert Xu

    Romain Perier
     
  • No need to copy the template of an hash operation twice into the SRAM
    from the step function.

    Fixes: commit 85030c5168f1 ("crypto: marvell - Add support for chai...")
    Signed-off-by: Romain Perier
    Cc:
    Signed-off-by: Herbert Xu

    Romain Perier
     

30 Nov, 2016

3 commits

  • Both asn1 headers are included by rsa_helper.c, so rsa_helper.o
    should explicitly depend on them.

    Signed-off-by: David Michael
    Signed-off-by: Herbert Xu

    David Michael
     
  • Fix memory corruption done by *((u32 *)dec_key + k)
    operation.

    Signed-off-by: Jitendra Lulla
    Signed-off-by: Herbert Xu

    Harsh Jain
     
  • When using SGs, only heap memory (memory that is valid as per
    virt_addr_valid) is allowed to be referenced. The CTR DRBG used to
    reference the caller-provided memory directly in an SG. In case the
    caller provided stack memory pointers, the SG mapping is not considered
    to be valid. In some cases, this would even cause a paging fault.

    The change adds a new scratch buffer that is used unconditionally to
    catch the cases where the caller-provided buffer is not suitable for
    use in an SG. The crypto operation of the CTR DRBG produces its output
    with that scratch buffer and finally copies the content of the
    scratch buffer to the caller's buffer.

    The scratch buffer is allocated during allocation time of the CTR DRBG
    as its access is protected with the DRBG mutex.

    Signed-off-by: Stephan Mueller
    Signed-off-by: Herbert Xu

    Stephan Mueller
     

22 Nov, 2016

2 commits

  • The aliasing check in map_and_copy is no longer necessary because
    the IPsec ESP code no longer provides an IV that points into the
    actual request data. As this check is now triggering BUG checks
    due to the vmalloced stack code, I'm removing it.

    Reported-by: Eric Biggers
    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Recently an init call was added to hash_recvmsg so as to reset
    the hash state in case a sendmsg call was never made.

    Unfortunately this ended up clobbering the result if the previous
    sendmsg was done with a MSG_MORE flag. This patch fixes it by
    excluding that case when we make the init call.

    Fixes: a8348bca2944 ("algif_hash - Fix NULL hash crash with shash")
    Reported-by: Patrick Steinhardt
    Signed-off-by: Herbert Xu

    Herbert Xu
     

18 Nov, 2016

1 commit

  • Recently algif_hash has been changed to allow null hashes. This
    triggers a bug when used with an shash algorithm whereby it will
    cause a crash during the digest operation.

    This patch fixes it by avoiding the digest operation and instead
    doing an init followed by a final which avoids the buggy code in
    shash.

    This patch also ensures that the result buffer is freed after an
    error so that it is not returned as a genuine hash result on the
    next recv call.

    The shash/ahash wrapper code will be fixed later to handle this
    case correctly.

    Fixes: 493b2ed3f760 ("crypto: algif_hash - Handle NULL hashes correctly")
    Signed-off-by: Herbert Xu
    Tested-by: Laura Abbott

    Herbert Xu
     

17 Nov, 2016

1 commit

  • Building the caam driver on arm64 produces a harmless warning:

    drivers/crypto/caam/caamalg.c:140:139: warning: comparison of distinct pointer types lacks a cast

    We can use min_t to tell the compiler which type we want it to use
    here.

    Fixes: 5ecf8ef9103c ("crypto: caam - fix sg dump")
    Signed-off-by: Arnd Bergmann
    Reviewed-by: Horia Geantă
    Signed-off-by: Herbert Xu

    Arnd Bergmann
     

13 Nov, 2016

1 commit

  • When using AES-XTS on a Wandboard, we receive a Mode error:
    caam_jr 2102000.jr1: 20001311: CCB: desc idx 19: AES: Mode error.

    According to the Security Reference Manual, the Low Power AES units
    of the i.MX6 do not support the XTS mode. Therefore we must not
    register XTS implementations in the Crypto API.

    Signed-off-by: Sven Ebenfeld
    Reviewed-by: Horia Geantă

    Cc: # 4.4+
    Fixes: c6415a6016bf "crypto: caam - add support for acipher xts(aes)"
    Signed-off-by: Herbert Xu

    Sven Ebenfeld
     

19 Oct, 2016

1 commit


16 Oct, 2016

5 commits

  • Linus Torvalds
     
  • Pull befs fixes from Luis de Bethencourt:
    "I recently took maintainership of the befs file system [0]. This is
    the first time I send you a git pull request, so please let me know if
    all the below is OK.

    Salah Triki and myself have been cleaning the code and fixing a few
    small bugs.

    Sorry I couldn't send this sooner in the merge window, I was waiting
    to have my GPG key signed by kernel members at ELCE in Berlin a few
    days ago."

    [0] https://lkml.org/lkml/2016/7/27/502

    * tag 'befs-v4.9-rc1' of git://github.com/luisbg/linux-befs: (39 commits)
    befs: befs: fix style issues in datastream.c
    befs: improve documentation in datastream.c
    befs: fix typos in datastream.c
    befs: fix typos in btree.c
    befs: fix style issues in super.c
    befs: fix comment style
    befs: add check for ag_shift in superblock
    befs: dump inode_size superblock information
    befs: remove unnecessary initialization
    befs: fix typo in befs_sb_info
    befs: add flags field to validate superblock state
    befs: fix typo in befs_find_key
    befs: remove unused BEFS_BT_PARMATCH
    fs: befs: remove ret variable
    fs: befs: remove in vain variable assignment
    fs: befs: remove unnecessary *befs_sb variable
    fs: befs: remove useless initialization to zero
    fs: befs: remove in vain variable assignment
    fs: befs: Insert NULL inode to dentry
    fs: befs: Remove useless calls to brelse in befs_find_brun_dblindirect
    ...

    Linus Torvalds
     
  • Pull gcc plugins update from Kees Cook:
    "This adds a new gcc plugin named "latent_entropy". It is designed to
    extract as much possible uncertainty from a running system at boot
    time as possible, hoping to capitalize on any possible variation in
    CPU operation (due to runtime data differences, hardware differences,
    SMP ordering, thermal timing variation, cache behavior, etc).

    At the very least, this plugin is a much more comprehensive example
    for how to manipulate kernel code using the gcc plugin internals"

    * tag 'gcc-plugins-v4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    latent_entropy: Mark functions with __latent_entropy
    gcc-plugins: Add latent_entropy plugin

    Linus Torvalds
     
  • Pull MIPS updates from Ralf Baechle:
    "This is the main MIPS pull request for 4.9:

    MIPS core arch code:
    - traps: 64bit kernels should read CP0_EBase 64bit
    - traps: Convert ebase to KSEG0
    - c-r4k: Drop bc_wback_inv() from icache flush
    - c-r4k: Split user/kernel flush_icache_range()
    - cacheflush: Use __flush_icache_user_range()
    - uprobes: Flush icache via kernel address
    - KVM: Use __local_flush_icache_user_range()
    - c-r4k: Fix flush_icache_range() for EVA
    - Fix -mabi=64 build of vdso.lds
    - VDSO: Drop duplicated -I*/-E* aflags
    - tracing: move insn_has_delay_slot to a shared header
    - tracing: disable uprobe/kprobe on compact branch instructions
    - ptrace: Fix regs_return_value for kernel context
    - Squash lines for simple wrapper functions
    - Move identification of VP(E) into proc.c from smp-mt.c
    - Add definitions of SYNC barrierstype values
    - traps: Ensure full EBase is written
    - tlb-r4k: If there are wired entries, don't use TLBINVF
    - Sanitise coherentio semantics
    - dma-default: Don't check hw_coherentio if device is non-coherent
    - Support per-device DMA coherence
    - Adjust MIPS64 CAC_BASE to reflect Config.K0
    - Support generating Flattened Image Trees (.itb)
    - generic: Introduce generic DT-based board support
    - generic: Convert SEAD-3 to a generic board
    - Enable hardened usercopy
    - Don't specify STACKPROTECTOR in defconfigs

    Octeon:
    - Delete dead code and files across the platform.
    - Change to use all memory into use by default.
    - Rename upper case variables in setup code to lowercase.
    - Delete legacy hack for broken bootloaders.
    - Leave maintaining the link state to the actual ethernet/PHY drivers.
    - Add DTS for D-Link DSR-500N.
    - Fix PCI interrupt routing on D-Link DSR-500N.

    Pistachio:
    - Remove ANDROID_TIMED_OUTPUT from defconfig

    TX39xx:
    - Move GPIO setup from .mem_setup() to .arch_init()
    - Convert to Common Clock Framework

    TX49xx:
    - Move GPIO setup from .mem_setup() to .arch_init()
    - Convert to Common Clock Framework

    txx9wdt:
    - Add missing clock (un)prepare calls for CCF

    BMIPS:
    - Add PW, GPIO SDHCI and NAND device node names
    - Support APPENDED_DTB
    - Add missing bcm97435svmb to DT_NONE
    - Rename bcm96358nb4ser to bcm6358-neufbox4-sercom
    - Add DT examples for BCM63268, BCM3368 and BCM6362
    - Add support for BCM3368 and BCM6362

    PCI
    - Reduce stack frame usage
    - Use struct list_head lists
    - Support for CONFIG_PCI_DOMAINS_GENERIC
    - Make pcibios_set_cache_line_size an initcall
    - Inline pcibios_assign_all_busses
    - Split pci.c into pci.c & pci-legacy.c
    - Introduce CONFIG_PCI_DRIVERS_LEGACY
    - Support generic drivers

    CPC
    - Convert bare 'unsigned' to 'unsigned int'
    - Avoid lock when MIPS CM >= 3 is present

    GIC:
    - Delete unused file smp-gic.c

    mt7620:
    - Delete unnecessary assignment for the field "owner" from PCI

    BCM63xx:
    - Let clk_disable() return immediately if clk is NULL

    pm-cps:
    - Change FSB workaround to CPU blacklist
    - Update comments on barrier instructions
    - Use MIPS standard lightweight ordering barrier
    - Use MIPS standard completion barrier
    - Remove selection of sync types
    - Add MIPSr6 CPU support
    - Support CM3 changes to Coherence Enable Register

    SMP:
    - Wrap call to mips_cpc_lock_other in mips_cm_lock_other
    - Introduce mechanism for freeing and allocating IPIs

    cpuidle:
    - cpuidle-cps: Enable use with MIPSr6 CPUs.

    SEAD3:
    - Rewrite to use DT and generic kernel feature.

    USB:
    - host: ehci-sead3: Remove SEAD-3 EHCI code

    FBDEV:
    - cobalt_lcdfb: Drop SEAD3 support

    dt-bindings:
    - Document a binding for simple ASCII LCDs

    auxdisplay:
    - img-ascii-lcd: driver for simple ASCII LCD displays

    irqchip i8259:
    - i8259: Add domain before mapping parent irq
    - i8259: Allow platforms to override poll function
    - i8259: Remove unused i8259A_irq_pending

    Malta:
    - Rewrite to use DT

    of/platform:
    - Probe "isa" busses by default

    CM:
    - Print CM error reports upon bus errors

    Module:
    - Migrate exception table users off module.h and onto extable.h
    - Make various drivers explicitly non-modular:
    - Audit and remove any unnecessary uses of module.h

    mailmap:
    - Canonicalize to Qais' current email address.

    Documentation:
    - MIPS supports HAVE_REGS_AND_STACK_ACCESS_API

    Loongson1C:
    - Add CPU support for Loongson1C
    - Add board support
    - Add defconfig
    - Add RTC support for Loongson1C board

    All this except one Documentation fix has sat in linux-next and has
    survived Imagination's automated build test system"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (127 commits)
    Documentation: MIPS supports HAVE_REGS_AND_STACK_ACCESS_API
    MIPS: ptrace: Fix regs_return_value for kernel context
    MIPS: VDSO: Drop duplicated -I*/-E* aflags
    MIPS: Fix -mabi=64 build of vdso.lds
    MIPS: Enable hardened usercopy
    MIPS: generic: Convert SEAD-3 to a generic board
    MIPS: generic: Introduce generic DT-based board support
    MIPS: Support generating Flattened Image Trees (.itb)
    MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0
    MIPS: Print CM error reports upon bus errors
    MIPS: Support per-device DMA coherence
    MIPS: dma-default: Don't check hw_coherentio if device is non-coherent
    MIPS: Sanitise coherentio semantics
    MIPS: PCI: Support generic drivers
    MIPS: PCI: Introduce CONFIG_PCI_DRIVERS_LEGACY
    MIPS: PCI: Split pci.c into pci.c & pci-legacy.c
    MIPS: PCI: Inline pcibios_assign_all_busses
    MIPS: PCI: Make pcibios_set_cache_line_size an initcall
    MIPS: PCI: Support for CONFIG_PCI_DOMAINS_GENERIC
    MIPS: PCI: Use struct list_head lists
    ...

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Just a few trivial small fixes"

    * tag 'sound-fix-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: line6: fix a crash in line6_hwdep_write()
    ALSA: seq: fix passing wrong pointer in function call of compatibility layer
    ALSA: hda - Fix a failure of micmute led when having multi adcs
    ALSA: line6: Fix POD X3 Live audio input

    Linus Torvalds
     

15 Oct, 2016

20 commits

  • Pull more misc uaccess and vfs updates from Al Viro:
    "The rest of the stuff from -next (more uaccess work) + assorted fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    score: traps: Add missing include file to fix build error
    fs/super.c: don't fool lockdep in freeze_super() and thaw_super() paths
    fs/super.c: fix race between freeze_super() and thaw_super()
    overlayfs: Fix setting IOP_XATTR flag
    iov_iter: kernel-doc import_iovec() and rw_copy_check_uvector()
    blackfin: no access_ok() for __copy_{to,from}_user()
    arm64: don't zero in __copy_from_user{,_inatomic}
    arm: don't zero in __copy_from_user_inatomic()/__copy_from_user()
    arc: don't leak bits of kernel stack into coredump
    alpha: get rid of tail-zeroing in __copy_user()

    Linus Torvalds
     
  • Pull cifs fixes from Steve French:
    "Including:

    - nine bug fixes for stable. Some of these we found at the recent two
    weeks of SMB3 test events/plugfests.

    - significant improvements in reconnection (e.g. if server or network
    crashes) especially when mounted with "persistenthandles" or to
    server which advertises Continuous Availability on the share.

    - a new mount option "idsfromsid" which improves POSIX compatibility
    in some cases (when winbind not configured e.g.) by better (and
    faster) fetching uid/gid from acl (when "cifsacl" mount option is
    enabled). NB: we are almost complete work on "cifsacl" (querying
    mode/uid/gid from ACL) for SMB3, but SMB3 support for cifsacl is
    not included in this set.

    - improved handling for SMB3 "credits" (even if server is buggy)

    Still working on two sets of changes:

    - cifsacl enablement for SMB3

    - cleanup of RFC1001 length calculation (so we can handle encryption
    and multichannel and RDMA)

    And a couple of new bugs were reported recently (unrelated to above)
    so will probably have another merge request next week"

    * 'for-next' of git://git.samba.org/sfrench/cifs-2.6: (21 commits)
    CIFS: Retrieve uid and gid from special sid if enabled
    CIFS: Add new mount option to set owner uid and gid from special sids in acl
    CIFS: Reset read oplock to NONE if we have mandatory locks after reopen
    CIFS: Fix persistent handles re-opening on reconnect
    SMB2: Separate RawNTLMSSP authentication from SMB2_sess_setup
    SMB2: Separate Kerberos authentication from SMB2_sess_setup
    Expose cifs module parameters in sysfs
    Cleanup missing frees on some ioctls
    Enable previous version support
    Do not send SMB3 SET_INFO request if nothing is changing
    SMB3: Add mount parameter to allow user to override max credits
    fs/cifs: reopen persistent handles on reconnect
    Clarify locking of cifs file and tcon structures and make more granular
    Fix regression which breaks DFS mounting
    fs/cifs: keep guid when assigning fid to fileinfo
    SMB3: GUIDs should be constructed as random but valid uuids
    Set previous session id correctly on SMB3 reconnect
    cifs: Limit the overall credit acquired
    Display number of credits available
    Add way to query creation time of file via cifs xattr
    ...

    Linus Torvalds
     
  • Pull btrfs fixes from Chris Mason:
    "Some fixes from Omar and Dave Sterba for our new free space tree.

    This isn't heavily used yet, but as we move toward making it the new
    default we wanted to nail down an endian bug"

    * 'for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    btrfs: tests: uninline member definitions in free_space_extent
    btrfs: tests: constify free space extent specs
    Btrfs: expand free space tree sanity tests to catch endianness bug
    Btrfs: fix extent buffer bitmap tests on big-endian systems
    Btrfs: catch invalid free space trees
    Btrfs: fix mount -o clear_cache,space_cache=v2
    Btrfs: fix free space tree bitmaps on big-endian systems

    Linus Torvalds
     
  • Al Viro
     
  • score images fail to build as follows.

    arch/score/kernel/traps.c: In function 'show_stack':
    arch/score/kernel/traps.c:55:3: error:
    implicit declaration of function '__get_user'

    __get_user() is declared in asm/uaccess.h, which was previously included
    through asm/module.h.

    Cc: Al Viro
    Fixes: 88dd4a748da7 ("score: separate extable.h, switch module.h to it")
    Signed-off-by: Guenter Roeck
    Signed-off-by: Al Viro

    Guenter Roeck
     
  • sb_wait_write()->percpu_rwsem_release() fools lockdep to avoid the
    false-positives. Now that xfs was fixed by Dave's commit dbad7c993053
    ("xfs: stop holding ILOCK over filldir callbacks") we can remove it and
    change freeze_super() and thaw_super() to run with s_writers.rw_sem locks
    held; we add two trivial helpers for that, lockdep_sb_freeze_release()
    and lockdep_sb_freeze_acquire().

    xfstests-dev/check `grep -il freeze tests/*/???` does not trigger any
    warning from lockdep.

    Signed-off-by: Oleg Nesterov
    Signed-off-by: Al Viro

    Oleg Nesterov
     
  • Pull overlayfs updates from Miklos Szeredi:
    "This update contains fixes to the "use mounter's permission to access
    underlying layers" area, and miscellaneous other fixes and cleanups.

    No new features this time"

    * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
    ovl: use vfs_get_link()
    vfs: add vfs_get_link() helper
    ovl: use generic_readlink
    ovl: explain error values when removing acl from workdir
    ovl: Fix info leak in ovl_lookup_temp()
    ovl: during copy up, switch to mounter's creds early
    ovl: lookup: do getxattr with mounter's permission
    ovl: copy_up_xattr(): use strnlen

    Linus Torvalds
     
  • Change thaw_super() to check frozen != SB_FREEZE_COMPLETE rather than
    frozen == SB_UNFROZEN, otherwise it can race with freeze_super() which
    drops sb->s_umount after SB_FREEZE_WRITE to preserve the lock ordering.

    In this case thaw_super() will wrongly call s_op->unfreeze_fs() before
    it was actually frozen, and call sb_freeze_unlock() which leads to the
    unbalanced percpu_up_write(). Unfortunately lockdep can't detect this,
    so this triggers misc BUG_ON()'s in kernel/rcu/sync.c.

    Reported-and-tested-by: Nikolay Borisov
    Signed-off-by: Oleg Nesterov
    Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Oleg Nesterov
     
  • ovl_fill_super calls ovl_new_inode to create a root inode for the new
    superblock before initializing sb->s_xattr. This wrongly causes
    IOP_XATTR to be cleared in i_opflags of the new inode, causing SELinux
    to log the following message:

    SELinux: (dev overlay, type overlay) has no xattr support

    Fix this by initializing sb->s_xattr and similar fields before calling
    ovl_new_inode.

    Signed-off-by: Andreas Gruenbacher
    Signed-off-by: Al Viro

    Vivek Goyal
     
  • Both import_iovec() and rw_copy_check_uvector() take an array
    (typically small and on-stack) which is used to hold an iovec array copy
    from userspace. This is to avoid an expensive memory allocation in the
    fast path (i.e. few iovec elements).

    The caller may have to check whether these functions actually used
    the provided buffer or allocated a new one -- but this differs between
    the too. Let's just add a kernel doc to clarify what the semantics are
    for each function.

    Signed-off-by: Vegard Nossum
    Signed-off-by: Al Viro

    Vegard Nossum
     
  • …/kernel/git/shuah/linux-kselftest

    Pull kselftest updates from Shuah Khan:
    "This update consists of:

    - Fixes and improvements to existing tests

    - Moving code from Documentation to selftests, samples, and tools:

    * Moves dnotify_test, prctl, ptp, vDSO, ia64, watchdog, and
    networking tests from Documentation to selftests.

    * Moves mic/mpssd, misc-devices/mei, timers, watchdog, auxdisplay,
    and blackfin examples from Documentation to samples.

    * Moves accounting, laptops/dslm, and pcmcia/crc32hash tools from
    Documentation to tools.

    * Deletes BUILD_DOCSRC and its dependencies"

    * tag 'linux-kselftest-4.9-rc1-update' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (21 commits)
    selftests/futex: Check ANSI terminal color support
    Doc: update 00-INDEX files to reflect the runnable code move
    samples: move blackfin gptimers-example from Documentation
    tools: move pcmcia crc32hash tool from Documentation
    tools: move laptops dslm tool from Documentation
    tools: move accounting tool from Documentation
    samples: move auxdisplay example code from Documentation
    samples: move watchdog example code from Documentation
    samples: move timers example code from Documentation
    samples: move misc-devices/mei example code from Documentation
    samples: move mic/mpssd example code from Documentation
    selftests: Move networking/timestamping from Documentation
    selftests: move watchdog tests from Documentation/watchdog
    selftests: move ia64 tests from Documentation/ia64
    selftests: move vDSO tests from Documentation/vDSO
    selftests: move ptp tests from Documentation/ptp
    selftests: move prctl tests from Documentation/prctl
    selftests: move dnotify_test from Documentation/filesystems
    selftests/timers: Add missing error code assignment before test
    selftests/zram: replace ZRAM_LZ4_COMPRESS
    ...

    Linus Torvalds
     
  • Pull misc kbuild changes from Michal Marek:
    "Just a few patches on the kbuild.git#misc branch this time:

    - New Coccinelle patch by Nicholas Mc Guire
    - Existing patch fixes by Julia Lawall
    - Minor comment fix by Markus Elfring"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    Coccinelle: flag conditions with no effect
    scripts/coccicheck: Update reference for the corresponding documentation
    Coccinelle: pm_runtime: ensure relevance of pm_runtime reports
    Coccinelle: limit memdup_user transformation to GFP_KERNEL case

    Linus Torvalds
     
  • Pull kbuild updates from Michal Marek:

    - EXPORT_SYMBOL for asm source by Al Viro.

    This does bring a regression, because genksyms no longer generates
    checksums for these symbols (CONFIG_MODVERSIONS). Nick Piggin is
    working on a patch to fix this.

    Plus, we are talking about functions like strcpy(), which rarely
    change prototypes.

    - Fixes for PPC fallout of the above by Stephen Rothwell and Nick
    Piggin

    - fixdep speedup by Alexey Dobriyan.

    - preparatory work by Nick Piggin to allow architectures to build with
    -ffunction-sections, -fdata-sections and --gc-sections

    - CONFIG_THIN_ARCHIVES support by Stephen Rothwell

    - fix for filenames with colons in the initramfs source by me.

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (22 commits)
    initramfs: Escape colons in depfile
    ppc: there is no clear_pages to export
    powerpc/64: whitelist unresolved modversions CRCs
    kbuild: -ffunction-sections fix for archs with conflicting sections
    kbuild: add arch specific post-link Makefile
    kbuild: allow archs to select link dead code/data elimination
    kbuild: allow architectures to use thin archives instead of ld -r
    kbuild: Regenerate genksyms lexer
    kbuild: genksyms fix for typeof handling
    fixdep: faster CONFIG_ search
    ia64: move exports to definitions
    sparc32: debride memcpy.S a bit
    [sparc] unify 32bit and 64bit string.h
    sparc: move exports to definitions
    ppc: move exports to definitions
    arm: move exports to definitions
    s390: move exports to definitions
    m68k: move exports to definitions
    alpha: move exports to actual definitions
    x86: move exports to actual definitions
    ...

    Linus Torvalds
     
  • Pull one more documentation update from Jonathan Corbet:
    "A single commit converting the mac80211 DocBook template over to
    Sphinx. Only 32 more to go..."

    * tag 'docs-4.9-2' of git://git.lwn.net/linux:
    docs-rst: sphinxify 802.11 documentation

    Linus Torvalds
     
  • Pull rdma qedr RoCE driver from Doug Ledford:
    "Early on in the merge window I mentioned I had a backlog of new
    drivers waiting to be reviewed and that, in addition to the hns-roce
    driver, I wanted to get possible a couple more reviewed. I ended up
    only having the time to complete one of the additional drivers.

    During Dave Miller's pull request this go around, there were a series
    of 9 patches to the QLogic qed net driver that add basic support for a
    paired RoCE driver. That support is currently not functional because
    it is missing the matching RoCE driver in the RDMA subsystem. I
    managed to finish that review. However, because it goes against part
    of Dave's net pull, and a part that was accepted a day or two after
    the merge window opened, to apply cleanly it has to be applied to
    either the tip of Dave's net branch, or as I did in this case, I just
    applied it to your master after you had taken Dave's pull request."

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
    qedr: Add events support and register IB device
    qedr: Add GSI support
    qedr: Add LL2 RoCE interface
    qedr: Add support for data path
    qedr: Add support for memory registeration verbs
    qedr: Add support for QP verbs
    qedr: Add support for PD,PKEY and CQ verbs
    qedr: Add support for user context verbs
    qedr: Add support for RoCE HW init
    qedr: Add RoCE driver framework

    Linus Torvalds
     
  • Pull more rdma updates from Doug Ledford:
    "This merge window was the first where Huawei had to try and coordinate
    their patches between their net driver and their new roce driver
    (similar to mlx4 and mlx5).

    They didn't do horribly, but there were some issues (and we knew that
    because they simply didn't know what to do in the beginning). As a
    result, I had a set of patches that depended on some patches that
    normally would have come to you via Dave's tree. Those patches have
    been on netdev@ for a while, so I got Dave to give me his approval to
    send them to you. As such, the other 29 patches I had behind them are
    also now ready to go.

    This catches the hns and hns-roce drivers up to current, and for
    future patches we are working with them to get them up to speed on how
    to do joint driver development so that they don't have these sorts of
    cross tree dependency issues again. BTW, Dave gave me permission to
    add his Acked-by: to the patches against the net tree, but I've had
    this branch through 0day (but not linux-next since it was off by
    itself) and I didn't want to rebase the series just to add Dave's ack
    for the 8 patches in the net area.

    Updates to the hns drivers:

    - Small patch set for hns net driver that the roce patches depend on

    - Various fixes to the hns-roce driver

    - Add connection manager support to the hns-roce driver"

    * tag 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (36 commits)
    IB/hns: Fix for removal of redundant code
    IB/hns: Delete the redundant lines in hns_roce_v1_m_qp()
    IB/hns: Fix the bug when platform_get_resource() exec fail
    IB/hns: Update the rq head when modify qp state
    IB/hns: Cq has not been freed
    IB/hns: Validate mtu when modified qp
    IB/hns: Some items of qpc need to take user param
    IB/hns: The Ack timeout need a lower limit value
    IB/hns: Return bad wr while post send failed
    IB/hns: Fix bug of memory leakage for registering user mr
    IB/hns: Modify the init of iboe lock
    IB/hns: Optimize code of aeq and ceq interrupt handle and fix the bug of qpn
    IB/hns: Delete the sqp_start from the structure hns_roce_caps
    IB/hns: Fix bug of clear hem
    IB/hns: Remove unused parameter named qp_type
    IB/hns: Simplify function of pd alloc and qp alloc
    IB/hns: Fix bug of using uninit refcount and free
    IB/hns: Remove parameters of resize cq
    IB/hns: Remove unused parameters in some functions
    IB/hns: Add node_guid definition to the bindings document
    ...

    Linus Torvalds
     
  • Pull some more input subsystem updates from Dmitry Torokhov:
    "An update to the ALPS driver to support the V8 protocol with
    touchstick, a change for i8042 to skip selftest on many Asus laptops
    which helps to keep their touchpads working after resume, and a couple
    other driver fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: i8042 - skip selftest on ASUS laptops
    Input: melfas_mip4 - add ic_name sysfs attribute
    Input: melfas_mip4 - add maintainer information
    Input: melfas_mip4 - add devicetree binding documentations
    Input: elantech - add Fujitsu Lifebook E556 to force crc_enabled
    Input: synaptics-rmi4 - fix error handling in I2C transport driver
    Input: synaptics-rmi4 - fix error handling in SPI transport driver
    Input: ALPS - add V8 protocol documentation
    Input: ALPS - set DualPoint flag for 74 03 28 devices
    Input: ALPS - allow touchsticks to report pressure
    Input: ALPS - handle 0-pressure 1F events
    Input: ALPS - add touchstick support for SS5 hardware
    Input: elantech - force needed quirks on Fujitsu H760
    Input: elantech - fix Lenovo version typo

    Linus Torvalds
     
  • Pull RTC updates from Alexandre Belloni:
    "RTC for 4.9

    Subsystem:
    - delete owner assignment in multiple drivers
    - constify rtc_class_ops structures

    Drivers:
    - ac100: support clock-output-names
    - cmos: properly handle ACPI alarms and quirky BIOSes and other fixes
    - ds1307: fix century bit support while staying comaptible with
    previous behaviour by default
    - ds1347: switch to regmap
    - isl12057 is now handled by ds1307
    - omap: support external wakeup
    - rv8803: allow to disable voltage drop detection"

    * tag 'rtc-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (25 commits)
    rtc: rv8803: set VDETOFF and SWOFF via device tree
    dt/bindings: Add bindings for Micro Crystal rv8803
    devicetree: Add Micro Crystal AG vendor id
    rtc: cmos: avoid unused function warning
    rtc: ac100: Add NULL checking for devm_kzalloc call
    rtc: ds1347: changed raw spi calls to register map calls
    rtc: cmos: Restore alarm after resume
    rtc: cmos: Clear ACPI-driven alarms upon resume
    rtc: omap: Support ext_wakeup configuration
    rtc: cmos: Initialize hpet timer before irq is registered
    rtc: asm9260: rework locking
    rtc: asm9260: allow COMPILE_TEST
    rtc: constify rtc_class_ops structures
    rtc: ac100: support clock-output-names in device tree binding
    rtc: rx6110: remove owner assignment
    rtc: pic32: Delete owner assignment
    rtc: bq32k: Fix handling of oscillator failure flag
    rtc: bq32k: Use correct mask name for 'minutes' register.
    rtc: sysfs: fix a cast removing the const attribute
    Documentation: dt: Intersil isl12057 is not a trivial device
    ...

    Linus Torvalds
     
  • Pull more i2c updates from Wolfram Sang:
    "A small update pull request from I2C.

    This adds one comment to a change we did in this merge window to
    handle lockdep better, and pulls in a branch which should have been in
    4.8 already improving DT support for I2C"

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    gpio: pca953x: add a comment explaining the need for a lockdep subclass
    i2c: core: Add support for 'i2c-bus' subnode
    dt-bindings: i2c: Add support for 'i2c-bus' subnode

    Linus Torvalds
     
  • Pull more ACPI updates from Rafael Wysocki:
    "This includes a couple of fixes needed after recent changes, two ACPI
    driver fixes (fan and "Processor Aggregator"), an update of the ACPI
    device properties handling code and a new MAINTAINERS entry for ACPI
    on ARM64.

    Specifics:

    - Fix an unused function warning that started to appear after recent
    changes in the ACPI EC driver (Eric Biggers).

    - Fix the KERN_CONT usage in acpi_os_vprintf() that has become
    (particularly) annoying recently (Joe Perches).

    - Fix the fan status checking in the ACPI fan driver to avoid
    returning incorrect error codes sometimes (Srinivas Pandruvada).

    - Fix the ACPI Processor Aggregator driver (PAD) to always let the
    special processor_aggregator driver from Xen take over when running
    as Xen dom0 (Juergen Gross).

    - Update the handling of reference device properties in ACPI by
    allowing empty rows ("holes") to appear in reference property lists
    (Mika Westerberg).

    - Add a new MAINTAINERS entry for ACPI on ARM64 (Lorenzo Pieralisi)"

    * tag 'acpi-extra-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    acpi_os_vprintf: Use printk_get_level() to avoid unnecessary KERN_CONT
    ACPI / PAD: don't register acpi_pad driver if running as Xen dom0
    ACPI / property: Allow holes in reference properties
    MAINTAINERS: Add ARM64-specific ACPI maintainers entry
    ACPI / EC: Fix unused function warning when CONFIG_PM_SLEEP=n
    ACPI / fan: Fix error reading cur_state

    Linus Torvalds