26 Jul, 2016

12 commits

  • gcc-4.9 and higher warn about the newly added NSCI code:

    net/ncsi/ncsi-manage.c: In function 'ncsi_process_next_channel':
    net/ncsi/ncsi-manage.c:1003:2: error: 'old_state' may be used uninitialized in this function [-Werror=maybe-uninitialized]

    The warning is a false positive and therefore harmless, but it would be good to
    avoid it anyway. I have determined that the barrier in the spin_unlock_irqsave()
    is what confuses gcc to the point that it cannot track whether the variable
    was unused or not.

    This rearranges the code in a way that makes it obvious to gcc that old_state
    is always initialized at the time of use, functionally this should not
    change anything.

    Signed-off-by: Arnd Bergmann
    Acked-by: Gavin Shan
    Signed-off-by: David S. Miller

    Arnd Bergmann
     
  • Varun Prakash says:

    ====================
    common library for Chelsio drivers.

    This patch series adds common library module(libcxgb.ko)
    for Chelsio drivers to remove duplicate code.

    This series moves common iSCSI DDP Page Pod manager
    code from cxgb4.ko to libcxgb.ko, earlier this code
    was used by only cxgbit.ko now it is used by
    three Chelsio iSCSI drivers cxgb3i, cxgb4i, cxgbit.

    In future this module will have common connection
    management and hardware specific code that can
    be shared by multiple Chelsio drivers(cxgb4,
    csiostor, iw_cxgb4, cxgb4i, cxgbit).

    Please review.

    Thanks

    -v3
    - removed unused module init and exit functions.

    -v2
    - updated CONFIG_CHELSIO_LIB to an invisible option
    - changed libcxgb.ko module license from GPL to Dual BSD/GPL
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Fix following sparse warnings
    warning: symbol 'cxgb3i_ofld_init' was not declared. Should it be static?
    warning: symbol 'cxgb4i_cplhandlers' was not declared. Should it be static?
    warning: symbol 'cxgb4i_ofld_init' was not declared. Should it be static?

    Signed-off-by: Varun Prakash
    Reviewed-by: Steve Wise
    Signed-off-by: David S. Miller

    Varun Prakash
     
  • Export cxgbi_ppm_release() to release
    ppod manager and cxgbi_tagmask_set() to
    set tag mask, they are used by cxgb3i, cxgb4i
    and cxgbit.

    Signed-off-by: Varun Prakash
    Reviewed-by: Steve Wise
    Signed-off-by: David S. Miller

    Varun Prakash
     
  • Add iSCSI DDP support in cxgb3i driver
    using common iSCSI DDP Page Pod Manager.

    Signed-off-by: Varun Prakash
    Reviewed-by: Steve Wise
    Signed-off-by: David S. Miller

    Varun Prakash
     
  • Add iSCSI DDP support in cxgb4i driver
    using common iSCSI DDP Page Pod Manager.

    Signed-off-by: Varun Prakash
    Signed-off-by: David S. Miller

    Varun Prakash
     
  • Remove old ddp code from cxgb3i,cxgb4i,libcxgbi.

    Next two commits adds DDP support using
    common iSCSI DDP Page Pod Manager.

    Signed-off-by: Varun Prakash
    Signed-off-by: David S. Miller

    Varun Prakash
     
  • Add common library module(libcxgb.ko) for
    Chelsio drivers to remove duplicate code.

    Code for iSCSI DDP Page Pod Manager is moved
    from cxgb4.ko to libcxgb.ko. Earlier only cxgbit.ko
    was using this code, now cxgb3i and cxgb4i will
    also use common Page Pod manager code.

    In future this module will have common connection
    management and hardware specific code that can be
    shared by multiple Chelsio drivers.

    Signed-off-by: Varun Prakash
    Reviewed-by: Steve Wise
    Signed-off-by: David S. Miller

    Varun Prakash
     
  • Change the ageing_time type in br_set_ageing_time() from u32 to what it
    is expected to be, i.e. a clock_t.

    Signed-off-by: Vivien Didelot
    Signed-off-by: David S. Miller

    Vivien Didelot
     
  • br_stp_enable_bridge() does take the br->lock spinlock. Fix its wrongly
    pasted comment and use the same as br_stp_disable_bridge().

    Signed-off-by: Vivien Didelot
    Signed-off-by: David S. Miller

    Vivien Didelot
     
  • Based on original work by Casey Leedom

    Signed-off-by: Ganesh Goudar
    Signed-off-by: David S. Miller

    Ganesh Goudar
     
  • When using an IPoIB bond currently only active-backup mode is a valid
    use case and this commit strengthens it.

    Since commit 2ab82852a270 ("net/bonding: Enable bonding to enslave
    netdevices not supporting set_mac_address()") was introduced till
    4.7-rc1, IPoIB didn't support the set_mac_address ndo, and hence the
    fail over mac policy always applied to IPoIB bonds.

    With the introduction of commit 492a7e67ff83 ("IB/IPoIB: Allow setting
    the device address"), that doesn't hold and practically IPoIB bonds are
    broken as of that. To fix it, lets go to fail over mac if the device
    doesn't support the ndo OR this is IPoIB device.

    As a by-product, this commit also prevents a stack corruption which
    occurred when trying to copy 20 bytes (IPoIB) device address
    to a sockaddr struct that has only 16 bytes of storage.

    Signed-off-by: Mark Bloch
    Signed-off-by: Or Gerlitz
    Signed-off-by: Saeed Mahameed
    Acked-by: Andy Gospodarek
    Signed-off-by: Jay Vosburgh
    Signed-off-by: David S. Miller

    Mark Bloch
     

25 Jul, 2016

12 commits

  • Jiri Pirko says:

    ====================
    mlxsw: implement port mirroring offload

    This patchset introduces tc matchall classifier and its offload
    to Spectrum hardware. In combination with mirred action, defined port mirroring
    setup is offloaded by mlxsw/spectrum driver.

    The commands used for creating mirror ports:

    tc qdisc add dev eth25 handle ffff: ingress
    tc filter add dev eth25 parent ffff: \
    matchall skip_sw \
    action mirred egress mirror \
    dev eth27

    tc qdisc add dev eth25 handle 1: root prio
    tc filter add dev eth25 parent 1: \
    matchall skip_sw \
    action mirred egress mirror \
    dev eth27

    These patches contain:
    - Resource query implementation
    - Hardware port mirorring support for spectrum.
    - Definition of the matchall traffic classifier.
    - General support for hw-offloading for that classifier.
    - Specific spectrum implementaion for matchall offloading.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This patch offloads port mirroring directives to hw using the matchall TC
    with action mirror. It includes both the implementation of the
    ndo_setup_tc function for the spectrum driver and the spectrum hardware
    offload configuration code.

    The hardware offload code is basically two new functions which are capable
    of adding and removing a new mirror ports pair. It is done using the MPAT,
    MPAR and SBIB registers:
    - A new Switch-Port Analyzer (SPAN) entry is added using MPAT to the 'to'
    port.
    - The 'to' port is bound to the SPAN entry using MPAR register.
    - In case of egress SPAN, the 'to' port gets a new internal shared
    buffer using SBIB register.

    In addition, a new database was added to the mlxsw_sp struct to store all
    the SPAN entries and their bound ports list. The number of supported SPAN
    entries is determined by resource query.

    Signed-off-by: Yotam Gigi
    Reviewed-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Yotam Gigi
     
  • The helper function is_tcf_mirred_mirror helps finding whether an action
    struct is of type mirred and is configured to be of type mirror.

    Signed-off-by: Yotam Gigi
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Yotam Gigi
     
  • The MPAR register is used to bind ports to a SPAN entry (which was
    created using MPAT register) and thus mirror their traffic (ingress /
    egress) to a different port.

    Signed-off-by: Yotam Gigi
    Reviewed-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Yotam Gigi
     
  • The MPAT register is used to query and configure the Switch Port Analyzer
    (SPAN) table. This register is used to configure a port as a mirror output
    port, while after that a mirrored input port can be bound using MPAR
    register.

    Signed-off-by: Yotam Gigi
    Reviewed-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Yotam Gigi
     
  • The SBIB register configures per port buffer for internal use. This
    register is used to configure an egress mirror buffer on the egress port
    which does the mirroring.

    Signed-off-by: Yotam Gigi
    Reviewed-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Yotam Gigi
     
  • Following the work that have been done on offloading classifiers like u32
    and flower, now the match-all classifier hw offloading is possible. if
    the interface supports tc offloading.

    To control the offloading, two tc flags have been introduced: skip_sw and
    skip_hw. Typical usage:

    tc filter add dev eth25 parent ffff: \
    matchall skip_sw \
    action mirred egress mirror \
    dev eth27

    Signed-off-by: Yotam Gigi
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Yotam Gigi
     
  • The matchall classifier matches every packet and allows the user to apply
    actions on it. This filter is very useful in usecases where every packet
    should be matched, for example, packet mirroring (SPAN) can be setup very
    easily using that filter.

    Signed-off-by: Jiri Pirko
    Signed-off-by: Yotam Gigi
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • Add max span resources to resources query.

    Signed-off-by: Nogah Frankel
    Reviewed-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Nogah Frankel
     
  • Add resources query implementation. If exists, query the HW for its
    builtin resources instead of having them as consts in the code.

    Signed-off-by: Nogah Frankel
    Reviewed-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Nogah Frankel
     
  • The firmware in several ZTE devices (at least the MF823/831/910
    modems/mifis) use OS fingerprinting to determine which type of device to
    export. In addition, these devices export a REST API which can be used to
    control the type of device. So far, on Linux, the devices have been seen as
    RNDIS or CDC Ether.

    When CDC Ether is used, devices of the same type are, as with RNDIS,
    exported with the same, bogus random MAC address. In addition, the devices
    (at least on all firmware revisions I have found) use the bogus MAC when
    sending traffic routed from external networks. And as a final feature, the
    devices sometimes export the link state incorrectly. There are also
    references online to several other ZTE devices displaying this behavior,
    with several different PIDs and MAC addresses.

    This patch tries to improve the handling of ZTE devices by doing the
    following:

    * Create a new driver_info-struct that is used by ZTE devices that do not
    have an explicit entry in the product table. This struct is the same as the
    default cdc_ether driver info, but a new bind- and an rx_fixup-function
    have been added.

    * In the new bind function, we check if we have read a random MAC from the
    device. If we have, then we generate a new random MAC address. This will
    ensure that all devices get a unique MAC.

    * The rx_fixup-function replaces the destination MAC address in the skb
    with that of the device. I have not seen a revision of these devices that
    behaves correctly (i.e., sets the right destination MAC), so I chose not to
    do any comparison with for example the known, bogus addresses.

    * The MF823/MF832/MF910 sometimes export cdc carrier on twice on connect
    (the correct behavior is off then on). Work around this by manually setting
    carrier to off if an on-notification is received and the NOCARRIER-bit is
    not set.

    This change will affect all devices, but it should take care of similar
    mistakes made by other manufacturers. I tried to think of/look/test for
    problems/regressions that could be introduced by this behavior, but could
    not find any. However, my familiarity with this code path is not that
    great, so there could be something I have overlooked.

    I have tested this patch with multiple revisions of all three devices, and
    they behave as expected. In other words, they all got a valid, random MAC,
    the correct operational state and I can receive/sent traffic without
    problems. I also tested with some other cdc_ether devices I have and did
    not find any problems/regressions caused by the two general changes.

    v3->v4:
    * Forgot to remove unused variables, sorry about that (thanks David
    Miller).

    v2->v3:
    * I had forgot to remove the random MAC generation from usbnet_cdc_bind()
    (thanks Oliver).
    * Rework logic in the ZTE bind-function a bit.

    v1->v2:
    * Only generate random MAC for ZTE devices (thanks Oliver Neukum).
    * Set random MAC and do RX fixup for all ZTE devices that do not have a
    product-entry, as the bogus MAC have been seen on devices with several
    different PIDs/MAC addresses. In other words, it seems to be the default
    behavior of ZTE CDC Ether devices (thanks Lars Melin).

    Signed-off-by: Kristian Evensen
    Acked-by: Oliver Neukum
    Signed-off-by: David S. Miller

    Kristian Evensen
     
  • Pablo Neira Ayuso says:

    ====================
    Netfilter/IPVS updates for net-next

    The following patchset contains Netfilter/IPVS updates for net-next,
    they are:

    1) Count pre-established connections as active in "least connection"
    schedulers such that pre-established connections to avoid overloading
    backend servers on peak demands, from Michal Kubecek via Simon Horman.

    2) Address a race condition when resizing the conntrack table by caching
    the bucket size when fulling iterating over the hashtable in these
    three possible scenarios: 1) dump via /proc/net/nf_conntrack,
    2) unlinking userspace helper and 3) unlinking custom conntrack timeout.
    From Liping Zhang.

    3) Revisit early_drop() path to perform lockless traversal on conntrack
    eviction under stress, use del_timer() as synchronization point to
    avoid two CPUs evicting the same entry, from Florian Westphal.

    4) Move NAT hlist_head to nf_conn object, this simplifies the existing
    NAT extension and it doesn't increase size since recent patches to
    align nf_conn, from Florian.

    5) Use rhashtable for the by-source NAT hashtable, also from Florian.

    6) Don't allow --physdev-is-out from OUTPUT chain, just like
    --physdev-out is not either, from Hangbin Liu.

    7) Automagically set on nf_conntrack counters if the user tries to
    match ct bytes/packets from nftables, from Liping Zhang.

    8) Remove possible_net_t fields in nf_tables set objects since we just
    simply pass the net pointer to the backend set type implementations.

    9) Fix possible off-by-one in h323, from Toby DiPasquale.

    10) early_drop() may be called from ctnetlink patch, so we must hold
    rcu read size lock from them too, this amends Florian's patch #3
    coming in this batch, from Liping Zhang.

    11) Use binary search to validate jump offset in x_tables, this
    addresses the O(n!) validation that was introduced recently
    resolve security issues with unpriviledge namespaces, from Florian.

    12) Fix reference leak to connlabel in error path of nft_ct, from Zhang.

    13) Three updates for nft_log: Fix log prefix leak in error path. Bail
    out on loglevel larger than debug in nft_log and set on the new
    NF_LOG_F_COPY_LEN flag when snaplen is specified. Again from Zhang.

    14) Allow to filter rule dumps in nf_tables based on table and chain
    names.

    15) Simplify connlabel to always use 128 bits to store labels and
    get rid of unused function in xt_connlabel, from Florian.

    16) Replace set_expect_timeout() by mod_timer() from the h323 conntrack
    helper, by Gao Feng.

    17) Put back x_tables module reference in nft_compat on error, from
    Liping Zhang.

    18) Add a reference count to the x_tables extensions cache in
    nft_compat, so we can remove them when unused and avoid a crash
    if the extensions are rmmod, again from Zhang.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

24 Jul, 2016

1 commit


23 Jul, 2016

15 commits

  • We "cache" the loaded match/target modules and reuse them, but when the
    modules are removed, we still point to them. Then we may end up with
    invalid memory references when using iptables-compat to add rules later.

    Input the following commands will reproduce the kernel crash:
    # iptables-compat -A INPUT -j LOG
    # iptables-compat -D INPUT -j LOG
    # rmmod xt_LOG
    # iptables-compat -A INPUT -j LOG
    BUG: unable to handle kernel paging request at ffffffffa05a9010
    IP: [] strcmp+0xe/0x30
    Call Trace:
    [] nft_target_select_ops+0x83/0x1f0 [nft_compat]
    [] nf_tables_expr_parse+0x147/0x1f0 [nf_tables]
    [] nf_tables_newrule+0x301/0x810 [nf_tables]
    [] ? nla_parse+0x20/0x100
    [] nfnetlink_rcv+0x33f/0x53d [nfnetlink]
    [] ? nfnetlink_rcv+0x1fb/0x53d [nfnetlink]
    [] netlink_unicast+0x178/0x220
    [] netlink_sendmsg+0x2fb/0x3a0
    [] sock_sendmsg+0x38/0x50
    [] ___sys_sendmsg+0x28e/0x2a0
    [] ? release_sock+0x1e/0xb0
    [] ? _raw_spin_unlock_bh+0x35/0x40
    [] ? release_sock+0x82/0xb0
    [] __sys_sendmsg+0x54/0x90
    [] SyS_sendmsg+0x12/0x20
    [] entry_SYSCALL_64_fastpath+0x1a/0xa9

    So when nobody use the related match/target module, there's no need to
    "cache" it. And nft_[match|target]_release are useless anymore, remove
    them.

    Signed-off-by: Liping Zhang
    Signed-off-by: Pablo Neira Ayuso

    Liping Zhang
     
  • If the user specify the invalid NFTA_MATCH_INFO/NFTA_TARGET_INFO attr
    or memory alloc fail, we should call module_put to the related match
    or target. Otherwise, we cannot remove the module even nobody use it.

    Signed-off-by: Liping Zhang
    Signed-off-by: Pablo Neira Ayuso

    Liping Zhang
     
  • Simplify the code without any side effect. The set_expect_timeout is
    used to modify the timer expired time. It tries to delete timer, and
    add it again. So we could use mod_timer directly.

    Signed-off-by: Gao Feng
    Signed-off-by: Pablo Neira Ayuso

    Gao Feng
     
  • Pull networking fixes from David Miller:

    1) Fix memory leak in nftables, from Liping Zhang.

    2) Need to check result of vlan_insert_tag() in batman-adv otherwise we
    risk NULL skb derefs, from Sven Eckelmann.

    3) Check for dev_alloc_skb() failures in cfg80211, from Gregory
    Greenman.

    4) Handle properly when we have ppp_unregister_channel() happening in
    parallel with ppp_connect_channel(), from WANG Cong.

    5) Fix DCCP deadlock, from Eric Dumazet.

    6) Bail out properly in UDP if sk_filter() truncates the packet to be
    smaller than even the space that the protocol headers need. From
    Michal Kubecek.

    7) Similarly for rose, dccp, and sctp, from Willem de Bruijn.

    8) Make TCP challenge ACKs less predictable, from Eric Dumazet.

    9) Fix infinite loop in bgmac_dma_tx_add() from Florian Fainelli.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (65 commits)
    packet: propagate sock_cmsg_send() error
    net/mlx5e: Fix del vxlan port command buffer memset
    packet: fix second argument of sock_tx_timestamp()
    net: switchdev: change ageing_time type to clock_t
    Update maintainer for EHEA driver.
    net/mlx4_en: Add resilience in low memory systems
    net/mlx4_en: Move filters cleanup to a proper location
    sctp: load transport header after sk_filter
    net/sched/sch_htb: clamp xstats tokens to fit into 32-bit int
    net: cavium: liquidio: Avoid dma_unmap_single on uninitialized ndata
    net: nb8800: Fix SKB leak in nb8800_receive()
    et131x: Fix logical vs bitwise check in et131x_tx_timeout()
    vlan: use a valid default mtu value for vlan over macsec
    net: bgmac: Fix infinite loop in bgmac_dma_tx_add()
    mlxsw: spectrum: Prevent invalid ingress buffer mapping
    mlxsw: spectrum: Prevent overwrite of DCB capability fields
    mlxsw: spectrum: Don't emit errors when PFC is disabled
    mlxsw: spectrum: Indicate support for autonegotiation
    mlxsw: spectrum: Force link training according to admin state
    r8152: add MODULE_VERSION
    ...

    Linus Torvalds
     
  • Pull overlayfs fixes from Miklos Szeredi:
    "This contains a fix for a potential crash/corruption issue and another
    where the suid/sgid bits weren't cleared on write"

    * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
    ovl: verify upper dentry in ovl_remove_and_whiteout()
    ovl: Copy up underlying inode's ->i_mode to overlay inode
    ovl: handle ATTR_KILL*

    Linus Torvalds
     
  • Merge misc fixes from Andrew Morton:
    "Five fixes"

    * emailed patches from Andrew Morton :
    pps: do not crash when failed to register
    tools/vm/slabinfo: fix an unintentional printf
    testing/radix-tree: fix a macro expansion bug
    radix-tree: fix radix_tree_iter_retry() for tagged iterators.
    mm: memcontrol: fix cgroup creation failure after many small jobs

    Linus Torvalds
     
  • Pull intel kabylake drm fixes from Dave Airlie:
    "As mentioned Intel has gathered all the Kabylake fixes from -next,
    which we've enabled in 4.7 for the first time, these are pretty much
    limited in scope to only affects kabylake, which is hw that isn't
    shipping yet. So I'm mostly okay with it going in now.

    If we don't land this, it might be a good idea to disable kabylake
    support in 4.7 before we ship"

    * tag 'drm-fixes-for-v4.7-rc8-intel-kbl' of git://people.freedesktop.org/~airlied/linux: (28 commits)
    drm/i915/kbl: Introduce the first official DMC for Kabylake.
    drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
    drm/i915/gen9: implement WaConextSwitchWithConcurrentTLBInvalidate
    drm/i915/gen9: Add WaFbcHighMemBwCorruptionAvoidance
    drm/i195/fbc: Add WaFbcNukeOnHostModify
    drm/i915/gen9: Add WaFbcWakeMemOn
    drm/i915/gen9: Add WaFbcTurnOffFbcWatermark
    drm/i915/kbl: Add WaClearSlmSpaceAtContextSwitch
    drm/i915/gen9: Add WaEnableChickenDCPR
    drm/i915/kbl: Add WaDisableSbeCacheDispatchPortSharing
    drm/i915/kbl: Add WaDisableGafsUnitClkGating
    drm/i915/kbl: Add WaForGAMHang
    drm/i915: Add WaInsertDummyPushConstP for bxt and kbl
    drm/i915/kbl: Add WaDisableDynamicCreditSharing
    drm/i915/kbl: Add WaDisableGamClockGating
    drm/i915/gen9: Enable must set chicken bits in config0 reg
    drm/i915/kbl: Add WaDisableLSQCROPERFforOCL
    drm/i915/kbl: Add WaDisableSDEUnitClockGating
    drm/i915/kbl: Add WaDisableFenceDestinationToSLM for A0
    drm/i915/kbl: Add WaEnableGapsTsvCreditFix
    ...

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Two i915 regression fixes.

    Intel have submitted some Kabylake fixes I'll send separately, since
    this is the first kernel with kabylake support and they don't go much
    outside that area I think they should be fine"

    * tag 'drm-fixes-for-v4.7-rc8-intel' of git://people.freedesktop.org/~airlied/linux:
    drm/i915: add missing condition for committing planes on crtc
    drm/i915: Treat eDP as always connected, again

    Linus Torvalds
     
  • Pull m68k upddates from Geert Uytterhoeven:
    - assorted spelling fixes
    - defconfig updates

    * tag 'm68k-for-v4.8-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k/defconfig: Update defconfigs for v4.7-rc2
    m68k: Assorted spelling fixes

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A handful of fixes before final release:

    Marvell Armada:
    - One to fix a typo in the devicetree specifying memory ranges for
    the crypto engine
    - Two to deal with marking PCI and device-memory as strongly ordered
    to avoid hardware deadlocks, in particular when enabling above
    crypto driver.
    - Compile fix for PM

    Allwinner:
    - DT clock fixes to deal with u-boot-enabled framebuffer (simplefb).
    - Make R8 (C.H.I.P. SoC) inherit system compatibility from A13 to
    make clocks register proper.

    Tegra:
    - Fix SD card voltage setting on the Tegra3 Beaver dev board

    Misc:
    - Two maintainers updates for STM32 and STi platforms"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: tegra: beaver: Allow SD card voltage to be changed
    MAINTAINERS: update STi maintainer list
    MAINTAINERS: update STM32 maintainers list
    ARM: mvebu: compile pm code conditionally
    ARM: dts: sun7i: Fix pll3x2 and pll7x2 not having a parent clock
    ARM: dts: sunxi: Add pll3 to simplefb nodes clocks lists
    ARM: dts: armada-38x: fix MBUS_ID for crypto SRAM on Armada 385 Linksys
    ARM: mvebu: map PCI I/O regions strongly ordered
    ARM: mvebu: fix HW I/O coherency related deadlocks
    ARM: sunxi/dt: make the CHIP inherit from allwinner,sun5i-a13

    Linus Torvalds
     
  • Pull crypto fixes from Herbert Xu:
    "This fixes a sporadic build failure in the qat driver as well as a
    memory corruption bug in rsa-pkcs1pad"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: rsa-pkcs1pad - fix rsa-pkcs1pad request struct
    crypto: qat - make qat_asym_algs.o depend on asn1 headers

    Linus Torvalds
     
  • Pull key handling fixes from James Morris:
    "Quoting David Howells:

    Here are three miscellaneous fixes:

    (1) Fix a panic in some debugging code in PKCS#7. This can only
    happen by explicitly inserting a #define DEBUG into the code.

    (2) Fix the calculation of the digest length in the PE file parser.
    This causes a failure where there should be a success.

    (3) Fix the case where an X.509 cert can be added as an asymmetric key
    to a trusted keyring with no trust restriction if no AKID is
    supplied.

    Bugs (1) and (2) aren't particularly problematic, but (3) allows a
    security check to be bypassed. Happily, this is a recent regression
    and never made it into a released kernel"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    KEYS: Fix for erroneous trust of incorrectly signed X.509 certs
    pefile: Fix the failure of calculation for digest
    PKCS#7: Fix panic when referring to the empty AKID when DEBUG defined

    Linus Torvalds
     
  • Pull input fixes from Dmitry Torokhov:
    "A few more fixes for the input subsystem:

    - restore naming for tsc2005 touchscreens as some userspace match on it
    - fix out of bound access in legacy keyboard driver
    - fixup in RMI4 driver

    Everything is tagged for stable as well"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: tsc200x - report proper input_dev name
    tty/vt/keyboard: fix OOB access in do_compute_shiftstate()
    Input: synaptics-rmi4 - fix maximum size check for F12 control register 8

    Linus Torvalds
     
  • Pull libnvdimm fix from Dan Williams:
    "This contains a regression fix for a problem that was introduced in
    v4.7-rc6.

    In 4.7-rc1 we introduced auto-probing for the ACPI DSM (device-
    specific-method) format that the platform firmware implements for
    nvdimm devices. We initially fixed a regression in probing the QEMU
    DSM implementation by making acpi_check_dsm() tolerant of the way QEMU
    reports the "0 DSMs supported" condition.

    However, that broke HPE platforms since that tolerance caused the
    driver to mistakenly match the 1-zero-byte response those platforms
    give to "unknown" commands. Instead, we simply make the driver
    tolerant of not finding any supported DSMs. This has been tested to
    work with both QEMU and HPE platforms.

    This commit has appeared in a -next release with no reported issues"

    * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    nfit: make DIMM DSMs optional

    Linus Torvalds
     
  • Pull GPIO fix from Linus Walleij:
    "Compile problem fix for Tegra,

    Sorry to send this in the last minute but Ingo says this build failure
    is very prominent so I'm not going to wait for v4.7 before sending it.

    It is a case of COMPILE_TEST causing more problems than it solves and
    I'm already swearing about me shooting myself in the foot with that
    gun :("

    * tag 'gpio-v4.7-6' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: tegra: don't auto-enable for COMPILE_TEST

    Linus Torvalds