20 Oct, 2016

1 commit

  • Asking for a non-current task's stack can't be done without races
    unless the task is frozen in kernel mode. As far as I know,
    vm_is_stack_for_task() never had a safe non-current use case.

    The __unused annotation is because some KSTK_ESP implementations
    ignore their parameter, which IMO is further justification for this
    patch.

    Signed-off-by: Andy Lutomirski
    Acked-by: Thomas Gleixner
    Cc: Al Viro
    Cc: Andrew Morton
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Jann Horn
    Cc: Kees Cook
    Cc: Linus Torvalds
    Cc: Linux API
    Cc: Peter Zijlstra
    Cc: Tycho Andersen
    Link: http://lkml.kernel.org/r/4c3f68f426e6c061ca98b4fc7ef85ffbb0a25b0c.1475257877.git.luto@kernel.org
    Signed-off-by: Ingo Molnar

    Andy Lutomirski
     

19 Oct, 2016

1 commit

  • Pull perf fixes from Ingo Molnar:
    "Four tooling fixes, two kprobes KASAN related fixes and an x86 PMU
    driver fix/cleanup"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf jit: Fix build issue on Ubuntu
    perf jevents: Handle events including .c and .o
    perf/x86/intel: Remove an inconsistent NULL check
    kprobes: Unpoison stack in jprobe_return() for KASAN
    kprobes: Avoid false KASAN reports during stack copy
    perf header: Set nr_numa_nodes only when we parsed all the data
    perf top: Fix refreshing hierarchy entries on TUI

    Linus Torvalds
     

18 Oct, 2016

1 commit

  • pkey_set() and pkey_get() were syscalls present in older versions
    of the protection keys patches. They were fully excised from the
    x86 code, but some cruft was left in the generic syscall code. The
    C++ comments were intended to help to make it more glaring to me to
    fix them before actually submitting them. That technique worked,
    but later than I would have liked.

    I test-compiled this for arm64.

    Fixes: a60f7b69d92c0 ("generic syscalls: Wire up memory protection keys syscalls")
    Signed-off-by: Dave Hansen
    Acked-by: Arnd Bergmann
    Cc: Thomas Gleixner
    Cc: x86@kernel.org
    Cc: linux-arch@vger.kernel.org
    Cc: mgorman@techsingularity.net
    Cc: linux-api@vger.kernel.org
    Cc: linux-mm@kvack.org
    Cc: luto@kernel.org
    Cc: akpm@linux-foundation.org
    Signed-off-by: Linus Torvalds

    Dave Hansen
     

16 Oct, 2016

2 commits

  • I observed false KSAN positives in the sctp code, when
    sctp uses jprobe_return() in jsctp_sf_eat_sack().

    The stray 0xf4 in shadow memory are stack redzones:

    [ ] ==================================================================
    [ ] BUG: KASAN: stack-out-of-bounds in memcmp+0xe9/0x150 at addr ffff88005e48f480
    [ ] Read of size 1 by task syz-executor/18535
    [ ] page:ffffea00017923c0 count:0 mapcount:0 mapping: (null) index:0x0
    [ ] flags: 0x1fffc0000000000()
    [ ] page dumped because: kasan: bad access detected
    [ ] CPU: 1 PID: 18535 Comm: syz-executor Not tainted 4.8.0+ #28
    [ ] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    [ ] ffff88005e48f2d0 ffffffff82d2b849 ffffffff0bc91e90 fffffbfff10971e8
    [ ] ffffed000bc91e90 ffffed000bc91e90 0000000000000001 0000000000000000
    [ ] ffff88005e48f480 ffff88005e48f350 ffffffff817d3169 ffff88005e48f370
    [ ] Call Trace:
    [ ] [] dump_stack+0x12e/0x185
    [ ] [] kasan_report+0x489/0x4b0
    [ ] [] __asan_report_load1_noabort+0x19/0x20
    [ ] [] memcmp+0xe9/0x150
    [ ] [] depot_save_stack+0x176/0x5c0
    [ ] [] save_stack+0xb1/0xd0
    [ ] [] kasan_slab_free+0x72/0xc0
    [ ] [] kfree+0xc8/0x2a0
    [ ] [] skb_free_head+0x79/0xb0
    [ ] [] skb_release_data+0x37a/0x420
    [ ] [] skb_release_all+0x4f/0x60
    [ ] [] consume_skb+0x138/0x370
    [ ] [] sctp_chunk_put+0xcb/0x180
    [ ] [] sctp_chunk_free+0x58/0x70
    [ ] [] sctp_inq_pop+0x68f/0xef0
    [ ] [] sctp_assoc_bh_rcv+0xd6/0x4b0
    [ ] [] sctp_inq_push+0x131/0x190
    [ ] [] sctp_backlog_rcv+0xe9/0xa20
    [ ... ]
    [ ] Memory state around the buggy address:
    [ ] ffff88005e48f380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ ] ffff88005e48f400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ ] >ffff88005e48f480: f4 f4 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ ] ^
    [ ] ffff88005e48f500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ ] ffff88005e48f580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ ] ==================================================================

    KASAN stack instrumentation poisons stack redzones on function entry
    and unpoisons them on function exit. If a function exits abnormally
    (e.g. with a longjmp like jprobe_return()), stack redzones are left
    poisoned. Later this leads to random KASAN false reports.

    Unpoison stack redzones in the frames we are going to jump over
    before doing actual longjmp in jprobe_return().

    Signed-off-by: Dmitry Vyukov
    Acked-by: Masami Hiramatsu
    Reviewed-by: Mark Rutland
    Cc: Mark Rutland
    Cc: Catalin Marinas
    Cc: Andrey Ryabinin
    Cc: Lorenzo Pieralisi
    Cc: Alexander Potapenko
    Cc: Will Deacon
    Cc: Andrew Morton
    Cc: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Cc: "David S. Miller"
    Cc: Masami Hiramatsu
    Cc: kasan-dev@googlegroups.com
    Cc: surovegin@google.com
    Cc: rostedt@goodmis.org
    Link: http://lkml.kernel.org/r/1476454043-101898-1-git-send-email-dvyukov@google.com
    Signed-off-by: Ingo Molnar

    Dmitry Vyukov
     
  • 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
     

15 Oct, 2016

16 commits

  • 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
     
  • 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
     
  • 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 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
     
  • Pull more power management updates from Rafael Wysocki:
    "This includes a couple of fixes for cpufreq regressions introduced in
    4.8, a rework of the intel_pstate algorithm used on Atom processors
    (that took some time to test) plus a fix and a couple of cleanups in
    that driver, a CPPC cpufreq driver fix, and a some devfreq fixes and
    cleanups (core and exynos-nocp).

    Specifics:

    - Fix two cpufreq regressions causing undesirable changes in behavior
    to appear (one in the core and one in the conservative governor)
    introduced during the 4.8 cycle (Aaro Koskinen, Rafael Wysocki).

    - Fix the way the intel_pstate driver accesses MSRs related to the
    hardware-managed P-states (HWP) feature during the initialization
    which currently is unsafe and may cause the processor to generate a
    general protection fault (Srinivas Pandruvada).

    - Rework the intel_pstate's P-state selection algorithm used on Atom
    processors to avoid known problems with the current one and to make
    the computation more straightforward, which also happens to improve
    performance in multiple benchmarks a bit (Rafael Wysocki).

    - Improve two comments in the intel_pstate driver (Rafael Wysocki).

    - Fix the desired performance computation in the CPPC cpufreq driver
    (Hoan Tran).

    - Fix the devfreq core to avoid printing misleading error messages in
    some cases (Tobias Jakobi).

    - Fix the error code path in devfreq_add_device() to use proper
    locking around list modifications (Axel Lin).

    - Fix a build failure and remove a couple of redundant updates of
    variables in the exynos-nocp devfreq driver (Axel Lin)"

    * tag 'pm-extra-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: CPPC: Correct desired_perf calculation
    cpufreq: conservative: Fix next frequency selection
    cpufreq: skip invalid entries when searching the frequency
    cpufreq: intel_pstate: Fix struct pstate_adjust_policy kerneldoc
    cpufreq: intel_pstate: Proportional algorithm for Atom
    PM / devfreq: Skip status update on uninitialized previous_freq
    PM / devfreq: Add proper locking around list_del()
    PM / devfreq: exynos-nocp: Remove redundant code
    PM / devfreq: exynos-nocp: Select REGMAP_MMIO
    cpufreq: intel_pstate: Clarify comment in get_target_pstate_use_performance()
    cpufreq: intel_pstate: Fix unsafe HWP MSR access

    Linus Torvalds
     
  • Pull cgroup updates from Tejun Heo:

    - tracepoints for basic cgroup management operations added

    - kernfs and cgroup path formatting functions updated to behave in the
    style of strlcpy()

    - non-critical bug fixes

    * 'for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    blkcg: Unlock blkcg_pol_mutex only once when cpd == NULL
    cgroup: fix error handling regressions in proc_cgroup_show() and cgroup_release_agent()
    cpuset: fix error handling regression in proc_cpuset_show()
    cgroup: add tracepoints for basic operations
    cgroup: make cgroup_path() and friends behave in the style of strlcpy()
    kernfs: remove kernfs_path_len()
    kernfs: make kernfs_path*() behave in the style of strlcpy()
    kernfs: add dummy implementation of kernfs_path_from_node()

    Linus Torvalds
     
  • Add support for Queue Pair verbs which adds, deletes,
    modifies and queries Queue Pairs.

    Signed-off-by: Rajesh Borundia
    Signed-off-by: Ram Amrani
    Signed-off-by: Doug Ledford

    Ram Amrani
     
  • Add support for protection domain and completion queue verbs.

    Signed-off-by: Rajesh Borundia
    Signed-off-by: Ram Amrani
    Signed-off-by: Doug Ledford

    Ram Amrani
     
  • Add support for ucontext, query port, add and del gid verbs.

    Signed-off-by: Rajesh Borundia
    Signed-off-by: Ram Amrani
    Signed-off-by: Doug Ledford

    Ram Amrani
     
  • Adds a skeletal implementation of the qed* RoCE driver -
    basically the ability to communicate with the qede driver and
    receive notifications from it regarding various init/exit events.

    Signed-off-by: Rajesh Borundia
    Signed-off-by: Ram Amrani
    Signed-off-by: Doug Ledford

    Ram Amrani
     
  • Pull percpu updates from Tejun Heo:

    - Nick improved generic implementations of percpu operations which
    modify the variable and return so that they calculate the physical
    address only once.

    - percpu_ref percpu atomic mode switching improvements. The
    patchset was originally posted about a year ago but fell through the
    crack.

    - misc non-critical fixes.

    * 'for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    mm/percpu.c: fix potential memory leakage for pcpu_embed_first_chunk()
    mm/percpu.c: correct max_distance calculation for pcpu_embed_first_chunk()
    percpu: eliminate two sparse warnings
    percpu: improve generic percpu modify-return implementation
    percpu-refcount: init ->confirm_switch member properly
    percpu_ref: allow operation mode switching operations to be called concurrently
    percpu_ref: restructure operation mode switching
    percpu_ref: unify staggered atomic switching wait behavior
    percpu_ref: reorganize __percpu_ref_switch_to_atomic() and relocate percpu_ref_switch_to_atomic()
    percpu_ref: remove unnecessary RCU grace period for staggered atomic switching confirmation

    Linus Torvalds
     
  • Pull libata updates from Tejun Heo:
    - Write same support added
    - Minor ahci MSIX irq handling updates
    - Non-critical SCSI command translation fixes
    - Controller specific changes

    * 'for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    ahci: qoriq: Revert "ahci: qoriq: Disable NCQ on ls2080a SoC"
    libata: remove
    libata: remove unused definitions from
    pata_at91: Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR
    ata: Replace BUG() with BUG_ON().
    ata: sata_mv: Replacing dma_pool_alloc and memset with a single call dma_pool_zalloc.
    libata: Some drives failing on SCT Write Same
    ahci: use pci_alloc_irq_vectors
    libata: SCT Write Same handle ATA_DFLAG_PIO
    libata: SCT Write Same / DSM Trim
    libata: Add support for SCT Write Same
    libata: Safely overwrite attached page in WRITE SAME xlat
    ahci: also use a per-port lock for the multi-MSIX case
    ARM: dts: STiH407-family: Add ports-implemented property in sata nodes
    ahci: st: Add ports-implemented property in support
    ahci: qoriq: enable snoopable sata read and write
    ahci: qoriq: adjust sata parameter
    libata-scsi: fix MODE SELECT translation for Control mode page
    libata-scsi: use u8 array to store mode page copy

    Linus Torvalds
     
  • This easy-to-trigger warning shows up instantly when running
    Trinity on a kernel with CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS disabled.

    At most this should have been a printk, but the -EINVAL alone should be more
    than adequate indicator that something isn't available.

    Signed-off-by: Dave Jones
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • Pull more powerpc updates from Michael Ellerman:
    "Some more powerpc updates for 4.9:

    Freescale updates from Scott Wood:
    - qbman support (a prerequisite for datapath drivers such as ethernet)
    - a PCI DMA fix+improvement
    - reset handler changes
    - more 8xx optimizations
    - some cleanups and fixes.'

    Fixes:
    - selftests/powerpc: Add missing binaries to .gitignores (Michael Ellerman)
    - selftests/powerpc: Fix build break caused by EXPORT_SYMBOL changes (Michael Ellerman)
    - powerpc/pseries: Fix stack corruption in htpe code (Laurent Dufour)
    - powerpc/64s: Fix power4_fixup_nap placement (Nicholas Piggin)
    - powerpc/64: Fix incorrect return value from __copy_tofrom_user (Paul Mackerras)
    - powerpc/mm/hash64: Fix might_have_hea() check (Michael Ellerman)

    Other:
    - MAINTAINERS: Remove myself from PA Semi entries (Olof Johansson)
    - MAINTAINERS: Drop separate pseries entry (Michael Ellerman)
    - MAINTAINERS: Update powerpc website & add selftests (Michael Ellerman):

    * tag 'powerpc-4.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (35 commits)
    powerpc/mm/hash64: Fix might_have_hea() check
    powerpc/64: Fix incorrect return value from __copy_tofrom_user
    powerpc/64s: Fix power4_fixup_nap placement
    powerpc/pseries: Fix stack corruption in htpe code
    selftests/powerpc: Fix build break caused by EXPORT_SYMBOL changes
    MAINTAINERS: Update powerpc website & add selftests
    MAINTAINERS: Drop separate pseries entry
    MAINTAINERS: Remove myself from PA Semi entries
    selftests/powerpc: Add missing binaries to .gitignores
    arch/powerpc: Add CONFIG_FSL_DPAA to corenetXX_smp_defconfig
    soc/qman: Add self-test for QMan driver
    soc/bman: Add self-test for BMan driver
    soc/fsl: Introduce DPAA 1.x QMan device driver
    soc/fsl: Introduce DPAA 1.x BMan device driver
    powerpc/8xx: make user addr DTLB miss the short path
    powerpc/8xx: Move additional DTLBMiss handlers out of exception area
    powerpc/8xx: use r3 to scratch CR in ITLBmiss
    soc/fsl/qe: fix gpio save_regs functions
    powerpc/8xx: add dedicated machine check handler
    powerpc/8xx: add system_reset_exception
    ...

    Linus Torvalds
     

14 Oct, 2016

9 commits

  • * device-properties:
    ACPI / property: Allow holes in reference properties

    * acpi-misc:
    MAINTAINERS: Add ARM64-specific ACPI maintainers entry

    Rafael J. Wysocki
     
  • * pm-cpufreq:
    cpufreq: CPPC: Correct desired_perf calculation
    cpufreq: conservative: Fix next frequency selection
    cpufreq: skip invalid entries when searching the frequency
    cpufreq: intel_pstate: Fix struct pstate_adjust_policy kerneldoc
    cpufreq: intel_pstate: Proportional algorithm for Atom
    cpufreq: intel_pstate: Clarify comment in get_target_pstate_use_performance()
    cpufreq: intel_pstate: Fix unsafe HWP MSR access

    * pm-devfreq:
    PM / devfreq: Skip status update on uninitialized previous_freq
    PM / devfreq: Add proper locking around list_del()
    PM / devfreq: exynos-nocp: Remove redundant code
    PM / devfreq: exynos-nocp: Select REGMAP_MMIO

    Rafael J. Wysocki
     
  • This helper is for filesystems that want to read the symlink and are better
    off with the get_link() interface (returning a char *) rather than the
    readlink() interface (copy into a userspace buffer).

    Also call the LSM hook for readlink (not get_link) since this is for
    symlink reading not following.

    Signed-off-by: Miklos Szeredi

    Miklos Szeredi
     
  • Pull networking fixes from David Miller:

    1) Fix various build warnings in tlan/qed/xen-netback drivers, from
    Arnd Bergmann.

    2) Propagate proper error code in strparser's strp_recv(), from Geert
    Uytterhoeven.

    3) Fix accidental broadcast of RTM_GETTFILTER responses, from Eric
    Dumazret.

    4) Need to use list_for_each_entry_safe() in qed driver, from Wei
    Yongjun.

    5) Openvswitch 802.1AD bug fixes from Jiri Benc.

    6) Cure BUILD_BUG_ON() in mlx5 driver, from Tom Herbert.

    7) Fix UDP ipv6 checksumming in netvsc driver, from Stephen Hemminger.

    8) stmmac driver fixes from Giuseppe CAVALLARO.

    9) Fix access to mangled IP6CB in tcp, from Eric Dumazet.

    10) Fix info leaks in tipc and rtnetlink, from Dan Carpenter.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (27 commits)
    net: bridge: add the multicast_flood flag attribute to brport_attrs
    net: axienet: Remove unused parameter from __axienet_device_reset
    liquidio: CN23XX: fix a loop timeout
    net: rtnl: info leak in rtnl_fill_vfinfo()
    tipc: info leak in __tipc_nl_add_udp_addr()
    net: ipv4: Do not drop to make_route if oif is l3mdev
    net: phy: Trigger state machine on state change and not polling.
    ipv6: tcp: restore IP6CB for pktoptions skbs
    netvsc: Remove mistaken udp.h inclusion.
    xen-netback: fix type mismatch warning
    stmmac: fix error check when init ptp
    stmmac: fix ptp init for gmac4
    qed: fix old-style function definition
    netvsc: fix checksum on UDP IPV6
    net_sched: reorder pernet ops and act ops registrations
    xen-netback: fix guest Rx stall detection (after guest Rx refactor)
    drivers/ptp: Fix kernel memory disclosure
    net/mlx5: Add MLX5_ARRAY_SET64 to fix BUILD_BUG_ON
    qmi_wwan: add support for Quectel EC21 and EC25
    openvswitch: add NETIF_F_HW_VLAN_STAG_TX to internal dev
    ...

    Linus Torvalds
     
  • Pull NFS client updates from Anna Schumaker:
    "Highlights include:

    Stable bugfixes:
    - sunrpc: fix writ espace race causing stalls
    - NFS: Fix inode corruption in nfs_prime_dcache()
    - NFSv4: Don't report revoked delegations as valid in nfs_have_delegation()
    - NFSv4: nfs4_copy_delegation_stateid() must fail if the delegation is invalid
    - NFSv4: Open state recovery must account for file permission changes
    - NFSv4.2: Fix a reference leak in nfs42_proc_layoutstats_generic

    Features:
    - Add support for tracking multiple layout types with an ordered list
    - Add support for using multiple backchannel threads on the client
    - Add support for pNFS file layout session trunking
    - Delay xprtrdma use of DMA API (for device driver removal)
    - Add support for xprtrdma remote invalidation
    - Add support for larger xprtrdma inline thresholds
    - Use a scatter/gather list for sending xprtrdma RPC calls
    - Add support for the CB_NOTIFY_LOCK callback
    - Improve hashing sunrpc auth_creds by using both uid and gid

    Bugfixes:
    - Fix xprtrdma use of DMA API
    - Validate filenames before adding to the dcache
    - Fix corruption of xdr->nwords in xdr_copy_to_scratch
    - Fix setting buffer length in xdr_set_next_buffer()
    - Don't deadlock the state manager on the SEQUENCE status flags
    - Various delegation and stateid related fixes
    - Retry operations if an interrupted slot receives EREMOTEIO
    - Make nfs boot time y2038 safe"

    * tag 'nfs-for-4.9-1' of git://git.linux-nfs.org/projects/anna/linux-nfs: (100 commits)
    NFSv4.2: Fix a reference leak in nfs42_proc_layoutstats_generic
    fs: nfs: Make nfs boot time y2038 safe
    sunrpc: replace generic auth_cred hash with auth-specific function
    sunrpc: add RPCSEC_GSS hash_cred() function
    sunrpc: add auth_unix hash_cred() function
    sunrpc: add generic_auth hash_cred() function
    sunrpc: add hash_cred() function to rpc_authops struct
    Retry operation on EREMOTEIO on an interrupted slot
    pNFS: Fix atime updates on pNFS clients
    sunrpc: queue work on system_power_efficient_wq
    NFSv4.1: Even if the stateid is OK, we may need to recover the open modes
    NFSv4: If recovery failed for a specific open stateid, then don't retry
    NFSv4: Fix retry issues with nfs41_test/free_stateid
    NFSv4: Open state recovery must account for file permission changes
    NFSv4: Mark the lock and open stateids as invalid after freeing them
    NFSv4: Don't test open_stateid unless it is set
    NFSv4: nfs4_do_handle_exception() handle revoke/expiry of a single stateid
    NFS: Always call nfs_inode_find_state_and_recover() when revoking a delegation
    NFSv4: Fix a race when updating an open_stateid
    NFSv4: Fix a race in nfs_inode_reclaim_delegation()
    ...

    Linus Torvalds
     
  • Pull nfsd updates from Bruce Fields:
    "Some RDMA work and some good bugfixes, and two new features that could
    benefit from user testing:

    - Anna Schumacker contributed a simple NFSv4.2 COPY implementation.
    COPY is already supported on the client side, so a call to
    copy_file_range() on a recent client should now result in a
    server-side copy that doesn't require all the data to make a round
    trip to the client and back.

    - Jeff Layton implemented callbacks to notify clients when contended
    locks become available, which should reduce latency on workloads
    with contended locks"

    * tag 'nfsd-4.9' of git://linux-nfs.org/~bfields/linux:
    NFSD: Implement the COPY call
    nfsd: handle EUCLEAN
    nfsd: only WARN once on unmapped errors
    exportfs: be careful to only return expected errors.
    nfsd4: setclientid_confirm with unmatched verifier should fail
    nfsd: randomize SETCLIENTID reply to help distinguish servers
    nfsd: set the MAY_NOTIFY_LOCK flag in OPEN replies
    nfs: add a new NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK constant
    nfsd: add a LRU list for blocked locks
    nfsd: have nfsd4_lock use blocking locks for v4.1+ locks
    nfsd: plumb in a CB_NOTIFY_LOCK operation
    NFSD: fix corruption in notifier registration
    svcrdma: support Remote Invalidation
    svcrdma: Server-side support for rpcrdma_connect_private
    rpcrdma: RDMA/CM private message data structure
    svcrdma: Skip put_page() when send_reply() fails
    svcrdma: Tail iovec leaves an orphaned DMA mapping
    nfsd: fix dprintk in nfsd4_encode_getdeviceinfo
    nfsd: eliminate cb_minorversion field
    nfsd: don't set a FL_LAYOUT lease for flexfiles layouts

    Linus Torvalds
     
  • …kernel/git/dgc/linux-xfs

    < XFS has gained super CoW powers! >
    ----------------------------------
    \ ^__^
    \ (oo)\_______
    (__)\ )\/\
    ||----w |
    || ||

    Pull XFS support for shared data extents from Dave Chinner:
    "This is the second part of the XFS updates for this merge cycle. This
    pullreq contains the new shared data extents feature for XFS.

    Given the complexity and size of this change I am expecting - like the
    addition of reverse mapping last cycle - that there will be some
    follow-up bug fixes and cleanups around the -rc3 stage for issues that
    I'm sure will show up once the code hits a wider userbase.

    What it is:

    At the most basic level we are simply adding shared data extents to
    XFS - i.e. a single extent on disk can now have multiple owners. To do
    this we have to add new on-disk features to both track the shared
    extents and the number of times they've been shared. This is done by
    the new "refcount" btree that sits in every allocation group. When we
    share or unshare an extent, this tree gets updated.

    Along with this new tree, the reverse mapping tree needs to be updated
    to track each owner or a shared extent. This also needs to be updated
    ever share/unshare operation. These interactions at extent allocation
    and freeing time have complex ordering and recovery constraints, so
    there's a significant amount of new intent-based transaction code to
    ensure that operations are performed atomically from both the runtime
    and integrity/crash recovery perspectives.

    We also need to break sharing when writes hit a shared extent - this
    is where the new copy-on-write implementation comes in. We allocate
    new storage and copy the original data along with the overwrite data
    into the new location. We only do this for data as we don't share
    metadata at all - each inode has it's own metadata that tracks the
    shared data extents, the extents undergoing CoW and it's own private
    extents.

    Of course, being XFS, nothing is simple - we use delayed allocation
    for CoW similar to how we use it for normal writes. ENOSPC is a
    significant issue here - we build on the reservation code added in
    4.8-rc1 with the reverse mapping feature to ensure we don't get
    spurious ENOSPC issues part way through a CoW operation. These
    mechanisms also help minimise fragmentation due to repeated CoW
    operations. To further reduce fragmentation overhead, we've also
    introduced a CoW extent size hint, which indicates how large a region
    we should allocate when we execute a CoW operation.

    With all this functionality in place, we can hook up .copy_file_range,
    .clone_file_range and .dedupe_file_range and we gain all the
    capabilities of reflink and other vfs provided functionality that
    enable manipulation to shared extents. We also added a fallocate mode
    that explicitly unshares a range of a file, which we implemented as an
    explicit CoW of all the shared extents in a file.

    As such, it's a huge chunk of new functionality with new on-disk
    format features and internal infrastructure. It warns at mount time as
    an experimental feature and that it may eat data (as we do with all
    new on-disk features until they stabilise). We have not released
    userspace suport for it yet - userspace support currently requires
    download from Darrick's xfsprogs repo and build from source, so the
    access to this feature is really developer/tester only at this point.
    Initial userspace support will be released at the same time the kernel
    with this code in it is released.

    The new code causes 5-6 new failures with xfstests - these aren't
    serious functional failures but things the output of tests changing
    slightly due to perturbations in layouts, space usage, etc. OTOH,
    we've added 150+ new tests to xfstests that specifically exercise this
    new functionality so it's got far better test coverage than any
    functionality we've previously added to XFS.

    Darrick has done a pretty amazing job getting us to this stage, and
    special mention also needs to go to Christoph (review, testing,
    improvements and bug fixes) and Brian (caught several intricate bugs
    during review) for the effort they've also put in.

    Summary:

    - unshare range (FALLOC_FL_UNSHARE) support for fallocate

    - copy-on-write extent size hints (FS_XFLAG_COWEXTSIZE) for fsxattr
    interface

    - shared extent support for XFS

    - copy-on-write support for shared extents

    - copy_file_range support

    - clone_file_range support (implements reflink)

    - dedupe_file_range support

    - defrag support for reverse mapping enabled filesystems"

    * tag 'xfs-reflink-for-linus-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (71 commits)
    xfs: convert COW blocks to real blocks before unwritten extent conversion
    xfs: rework refcount cow recovery error handling
    xfs: clear reflink flag if setting realtime flag
    xfs: fix error initialization
    xfs: fix label inaccuracies
    xfs: remove isize check from unshare operation
    xfs: reduce stack usage of _reflink_clear_inode_flag
    xfs: check inode reflink flag before calling reflink functions
    xfs: implement swapext for rmap filesystems
    xfs: refactor swapext code
    xfs: various swapext cleanups
    xfs: recognize the reflink feature bit
    xfs: simulate per-AG reservations being critically low
    xfs: don't mix reflink and DAX mode for now
    xfs: check for invalid inode reflink flags
    xfs: set a default CoW extent size of 32 blocks
    xfs: convert unwritten status of reverse mappings for shared files
    xfs: use interval query for rmap alloc operations on shared files
    xfs: add shared rmap map/unmap/convert log item types
    xfs: increase log reservations for reflink
    ...

    Linus Torvalds
     
  • Pull watchdog updates from Wim Van Sebroeck:

    - a new watchdog pretimeout governor framework

    - support to upload the firmware on the ziirave_wdt

    - several fixes and cleanups

    * git://www.linux-watchdog.org/linux-watchdog: (26 commits)
    watchdog: imx2_wdt: add pretimeout function support
    watchdog: softdog: implement pretimeout support
    watchdog: pretimeout: add pretimeout_available_governors attribute
    watchdog: pretimeout: add option to select a pretimeout governor in runtime
    watchdog: pretimeout: add panic pretimeout governor
    watchdog: pretimeout: add noop pretimeout governor
    watchdog: add watchdog pretimeout governor framework
    watchdog: hpwdt: add support for iLO5
    fs: compat_ioctl: add pretimeout functions for watchdogs
    watchdog: add pretimeout support to the core
    watchdog: imx2_wdt: use preferred BIT macro instead of open coded values
    watchdog: st_wdt: Remove support for obsolete platforms
    watchdog: bindings: Remove obsolete platforms from dt doc.
    watchdog: mt7621_wdt: Remove assignment of dev pointer
    watchdog: rt2880_wdt: Remove assignment of dev pointer
    watchdog: constify watchdog_ops structures
    watchdog: tegra: constify watchdog_ops structures
    watchdog: iTCO_wdt: constify iTCO_wdt_pm structure
    watchdog: cadence_wdt: Fix the suspend resume
    watchdog: txx9wdt: Add missing clock (un)prepare calls for CCF
    ...

    Linus Torvalds
     
  • Commit e0d56fdd7342 was a bit aggressive removing l3mdev calls in
    the IPv4 stack. If the fib_lookup fails we do not want to drop to
    make_route if the oif is an l3mdev device.

    Also reverts 19664c6a0009 ("net: l3mdev: Remove netif_index_is_l3_master")
    which removed netif_index_is_l3_master.

    Fixes: e0d56fdd7342 ("net: l3mdev: remove redundant calls")
    Signed-off-by: David Ahern
    Signed-off-by: David S. Miller

    David Ahern
     

13 Oct, 2016

5 commits

  • I am hitting this in mlx5:

    drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c: In function
    reclaim_pages_cmd.clone.0:
    drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c:346: error: call
    to __compiletime_assert_346 declared with attribute error:
    BUILD_BUG_ON failed: __mlx5_bit_off(manage_pages_out, pas[i]) % 64
    drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c: In function give_pages:
    drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c:291: error: call
    to __compiletime_assert_291 declared with attribute error:
    BUILD_BUG_ON failed: __mlx5_bit_off(manage_pages_in, pas[i]) % 64

    Problem is that this is doing a BUILD_BUG_ON on a non-constant
    expression because of trying to take offset of pas[i] in the
    structure.

    Fix is to create MLX5_ARRAY_SET64 that takes an additional argument
    that is the field index to separate between BUILD_BUG_ON on the array
    constant field and the indexed field to assign the value to.
    There are two callers of MLX5_SET64 that are trying to get a variable
    offset, change those to call MLX5_ARRAY_SET64 passing 'pas' and 'i'
    as the arguments to use in the offset check and the indexed value
    assignment.

    Fixes: a533ed5e179cd ("net/mlx5: Pages management commands via mlx5 ifc")
    Signed-off-by: Tom Herbert
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Tom Herbert
     
  • Skip invalid entries when searching the frequency. This fixes cpufreq
    at least on loongson2 MIPS board.

    Fixes: da0c6dc00c69 (cpufreq: Handle sorted frequency tables more efficiently)
    Signed-off-by: Aaro Koskinen
    Signed-off-by: Viresh Kumar
    Cc: 4.8+ # 4.8+
    Signed-off-by: Rafael J. Wysocki

    Aaro Koskinen
     
  • …erry.reding/linux-pwm

    Pull pwm updates from Thierry Reding:
    "This set of changes contains support for PWM signal capture in the STi
    driver as well as support for the PWM controller found on Meson SoCs.
    There's also support added for the MediaTek MT2701 and SunXi H3 to the
    existing drivers.

    Other than that there's a fair set of miscellaneous cleanups and fixes
    across the board"

    * tag 'pwm/for-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (24 commits)
    pwm: meson: Handle unknown ID values
    pwm: sti: Take the opportunity to conduct a little house keeping
    pwm: sti: It's now valid for number of PWM channels to be zero
    pwm: sti: Add PWM capture callback
    pwm: sti: Add support for PWM capture interrupts
    pwm: sti: Initialise PWM capture device data
    pwm: sti: Supply PWM Capture clock handling
    pwm: sti: Supply PWM capture register addresses and bit locations
    pwm: sti: Only request clock rate when needed
    pwm: sti: Reorganise register names in preparation for new functionality
    pwm: sti: Rename channel => device
    dt-bindings: pwm: sti: Update DT bindings for capture support
    pwm: lpc-18xx: use pwm_set_chip_data
    pwm: sunxi: Add H3 support
    pwm: Add support for Meson PWM Controller
    dt-bindings: pwm: Add bindings for Meson PWM Controller
    pwm: samsung: Fix to use lowest div for large enough modulation bits
    pwm: pwm-tipwmss: Remove all runtime PM gets/puts
    pwm: cros-ec: Add __packed to prevent padding
    pwm: Add MediaTek MT2701 display PWM driver support
    ...

    Linus Torvalds
     
  • Pull thermal managament updates from Zhang Rui:

    - Enhance thermal "userspace" governor to export the reason when a
    thermal event is triggered and delivered to user space. From Srinivas
    Pandruvada

    - Introduce a single TSENS thermal driver for the different versions of
    the TSENS IP that exist, on different qcom msm/apq SoCs'. Support for
    msm8916, msm8960, msm8974 and msm8996 families is also added. From
    Rajendra Nayak

    - Introduce hardware-tracked trip points support to the device tree
    thermal sensor framework. The framework supports an arbitrary number
    of trip points. Whenever the current temperature is changed, the trip
    points immediately below and above the current temperature are found,
    driver callback is invoked to program the hardware to get notified
    when either of the two trip points are triggered. Hardware-tracked
    trip points support for rockchip thermal driver is also added at the
    same time. From Sascha Hauer, Caesar Wang

    - Introduce a new thermal driver, which enables TMU (Thermal Monitor
    Unit) on QorIQ platform. From Jia Hongtao

    - Introduce a new thermal driver for Maxim MAX77620. From Laxman
    Dewangan

    - Introduce a new thermal driver for Intel platforms using WhiskeyCove
    PMIC. From Bin Gao

    - Add mt2701 chip support to MTK thermal driver. From Dawei Chien

    - Enhance Tegra thermal driver to enable soctherm node and set
    "critical", "hot" trips, for Tegra124, Tegra132, Tegra210. From Wei
    Ni

    - Add resume support for tango thermal driver. From Marc Gonzalez

    - several small fixes and improvements for rockchip, qcom, imx, rcar,
    mtk thermal drivers and thermal core code. From Caesar Wang, Keerthy,
    Rocky Hao, Wei Yongjun, Peter Robinson, Bui Duc Phuc, Axel Lin, Hugh
    Kang

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (48 commits)
    thermal: int3403: Process trip change notification
    thermal: int340x: New Interface to read trip and notify
    thermal: user_space gov: Add additional information in uevent
    thermal: Enhance thermal_zone_device_update for events
    arm64: tegra: set hot trips for Tegra210
    arm64: tegra: set critical trips for Tegra210
    arm64: tegra: add soctherm node for Tegra210
    arm64: tegra: set hot trips for Tegra132
    arm64: tegra: set critical trips for Tegra132
    arm64: tegra: use tegra132-soctherm for Tegra132
    arm: tegra: set hot trips for Tegra124
    arm: tegra: set critical trips for Tegra124
    thermal: tegra: add hw-throttle for Tegra132
    thermal: tegra: add hw-throttle function
    of: Add bindings of hw throttle for Tegra soctherm
    thermal: mtk_thermal: Check return value of devm_thermal_zone_of_sensor_register
    thermal: Add Mediatek thermal driver for mt2701.
    dt-bindings: thermal: Add binding document for Mediatek thermal controller
    thermal: max77620: Add thermal driver for reporting junction temp
    thermal: max77620: Add DT binding doc for thermal driver
    ...

    Linus Torvalds
     
  • Pull fbdev updates from Tomi Valkeinen:
    "Main changes:

    - amba-cldc: DT backlight support, Nomadik support, Versatile
    improvements, fixes

    - efifb: fix fbcon RGB565 palette

    - exynos: remove unused DSI driver"

    * tag 'fbdev-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (42 commits)
    video: smscufx: remove unused variable
    matroxfb: fix size of memcpy
    fbdev: ssd1307fb: fix a possible NULL dereference
    fbdev: ssd1307fb: constify the device_info pointer
    simplefb: Disable and release clocks and regulators in destroy callback
    video: fbdev: constify fb_fix_screeninfo and fb_var_screeninfo structures
    matroxfb: constify local structures
    video: fbdev: i810: add in missing white space in error message text
    video: fbdev: add missing \n at end of printk error message
    ARM: exynos_defconfig: Remove old non-working MIPI driver
    video: fbdev: exynos: Remove old non-working MIPI driver
    omapfb: fix return value check in dsi_bind()
    MAINTAINERS: update fbdev entries
    video: fbdev: offb: Call pci_enable_device() before using the PCI VGA device
    fbdev: vfb: simplify memory management
    fbdev: vfb: add option for video mode
    fbdev: vfb: add description to module parameters
    video: fbdev: intelfb: remove impossible condition
    fb: adv7393: off by one in probe function
    video: fbdev: pxafb: add missing of_node_put() in of_get_pxafb_mode_info()
    ...

    Linus Torvalds
     

12 Oct, 2016

5 commits

  • Pull uaccess.h prepwork from Al Viro:
    "Preparations to tree-wide switch to use of linux/uaccess.h (which,
    obviously, will allow to start unifying stuff for real). The last step
    there, ie

    PATT='^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*'
    sed -i -e "s!$PATT!#include !" \
    `git grep -l "$PATT"|grep -v ^include/linux/uaccess.h`

    is not taken here - I would prefer to do it once just before or just
    after -rc1. However, everything should be ready for it"

    * 'work.uaccess2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    remove a stray reference to asm/uaccess.h in docs
    sparc64: separate extable_64.h, switch elf_64.h to it
    score: separate extable.h, switch module.h to it
    mips: separate extable.h, switch module.h to it
    x86: separate extable.h, switch sections.h to it
    remove stray include of asm/uaccess.h from cacheflush.h
    mn10300: remove a bogus processor.h->uaccess.h include
    xtensa: split uaccess.h into C and asm sides
    bonding: quit messing with IOCTL
    kill __kernel_ds_p off
    mn10300: finish verify_area() off
    frv: move HAVE_ARCH_UNMAPPED_AREA to pgtable.h
    exceptions: detritus removal

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "Core:
    - Fence destaging work
    - DRIVER_LEGACY to split off legacy drm drivers
    - drm_mm refactoring
    - Splitting drm_crtc.c into chunks and documenting better
    - Display info fixes
    - rbtree support for prime buffer lookup
    - Simple VGA DAC driver

    Panel:
    - Add Nexus 7 panel
    - More simple panels

    i915:
    - Refactoring GEM naming
    - Refactored vma/active tracking
    - Lockless request lookups
    - Better stolen memory support
    - FBC fixes
    - SKL watermark fixes
    - VGPU improvements
    - dma-buf fencing support
    - Better DP dongle support

    amdgpu:
    - Powerplay for Iceland asics
    - Improved GPU reset support
    - UVD/VEC powergating support for CZ/ST
    - Preinitialised VRAM buffer support
    - Virtual display support
    - Initial SI support
    - GTT rework
    - PCI shutdown callback support
    - HPD IRQ storm fixes

    amdkfd:
    - bugfixes

    tilcdc:
    - Atomic modesetting support

    mediatek:
    - AAL + GAMMA engine support
    - Hook up gamma LUT
    - Temporal dithering support

    imx:
    - Pixel clock from devicetree
    - drm bridge support for LVDS bridges
    - active plane reconfiguration
    - VDIC deinterlacer support
    - Frame synchronisation unit support
    - Color space conversion support

    analogix:
    - PSR support
    - Better panel on/off support

    rockchip:
    - rk3399 vop/crtc support
    - PSR support

    vc4:
    - Interlaced vblank timing
    - 3D rendering CPU overhead reduction
    - HDMI output fixes

    tda998x:
    - HDMI audio ASoC support

    sunxi:
    - Allwinner A33 support
    - better TCON support

    msm:
    - DT binding cleanups
    - Explicit fence-fd support

    sti:
    - remove sti415/416 support

    etnaviv:
    - MMUv2 refactoring
    - GC3000 support

    exynos:
    - Refactoring HDMI DCC/PHY
    - G2D pm regression fix
    - Page fault issues with wait for vblank

    There is no nouveau work in this tree, as Ben didn't get a pull
    request in, and he was fighting moving to atomic and adding mst
    support, so maybe best it waits for a cycle"

    * tag 'drm-for-v4.9' of git://people.freedesktop.org/~airlied/linux: (1412 commits)
    drm/crtc: constify drm_crtc_index parameter
    drm/i915: Fix conflict resolution from backmerge of v4.8-rc8 to drm-next
    drm/i915/guc: Unwind GuC workqueue reservation if request construction fails
    drm/i915: Reset the breadcrumbs IRQ more carefully
    drm/i915: Force relocations via cpu if we run out of idle aperture
    drm/i915: Distinguish last emitted request from last submitted request
    drm/i915: Allow DP to work w/o EDID
    drm/i915: Move long hpd handling into the hotplug work
    drm/i915/execlists: Reinitialise context image after GPU hang
    drm/i915: Use correct index for backtracking HUNG semaphores
    drm/i915: Unalias obj->phys_handle and obj->userptr
    drm/i915: Just clear the mmiodebug before a register access
    drm/i915/gen9: only add the planes actually affected by ddb changes
    drm/i915: Allow PCH DPLL sharing regardless of DPLL_SDVO_HIGH_SPEED
    drm/i915/bxt: Fix HDMI DPLL configuration
    drm/i915/gen9: fix the watermark res_blocks value
    drm/i915/gen9: fix plane_blocks_per_line on watermarks calculations
    drm/i915/gen9: minimum scanlines for Y tile is not always 4
    drm/i915/gen9: fix the WaWmMemoryReadLatency implementation
    drm/i915/kbl: KBL also needs to run the SAGV code
    ...

    Linus Torvalds
     
  • Merge more updates from Andrew Morton:

    - a few block updates that fell in my lap

    - lib/ updates

    - checkpatch

    - autofs

    - ipc

    - a ton of misc other things

    * emailed patches from Andrew Morton : (100 commits)
    mm: split gfp_mask and mapping flags into separate fields
    fs: use mapping_set_error instead of opencoded set_bit
    treewide: remove redundant #include
    hung_task: allow hung_task_panic when hung_task_warnings is 0
    kthread: add kerneldoc for kthread_create()
    kthread: better support freezable kthread workers
    kthread: allow to modify delayed kthread work
    kthread: allow to cancel kthread work
    kthread: initial support for delayed kthread work
    kthread: detect when a kthread work is used by more workers
    kthread: add kthread_destroy_worker()
    kthread: add kthread_create_worker*()
    kthread: allow to call __kthread_create_on_node() with va_list args
    kthread/smpboot: do not park in kthread_create_on_cpu()
    kthread: kthread worker API cleanup
    kthread: rename probe_kthread_data() to kthread_probe_data()
    scripts/tags.sh: enable code completion in VIM
    mm: kmemleak: avoid using __va() on addresses that don't have a lowmem mapping
    kdump, vmcoreinfo: report memory sections virtual addresses
    ipc/sem.c: add cond_resched in exit_sme
    ...

    Linus Torvalds
     
  • This is just a very basic conversion, I've split up the original
    multi-book template, and also split up the multi-part mac80211
    part in the original book; neither of those were handled by the
    automatic pandoc conversion.

    Fix errors that showed up, resulting in a much nicer rendering,
    at least for the interface combinations documentation.

    Signed-off-by: Johannes Berg
    Signed-off-by: Jonathan Corbet

    Johannes Berg
     
  • mapping->flags currently encodes two different things into a single flag.
    It contains sticky gfp_mask for page cache allocations and AS_ codes used
    to report errors/enospace and other states which are mapping specific.
    Condensing the two semantically unrelated things saves few bytes but it
    also complicates other things. For one thing the gfp flags space is
    reduced and in fact we are already running out of available bits. It can
    be assumed that more gfp flags will be necessary later on.

    To not introduce the address_space grow (at least on x86_64) we can stick
    it right after private_lock because we have a hole there.

    struct address_space {
    struct inode * host; /* 0 8 */
    struct radix_tree_root page_tree; /* 8 16 */
    spinlock_t tree_lock; /* 24 4 */
    atomic_t i_mmap_writable; /* 28 4 */
    struct rb_root i_mmap; /* 32 8 */
    struct rw_semaphore i_mmap_rwsem; /* 40 40 */
    /* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */
    long unsigned int nrpages; /* 80 8 */
    long unsigned int nrexceptional; /* 88 8 */
    long unsigned int writeback_index; /* 96 8 */
    const struct address_space_operations * a_ops; /* 104 8 */
    long unsigned int flags; /* 112 8 */
    spinlock_t private_lock; /* 120 4 */

    /* XXX 4 bytes hole, try to pack */

    /* --- cacheline 2 boundary (128 bytes) --- */
    struct list_head private_list; /* 128 16 */
    void * private_data; /* 144 8 */

    /* size: 152, cachelines: 3, members: 14 */
    /* sum members: 148, holes: 1, sum holes: 4 */
    /* last cacheline: 24 bytes */
    };

    Link: http://lkml.kernel.org/r/20160912114852.GI14524@dhcp22.suse.cz
    Signed-off-by: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko