Skip to content
  1. May 05, 2016
  2. May 04, 2016
  3. May 03, 2016
    • Ping Cheng's avatar
      HID: wacom: add missed stylus_in_proximity line back · eff6ca97
      Ping Cheng authored
      Commit 7e129783 ("HID: wacom: break out wacom_intuos_get_tool_type") by accident
      removed stylus_in_proximity flag for Intuos series while shuffling the code
      around.
      
      Fix that by reintroducing that flag setting in wacom_intuos_inout(), where
      it originally was.
      
      Fixes: 7e129783
      
       ("HID: wacom: break out wacom_intuos_get_tool_type")
      Signed-off-by: default avatarPing Cheng <pingc@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      eff6ca97
    • Miklos Szeredi's avatar
      fuse: update mailing list in MAINTAINERS · 4441f63a
      Miklos Szeredi authored
      
      
      The fuse mailing list seems not to be open anymore.  The discussion on
      fuse-devel@... is mostly userspace related anyway.
      
      Reported-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      4441f63a
    • Neil Horman's avatar
      netem: Segment GSO packets on enqueue · 6071bd1a
      Neil Horman authored
      
      
      This was recently reported to me, and reproduced on the latest net kernel,
      when attempting to run netperf from a host that had a netem qdisc attached
      to the egress interface:
      
      [  788.073771] ---------------------[ cut here ]---------------------------
      [  788.096716] WARNING: at net/core/dev.c:2253 skb_warn_bad_offload+0xcd/0xda()
      [  788.129521] bnx2: caps=(0x00000001801949b3, 0x0000000000000000) len=2962
      data_len=0 gso_size=1448 gso_type=1 ip_summed=3
      [  788.182150] Modules linked in: sch_netem kvm_amd kvm crc32_pclmul ipmi_ssif
      ghash_clmulni_intel sp5100_tco amd64_edac_mod aesni_intel lrw gf128mul
      glue_helper ablk_helper edac_mce_amd cryptd pcspkr sg edac_core hpilo ipmi_si
      i2c_piix4 k10temp fam15h_power hpwdt ipmi_msghandler shpchp acpi_power_meter
      pcc_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc ip_tables xfs libcrc32c
      sd_mod crc_t10dif crct10dif_generic mgag200 syscopyarea sysfillrect sysimgblt
      i2c_algo_bit drm_kms_helper ahci ata_generic pata_acpi ttm libahci
      crct10dif_pclmul pata_atiixp tg3 libata crct10dif_common drm crc32c_intel ptp
      serio_raw bnx2 r8169 hpsa pps_core i2c_core mii dm_mirror dm_region_hash dm_log
      dm_mod
      [  788.465294] CPU: 16 PID: 0 Comm: swapper/16 Tainted: G        W
      ------------   3.10.0-327.el7.x86_64 #1
      [  788.511521] Hardware name: HP ProLiant DL385p Gen8, BIOS A28 12/17/2012
      [  788.542260]  ffff880437c036b8 f7afc56532a53db9 ffff880437c03670
      ffffffff816351f1
      [  788.576332]  ffff880437c036a8 ffffffff8107b200 ffff880633e74200
      ffff880231674000
      [  788.611943]  0000000000000001 0000000000000003 0000000000000000
      ffff880437c03710
      [  788.647241] Call Trace:
      [  788.658817]  <IRQ>  [<ffffffff816351f1>] dump_stack+0x19/0x1b
      [  788.686193]  [<ffffffff8107b200>] warn_slowpath_common+0x70/0xb0
      [  788.713803]  [<ffffffff8107b29c>] warn_slowpath_fmt+0x5c/0x80
      [  788.741314]  [<ffffffff812f92f3>] ? ___ratelimit+0x93/0x100
      [  788.767018]  [<ffffffff81637f49>] skb_warn_bad_offload+0xcd/0xda
      [  788.796117]  [<ffffffff8152950c>] skb_checksum_help+0x17c/0x190
      [  788.823392]  [<ffffffffa01463a1>] netem_enqueue+0x741/0x7c0 [sch_netem]
      [  788.854487]  [<ffffffff8152cb58>] dev_queue_xmit+0x2a8/0x570
      [  788.880870]  [<ffffffff8156ae1d>] ip_finish_output+0x53d/0x7d0
      ...
      
      The problem occurs because netem is not prepared to handle GSO packets (as it
      uses skb_checksum_help in its enqueue path, which cannot manipulate these
      frames).
      
      The solution I think is to simply segment the skb in a simmilar fashion to the
      way we do in __dev_queue_xmit (via validate_xmit_skb), with some minor changes.
      When we decide to corrupt an skb, if the frame is GSO, we segment it, corrupt
      the first segment, and enqueue the remaining ones.
      
      tested successfully by myself on the latest net kernel, to which this applies
      
      Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      CC: Jamal Hadi Salim <jhs@mojatatu.com>
      CC: "David S. Miller" <davem@davemloft.net>
      CC: netem@lists.linux-foundation.org
      CC: eric.dumazet@gmail.com
      CC: stephen@networkplumber.org
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6071bd1a
    • David S. Miller's avatar
      Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux-merge · 9b40d5aa
      David S. Miller authored
      
      
      Antonio Quartulli says:
      
      ====================
      In this small batch of patches you have:
      - a fix for our Distributed ARP Table that makes sure that the input
        provided to the hash function during a query is the same as the one
        provided during an insert (so to prevent false negatives), by Antonio
        Quartulli
      - a fix for our new protocol implementation B.A.T.M.A.N. V that ensures
        that a hard interface is properly re-activated when it is brought down
        and then up again, by Antonio Quartulli
      - two fixes respectively to the reference counting of the tt_local_entry
        and neigh_node objects, by Sven Eckelmann. Such bug is rather severe
        as it would prevent the netdev objects references by batman-adv from
        being released after shutdown.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9b40d5aa
    • Linus Torvalds's avatar
      Minimal fix-up of bad hashing behavior of hash_64() · 689de1d6
      Linus Torvalds authored
      
      
      This is a fairly minimal fixup to the horribly bad behavior of hash_64()
      with certain input patterns.
      
      In particular, because the multiplicative value used for the 64-bit hash
      was intentionally bit-sparse (so that the multiply could be done with
      shifts and adds on architectures without hardware multipliers), some
      bits did not get spread out very much.  In particular, certain fairly
      common bit ranges in the input (roughly bits 12-20: commonly with the
      most information in them when you hash things like byte offsets in files
      or memory that have block factors that mean that the low bits are often
      zero) would not necessarily show up much in the result.
      
      There's a bigger patch-series brewing to fix up things more completely,
      but this is the fairly minimal fix for the 64-bit hashing problem.  It
      simply picks a much better constant multiplier, spreading the bits out a
      lot better.
      
      NOTE! For 32-bit architectures, the bad old hash_64() remains the same
      for now, since 64-bit multiplies are expensive.  The bigger hashing
      cleanup will replace the 32-bit case with something better.
      
      The new constants were picked by George Spelvin who wrote that bigger
      cleanup series.  I just picked out the constants and part of the comment
      from that series.
      
      Cc: stable@vger.kernel.org
      Cc: George Spelvin <linux@horizon.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      689de1d6
    • Linus Torvalds's avatar
      Merge tag 'md/4.6-rc6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · 98bcf286
      Linus Torvalds authored
      Pull MD fixes from Shaohua Li:
       "This update includes several trival fixes.  The only important one is
        to fix MD bio merge, which has big performance impact"
      
      * tag 'md/4.6-rc6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
        raid5: delete unnecessary warnning
        MD: make bio mergeable
        md/raid0: remove empty line printk from dump_zones
        md/raid0: fix uninitialized variable bug
      98bcf286
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 33656a1f
      Linus Torvalds authored
      Pull UDF fix from Jan Kara:
       "A fix of a regression in UDF that got introduced in 4.6-rc1 by one of
        the charset encoding fixes"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Fix conversion of 'dstring' fields to UTF8
      33656a1f
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.6-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 5f40adbc
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
       "Here are some late but important fixes for the v4.6 kernel series.
        ACPI and RCAR, so two driver fixes (PM related) and a self-evident
        string lookup fix for ACPI GPIOs:
      
         - A serious ACPI fix targeted for stable: lookup strings were being
           free'd.
      
         - Revert two patches from the RCAR driver"
      
      * tag 'gpio-v4.6-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpiolib-acpi: Duplicate con_id string when adding it to the crs lookup list
        Revert "gpio: rcar: Fine-grained Runtime PM support"
        Revert "gpio: rcar: Add Runtime PM handling for interrupts"
      5f40adbc
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 9c5d1bc2
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) MODULE_FIRMWARE firmware string not correct for iwlwifi 8000 chips,
          from Sara Sharon.
      
       2) Fix SKB size checks in batman-adv stack on receive, from Sven
          Eckelmann.
      
       3) Leak fix on mac80211 interface add error paths, from Johannes Berg.
      
       4) Cannot invoke napi_disable() with BH disabled in myri10ge driver,
          fix from Stanislaw Gruszka.
      
       5) Fix sign extension problem when computing feature masks in
          net_gso_ok(), from Marcelo Ricardo Leitner.
      
       6) lan78xx driver doesn't count packets and packet lengths in its
          statistics properly, fix from Woojung Huh.
      
       7) Fix the buffer allocation sizes in pegasus USB driver, from Petko
          Manolov.
      
       8) Fix refcount overflows in bpf, from Alexei Starovoitov.
      
       9) Unified dst cache handling introduced a preempt warning in
          ip_tunnel, fix by resetting rather then setting the cached route.
          From Paolo Abeni.
      
      10) Listener hash collision test fix in soreuseport, from Craig Gallak
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
        gre: do not pull header in ICMP error processing
        net: Implement net_dbg_ratelimited() for CONFIG_DYNAMIC_DEBUG case
        tipc: only process unicast on intended node
        cxgb3: fix out of bounds read
        net/smscx5xx: use the device tree for mac address
        soreuseport: Fix TCP listener hash collision
        net: l2tp: fix reversed udp6 checksum flags
        ip_tunnel: fix preempt warning in ip tunnel creation/updating
        samples/bpf: fix trace_output example
        bpf: fix check_map_func_compatibility logic
        bpf: fix refcnt overflow
        drivers: net: cpsw: use of_phy_connect() in fixed-link case
        dt: cpsw: phy-handle, phy_id, and fixed-link are mutually exclusive
        drivers: net: cpsw: don't ignore phy-mode if phy-handle is used
        drivers: net: cpsw: fix segfault in case of bad phy-handle
        drivers: net: cpsw: fix parsing of phy-handle DT property in dual_emac config
        MAINTAINERS: net: Change maintainer for GRETH 10/100/1G Ethernet MAC device driver
        gre: reject GUE and FOU in collect metadata mode
        pegasus: fixes reported packet length
        pegasus: fixes URB buffer allocation size;
        ...
      9c5d1bc2
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · ba22906a
      Linus Torvalds authored
      Pull sparc fixes from David Miller:
      
       1) Fix panics with SR-IOV, from Babu Moger.
      
       2) Wire up preadv2/pwritev2.
      
       3) Allow proper auto-loading of VIO devices, from John Paul Adrian
          Glaubitz.
      
       4) Recognize Sonoma cpus, from Khalid Aziz.
      
       5) Fix bootup regressions caused by syscall trace fixes made recently.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Fix bootup regressions on some Kconfig combinations.
        sparc64: recognize and support Sonoma CPU type
        sparc: Implement and wire up vio_hotplug for vio.
        sparc: Implement and wire up modalias_show for vio.
        sparc/pci: Refactor dev_archdata initialization into pci_init_dev_archdata
        sparc/defconfigs: Remove CONFIG_IPV6_PRIVACY
        sparc: Write up preadv2/pwritev2 syscalls.
        sparc/PCI: Fix for panic while enabling SR-IOV
      ba22906a
  4. May 02, 2016
    • Jiri Benc's avatar
      gre: do not pull header in ICMP error processing · b7f8fe25
      Jiri Benc authored
      iptunnel_pull_header expects that IP header was already pulled; with this
      expectation, it pulls the tunnel header. This is not true in gre_err.
      Furthermore, ipv4_update_pmtu and ipv4_redirect expect that skb->data points
      to the IP header.
      
      We cannot pull the tunnel header in this path. It's just a matter of not
      calling iptunnel_pull_header - we don't need any of its effects.
      
      Fixes: bda7bb46
      
       ("gre: Allow multiple protocol listener for gre protocol.")
      Signed-off-by: default avatarJiri Benc <jbenc@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b7f8fe25
    • Tim Bingham's avatar
      net: Implement net_dbg_ratelimited() for CONFIG_DYNAMIC_DEBUG case · 2c94b537
      Tim Bingham authored
      Prior to commit d92cff89 ("net_dbg_ratelimited: turn into no-op
      when !DEBUG") the implementation of net_dbg_ratelimited() was buggy
      for both the DEBUG and CONFIG_DYNAMIC_DEBUG cases.
      
      The bug was that net_ratelimit() was being called and, despite
      returning true, nothing was being printed to the console. This
      resulted in messages like the following -
      
      "net_ratelimit: %d callbacks suppressed"
      
      with no other output nearby.
      
      After commit d92cff89 ("net_dbg_ratelimited: turn into no-op when
      !DEBUG") the bug is fixed for the DEBUG case. However, there's no
      output at all for CONFIG_DYNAMIC_DEBUG case.
      
      This patch restores debug output (if enabled) for the
      CONFIG_DYNAMIC_DEBUG case.
      
      Add a definition of net_dbg_ratelimited() for the CONFIG_DYNAMIC_DEBUG
      case. The implementation takes care to check that dynamic debugging is
      enabled before calling net_ratelimit().
      
      Fixes: d92cff89
      
       ("net_dbg_ratelimited: turn into no-op when !DEBUG")
      Signed-off-by: default avatarTim Bingham <tbingham@akamai.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2c94b537
    • Hamish Martin's avatar
      tipc: only process unicast on intended node · efe79050
      Hamish Martin authored
      We have observed complete lock up of broadcast-link transmission due to
      unacknowledged packets never being removed from the 'transmq' queue. This
      is traced to nodes having their ack field set beyond the sequence number
      of packets that have actually been transmitted to them.
      Consider an example where node 1 has sent 10 packets to node 2 on a
      link and node 3 has sent 20 packets to node 2 on another link. We
      see examples of an ack from node 2 destined for node 3 being treated as
      an ack from node 2 at node 1. This leads to the ack on the node 1 to node
      2 link being increased to 20 even though we have only sent 10 packets.
      When node 1 does get around to sending further packets, none of the
      packets with sequence numbers less than 21 are actually removed from the
      transmq.
      To resolve this we reinstate some code lost in commit d999297c
      
       ("tipc:
      reduce locking scope during packet reception") which ensures that only
      messages destined for the receiving node are processed by that node. This
      prevents the sequence numbers from getting out of sync and resolves the
      packet leakage, thereby resolving the broadcast-link transmission
      lock-ups we observed.
      
      While we are aware that this change only patches over a root problem that
      we still haven't identified, this is a sanity test that it is always
      legitimate to do. It will remain in the code even after we identify and
      fix the real problem.
      
      Reviewed-by: default avatarChris Packham <chris.packham@alliedtelesis.co.nz>
      Reviewed-by: default avatarJohn Thompson <john.thompson@alliedtelesis.co.nz>
      Signed-off-by: default avatarHamish Martin <hamish.martin@alliedtelesis.co.nz>
      Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      efe79050