13 Apr, 2015

3 commits


07 Apr, 2015

8 commits

  • Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) In TCP, don't register an FRTO for cumulatively ACK'd data that was
    previously SACK'd, from Neal Cardwell.

    2) Need to hold RNL mutex in ipv4 multicast code namespace cleanup,
    from Cong WANG.

    3) Similarly we have to hold RNL mutex for fib_rules_unregister(), also
    from Cong WANG.

    4) Revert and rework netns nsid allocation fix, from Nicolas Dichtel.

    5) When we encapsulate for a tunnel device, skb->sk still points to the
    user socket. So this leads to cases where we retraverse the
    ipv4/ipv6 output path with skb->sk being of some other address
    family (f.e. AF_PACKET). This can cause things to crash since the
    ipv4 output path is dereferencing an AF_PACKET socket as if it were
    an ipv4 one.

    The short term fix for 'net' and -stable is to elide these socket
    checks once we've entered an encapsulation sequence by testing
    xmit_recursion.

    Longer term we have a better solution wherein we pass the tunnel's
    socket down through the output paths, but that is way too invasive
    for 'net' and -stable.

    From Hannes Frederic Sowa.

    6) l2tp_init() failure path forgets to unregister per-net ops, from
    Cong WANG.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    net/mlx4_core: Fix error message deprecation for ConnectX-2 cards
    net: dsa: fix filling routing table from OF description
    l2tp: unregister l2tp_net_ops on failure path
    mvneta: dont call mvneta_adjust_link() manually
    ipv6: protect skb->sk accesses from recursive dereference inside the stack
    netns: don't allocate an id for dead netns
    Revert "netns: don't clear nsid too early on removal"
    ip6mr: call del_timer_sync() in ip6mr_free_table()
    net: move fib_rules_unregister() under rtnl lock
    ipv4: take rtnl_lock and mark mrt table as freed on namespace cleanup
    tcp: fix FRTO undo on cumulative ACK of SACKed range
    xen-netfront: transmit fully GSO-sized packets

    Linus Torvalds
     
  • Commit 1daa4303b4ca ("net/mlx4_core: Deprecate error message at
    ConnectX-2 cards startup to debug") did the deprecation only for port 1
    of the card. Need to deprecate for port 2 as well.

    Fixes: 1daa4303b4ca ("net/mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug")
    Signed-off-by: Jack Morgenstein
    Signed-off-by: Amir Vadai
    Signed-off-by: David S. Miller

    Jack Morgenstein
     
  • According to description in 'include/net/dsa.h', in cascade switches
    configurations where there are more than one interconnected devices,
    'rtable' array in 'dsa_chip_data' structure is used to indicate which
    port on this switch should be used to send packets to that are destined
    for corresponding switch.

    However, dsa_of_setup_routing_table() fills 'rtable' with port numbers
    of the _target_ switch, but not current one.

    This commit removes redundant devicetree parsing and adds needed port
    number as a function argument. So dsa_of_setup_routing_table() now just
    looks for target switch number by parsing parent of 'link' device node.

    To remove possible misunderstandings with the way of determining target
    switch number, a corresponding comment was added to the source code and
    to the DSA device tree bindings documentation file.

    This was tested on a custom board with two Marvell 88E6095 switches with
    following corresponding routing tables: { -1, 10 } and { 8, -1 }.

    Signed-off-by: Pavel Nakonechny
    Reviewed-by: Andrew Lunn
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Pavel Nakonechny
     
  • Pull input fixes from Dmitry Torokhov:
    "Updates for the input subsystem - two more tweaks for ALPS driver to
    work out kinks after splitting the touchpad, trackstick, and potential
    external PS/2 mouse into separate input devices.

    Changes to support ALPS SS4 devices (protocol V8) will be coming in
    4.1..."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: alps - document stick behavior for protocol V2
    Input: alps - report V2 Dualpoint Stick events via the right evdev node
    Input: alps - report interleaved bare PS/2 packets via dev3

    Linus Torvalds
     
  • Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    WANG Cong
     
  • mvneta_adjust_link() is a callback for of_phy_connect() and should
    not be called directly. The result of calling it directly is as below:

    Signed-off-by: David S. Miller

    Stas Sergeev
     
  • We should not consult skb->sk for output decisions in xmit recursion
    levels > 0 in the stack. Otherwise local socket settings could influence
    the result of e.g. tunnel encapsulation process.

    ipv6 does not conform with this in three places:

    1) ip6_fragment: we do consult ipv6_npinfo for frag_size

    2) sk_mc_loop in ipv6 uses skb->sk and checks if we should
    loop the packet back to the local socket

    3) ip6_skb_dst_mtu could query the settings from the user socket and
    force a wrong MTU

    Furthermore:
    In sk_mc_loop we could potentially land in WARN_ON(1) if we use a
    PF_PACKET socket ontop of an IPv6-backed vxlan device.

    Reuse xmit_recursion as we are currently only interested in protecting
    tunnel devices.

    Cc: Jiri Pirko
    Signed-off-by: Hannes Frederic Sowa
    Signed-off-by: David S. Miller

    hannes@stressinduktion.org
     

06 Apr, 2015

3 commits

  • Document that protocol V2 uses standard (bare) PS/2 mouse packets for the
    DualPoint stick.

    Signed-off-by: Hans de Goede
    Acked-By: Pali Rohár
    Signed-off-by: Dmitry Torokhov

    Hans de Goede
     
  • On V2 devices the DualPoint Stick reports bare packets, these should be
    reported via the "AlpsPS/2 ALPS DualPoint Stick" dev2 evdev node, which also
    has the INPUT_PROP_POINTING_STICK propbit set.

    Note that since there is no way to distinguish these packets from an external
    PS/2 mouse (insofar as these laptops have an external PS/2 port) this means
    that we will be reporting PS/2 mouse events via this evdev node too, as we've
    been doing in kernel 3.19 and older.

    This has been tested on a Dell Latitude D620 and a Dell Latitude E6400,
    which both have a V2 touchpad + a DualPoint Stick which reports bare packets.

    Signed-off-by: Hans de Goede
    Reviewed-by: Pali Rohár
    Signed-off-by: Dmitry Torokhov

    Hans de Goede
     
  • Bare packets should be reported via the same evdev device independent on
    whether they are detected on the beginning of a packet or in the middle
    of a packet.

    This has been tested on a Dell Latitude E6400, where the DualPoint Stick
    reports bare packets, which get reported via dev3 when the touchpad is
    idle, and via dev2 when the touchpad and stick are used simultaneously.

    This commit fixes this inconsistency by always reporting bare packets via
    dev3. Note that since the come from a DualPoint Stick they really should be
    reported via dev2, this gets fixed in a later commit.

    Signed-off-by: Hans de Goede
    Reviewed-by: Pali Rohár
    Signed-off-by: Dmitry Torokhov

    Hans de Goede
     

05 Apr, 2015

3 commits

  • Pull USB fixes from Greg KH:
    "Here are some small USB fixes and new device ids for 4.0-rc6. Nothing
    major, some xhci fixes for reported problems, and some usb-serial
    device ids.

    All have been in linux-next for a while"

    * tag 'usb-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: ftdi_sio: Use jtag quirk for SNAP Connect E10
    usb: isp1760: fix spin unlock in the error path of isp1760_udc_start
    usb: xhci: apply XHCI_AVOID_BEI quirk to all Intel xHCI controllers
    usb: xhci: handle Config Error Change (CEC) in xhci driver
    USB: keyspan_pda: add new device id
    USB: ftdi_sio: Added custom PID for Synapse Wireless product

    Linus Torvalds
     
  • Pull staging driver fixes from Greg KH:
    "Here are some staging driver fixes, well, really all just IIO driver
    fixes, for 4.0-rc6. They fix issues that have been reported with
    these drivers.

    All of these patches have been in linux-next for a while"

    * tag 'staging-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    iio: imu: Use iio_trigger_get for indio_dev->trig assignment
    iio: adc: vf610: use ADC clock within specification
    iio/adc/cc10001_adc.c: Fix !HAS_IOMEM build
    iio: core: Fix double free.
    iio:inv-mpu6050: Fix inconsistency for the scale channel
    staging: iio: dummy: Fix undefined symbol build error
    iio: inv_mpu6050: Clear timestamps fifo while resetting hardware fifo
    staging: iio: hmc5843: Set iio name property in sysfs
    iio: bmc150: change sampling frequency
    iio: fix drivers that check buffer->scan_mask

    Linus Torvalds
     
  • Pull tty/serial fixes from Greg KH:
    "Here are 3 serial driver fixes for 4.0-rc6. They fix some reported
    issues with the samsung and fsl_lpuart drivers.

    All have been in linux-next for a while"

    * tag 'tty-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    tty: serial: fsl_lpuart: clear receive flag on FIFO flush
    tty: serial: fsl_lpuart: specify transmit FIFO size
    serial: samsung: Clear operation mode on UART shutdown

    Linus Torvalds
     

04 Apr, 2015

8 commits

  • Pull input subsystem fixes from Dmitry Torokhov:
    "A fix for ALPS driver for issue introduced in the latest update and a
    tweak for yet another Lenovo box in Synaptics.

    There will be more ALPS tweaks coming.."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: define INPUT_PROP_ACCELEROMETER behavior
    Input: synaptics - fix min-max quirk value for E440
    Input: synaptics - add quirk for Thinkpad E440
    Input: ALPS - fix max coordinates for v5 and v7 protocols
    Input: add MT_TOOL_PALM

    Linus Torvalds
     
  • Pull block layer fix from Jens Axboe:
    "Just one patch in this pull request, fixing a regression caused by a
    'mathematically correct' change to lcm()"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    block: fix blk_stack_limits() regression due to lcm() change

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Misc fixes: a SYSRET single-stepping fix, a dmi-scan robustization
    fix, a reboot quirk and a kgdb fixlet"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    kgdb/x86: Fix reporting of 'si' in kgdb on x86_64
    x86/asm/entry/64: Disable opportunistic SYSRET if regs->flags has TF set
    x86/reboot: Add ASRock Q1900DC-ITX mainboard reboot quirk
    MAINTAINERS: Change the x86 microcode loader maintainer
    firmware: dmi_scan: Prevent dmi_num integer overflow

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Two x86 Intel PMU constraint handling fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/intel: Fix Haswell CYCLE_ACTIVITY.* counter constraints
    perf/x86/intel: Filter branches for PEBS event

    Linus Torvalds
     
  • Pull devicetree fix from Grant Likely:
    "Simple bugfix for bad device tree data on the PA-Semi platform"

    * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
    drivers/of: Add empty ranges quirk for PA-Semi

    Linus Torvalds
     
  • Pull CIFS fixes from Steve French:
    "A set of small cifs fixes fixing a memory leak, kernel oops, and
    infinite loop (and some spotted by Coverity)"

    * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
    Fix warning
    Fix another dereference before null check warning
    CIFS: session servername can't be null
    Fix warning on impossible comparison
    Fix coverity warning
    Fix dereference before null check warning
    Don't ignore errors on encrypting password in SMBTcon
    Fix warning on uninitialized buftype
    cifs: potential memory leaks when parsing mnt opts
    cifs: fix use-after-free bug in find_writable_file
    cifs: smb2_clone_range() - exit on unhandled error

    Linus Torvalds
     
  • First, let's explain the problem.
    Suppose you have an ipip interface that stands in the netns foo and its link
    part in the netns bar (so the netns bar has an nsid into the netns foo).
    Now, you remove the netns bar:
    - the bar nsid into the netns foo is removed
    - the netns exit method of ipip is called, thus our ipip iface is removed:
    => a netlink message is built in the netns foo to advertise this deletion
    => this netlink message requests an nsid for bar, thus a new nsid is
    allocated for bar and never removed.

    This patch adds a check in peernet2id() so that an id cannot be allocated for
    a netns which is currently destroyed.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • This reverts
    commit 4217291e592d ("netns: don't clear nsid too early on removal").

    This is not the right fix, it introduces races.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     

03 Apr, 2015

15 commits

  • We need to wait for the flying timers, since we
    are going to free the mrtable right after it.

    Cc: Hannes Frederic Sowa
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    WANG Cong
     
  • We have to hold rtnl lock for fib_rules_unregister()
    otherwise the following race could happen:

    fib_rules_unregister(): fib_nl_delrule():
    ... ...
    ... ops = lookup_rules_ops();
    list_del_rcu(&ops->list);
    list_for_each_entry(ops->rules) {
    fib_rules_cleanup_ops(ops); ...
    list_del_rcu(); list_del_rcu();
    }

    Note, net->rules_mod_lock is actually not needed at all,
    either upper layer netns code or rtnl lock guarantees
    we are safe.

    Cc: Alexander Duyck
    Cc: Thomas Graf
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    WANG Cong
     
  • This is the IPv4 part for commit 905a6f96a1b1
    (ipv6: take rtnl_lock and mark mrt6 table as freed on namespace cleanup).

    Cc: Hannes Frederic Sowa
    Acked-by: Hannes Frederic Sowa
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    WANG Cong
     
  • Pull drm fixes from Dave Airlie:
    "One drm core fix, one exynos regression fix, two sets of radeon fixes
    (Alex was a bit behind last week), and two i915 fixes.

    Nothing too serious we seem to have calmed down i915 since last week"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon: fix wait in radeon_mn_invalidate_range_start
    drm/radeon: add extra check in radeon_ttm_tt_unpin_userptr
    drm: Exynos: Respect framebuffer pitch for FIMD/Mixer
    drm/i915: Reject the colorkey ioctls for primary and cursor planes
    drm/i915: Skip allocating shadow batch for 0-length batches
    drm/radeon: programm the VCE fw BAR as well
    drm/radeon: always dump the ring content if it's available
    radeon: Do not directly dereference pointers to BIOS area.
    drm/radeon/dpm: fix 120hz handling harder
    drm/edid: set ELD for firmware and debugfs override EDIDs

    Linus Torvalds
     
  • Pull irqchip fixes from Jason Cooper:
    "This is the second round of fixes for irqchip. It contains some fixes
    found while the arm64 guys were writing the kvm gicv3 its emulation.

    GICv3 ITS:
    - Small batch of fixes discovered while writing the kvm ITS emulation"

    * tag 'irqchip-fixes-4.0-2' of git://git.infradead.org/users/jcooper/linux:
    irqchip: gicv3-its: Use non-cacheable accesses when no shareability
    irqchip: gicv3-its: Fix PROP/PEND and BASE/CBASE confusion
    irqchip: gicv3-its: Fix device ID encoding
    irqchip: gicv3-its: Fix encoding of collection's target redistributor

    Linus Torvalds
     
  • Just two small fixes for radeon, both destined for stable.

    * 'drm-fixes-4.0' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon: fix wait in radeon_mn_invalidate_range_start
    drm/radeon: add extra check in radeon_ttm_tt_unpin_userptr

    Dave Airlie
     
  • …/daeinki/drm-exynos into drm-fixes

    Fix display on issue to Exynos5250 based Snow(1366x768) board.

    * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
    drm: Exynos: Respect framebuffer pitch for FIMD/Mixer

    Dave Airlie
     
  • one oops fixes and a 0-length allocation fix from next backported.

    * tag 'drm-intel-fixes-2015-04-02' of git://anongit.freedesktop.org/drm-intel:
    drm/i915: Reject the colorkey ioctls for primary and cursor planes
    drm/i915: Skip allocating shadow batch for 0-length batches

    Dave Airlie
     
  • Here's a single drm core fix, cc: stable, that affects i915
    users.

    * tag 'topic/drm-fixes-2015-04-02' of git://anongit.freedesktop.org/drm-intel:
    drm/edid: set ELD for firmware and debugfs override EDIDs

    Dave Airlie
     
  • Pull xen regression fixes from David Vrabel:
    "Fix two regressions in the balloon driver's use of memory hotplug when
    used in a PV guest"

    * tag 'stable/for-linus-4.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/balloon: before adding hotplugged memory, set frames to invalid
    x86/xen: prepare p2m list for memory hotplug

    Linus Torvalds
     
  • Pull powerpc fix from Michael Ellerman:
    "Fix memory corruption by pnv_alloc_idle_core_states"

    * tag 'powerpc-4.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
    powerpc: fix memory corruption by pnv_alloc_idle_core_states

    Linus Torvalds
     
  • On processing cumulative ACKs, the FRTO code was not checking the
    SACKed bit, meaning that there could be a spurious FRTO undo on a
    cumulative ACK of a previously SACKed skb.

    The FRTO code should only consider a cumulative ACK to indicate that
    an original/unretransmitted skb is newly ACKed if the skb was not yet
    SACKed.

    The effect of the spurious FRTO undo would typically be to make the
    connection think that all previously-sent packets were in flight when
    they really weren't, leading to a stall and an RTO.

    Signed-off-by: Neal Cardwell
    Signed-off-by: Yuchung Cheng
    Fixes: e33099f96d99c ("tcp: implement RFC5682 F-RTO")
    Signed-off-by: David S. Miller

    Neal Cardwell
     
  • Pull infiniband/rdma fix from Roland Dreier:
    "Fix for exploitable integer overflow in uverbs interface"

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic

    Linus Torvalds
     
  • xen-netfront limits transmitted skbs to be at most 44 segments in size. However,
    GSO permits up to 65536 bytes, which means a maximum of 45 segments of 1448
    bytes each. This slight reduction in the size of packets means a slight loss in
    efficiency.

    Since c/s 9ecd1a75d, xen-netfront sets gso_max_size to
    XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER,
    where XEN_NETIF_MAX_TX_SIZE is 65535 bytes.

    The calculation used by tcp_tso_autosize (and also tcp_xmit_size_goal since c/s
    6c09fa09d) in determining when to split an skb into two is
    sk->sk_gso_max_size - 1 - MAX_TCP_HEADER.

    So the maximum permitted size of an skb is calculated to be
    (XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER) - 1 - MAX_TCP_HEADER.

    Intuitively, this looks like the wrong formula -- we don't need two TCP headers.
    Instead, there is no need to deviate from the default gso_max_size of 65536 as
    this already accommodates the size of the header.

    Currently, the largest skb transmitted by netfront is 63712 bytes (44 segments
    of 1448 bytes each), as observed via tcpdump. This patch makes netfront send
    skbs of up to 65160 bytes (45 segments of 1448 bytes each).

    Similarly, the maximum allowable mtu does not need to subtract MAX_TCP_HEADER as
    it relates to the size of the whole packet, including the header.

    Fixes: 9ecd1a75d977 ("xen-netfront: reduce gso_max_size to account for max TCP header")
    Signed-off-by: Jonathan Davies
    Signed-off-by: David S. Miller

    Jonathan Davies
     
  • Pull dmaengine fixes from Vinod Koul:
    "This time we have addition of caps for jz4740 which fixes intentional
    warning at boot. Then we have memory leak issues in drivers using
    virt-dma by Peter on few drive"

    * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
    dmaengine: moxart-dma: Fix memory leak when stopping a running transfer
    dmaengine: bcm2835-dma: Fix memory leak when stopping a running transfer
    dmaengine: omap-dma: Fix memory leak when terminating running transfer
    dmaengine: edma: fix memory leak when terminating running transfers
    dmaengine: jz4740: Define capabilities

    Linus Torvalds