1. 04 Jun, 2014 1 commit
    • Yinghai Lu's avatar
      x86: irq: Get correct available vectors for cpu disable · ac2a5539
      Yinghai Lu authored
      check_irq_vectors_for_cpu_disable() can overestimate the number of
      available interrupt vectors, so the check for cpu down succeeds, but
      the actual cpu removal fails.
      
      It iterates from FIRST_EXTERNAL_VECTOR to NR_VECTORS, which is wrong
      because the systems vectors are not taken into account.
      
      Limit the search to first_system_vector instead of NR_VECTORS.
      
      The second indicator for vector availability the used_vectors bitmap
      is not taken into account at all. So system vectors,
      e.g. IA32_SYSCALL_VECTOR (0x80) and IRQ_MOVE_CLEANUP_VECTOR (0x20),
      are accounted as available.
      
      Add a check for the used_vectors bitmap and do not account vectors
      which are marked there.
      
      [ tglx: Simplified code. Rewrote changelog and code comments. ]
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Acked-by: default avatarPrarit Bhargava <prarit@redhat.com>
      Cc: Seiji Aguchi <seiji.aguchi@hds.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: K. Y. Srinivasan <kys@microsoft.com>
      Cc: Steven Rostedt (Red Hat) <rostedt@goodmis.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "Elliott, Robert (Server Storage)" <Elliott@hp.com>
      Cc: x86@kernel.org
      Link: http://lkml.kernel.org/r/1400160305-17774-2-git-send-email-prarit@redhat.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      ac2a5539
  2. 03 Jun, 2014 6 commits
    • Linus Torvalds's avatar
      Merge tag 'sound-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · d2cfd310
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A few addition of HD-audio fixups for ALC260 and AD1986A codecs.  All
        marked as stable fixes.
      
        The fixes are pretty local and they are old machines, so quite safe to
        apply"
      
      * tag 'sound-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek - Fix COEF widget NID for ALC260 replacer fixup
        ALSA: hda/realtek - Correction of fixup codes for PB V7900 laptop
        ALSA: hda/analog - Fix silent output on ASUS A8JN
      d2cfd310
    • Jianyu Zhan's avatar
      kernfs: move the last knowledge of sysfs out from kernfs · c9482a5b
      Jianyu Zhan authored
      There is still one residue of sysfs remaining: the sb_magic
      SYSFS_MAGIC. However this should be kernfs user specific,
      so this patch moves it out. Kerrnfs user should specify their
      magic number while mouting.
      Signed-off-by: default avatarJianyu Zhan <nasa4836@gmail.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c9482a5b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · cae61ba3
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Unbreak zebra and other netlink apps, from Eric W Biederman.
      
       2) Some new qmi_wwan device IDs, from Aleksander Morgado.
      
       3) Fix info leak in DCB netlink handler of qlcnic driver, from Dan
          Carpenter.
      
       4) inet_getid() and ipv6_select_ident() do not generate monotonically
          increasing ID numbers, fix from Eric Dumazet.
      
       5) Fix memory leak in __sk_prepare_filter(), from Leon Yu.
      
       6) Netlink leftover bytes warning message is user triggerable, rate
          limit it.  From Michal Schmidt.
      
       7) Fix non-linear SKB panic in ipvs, from Peter Christensen.
      
       8) Congestion window undo needs to be performed even if only never
          retransmitted data is SACK'd, fix from Yuching Cheng.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (24 commits)
        net: filter: fix possible memory leak in __sk_prepare_filter()
        net: ec_bhf: Add runtime dependencies
        tcp: fix cwnd undo on DSACK in F-RTO
        netlink: Only check file credentials for implicit destinations
        ipheth: Add support for iPad 2 and iPad 3
        team: fix mtu setting
        net: fix inet_getid() and ipv6_select_ident() bugs
        net: qmi_wwan: interface #11 in Sierra Wireless MC73xx is not QMI
        net: qmi_wwan: add additional Sierra Wireless QMI devices
        bridge: Prevent insertion of FDB entry with disallowed vlan
        netlink: rate-limit leftover bytes warning and print process name
        bridge: notify user space after fdb update
        net: qmi_wwan: add Netgear AirCard 341U
        net: fix wrong mac_len calculation for vlans
        batman-adv: fix NULL pointer dereferences
        net/mlx4_core: Reset RoCE VF gids when guest driver goes down
        emac: aggregation of v1-2 PLB errors for IER register
        emac: add missing support of 10mbit in emac/rgmii
        can: only rename enabled led triggers when changing the netdev name
        ipvs: Fix panic due to non-linear skb
        ...
      cae61ba3
    • Leon Yu's avatar
      net: filter: fix possible memory leak in __sk_prepare_filter() · 418c96ac
      Leon Yu authored
      __sk_prepare_filter() was reworked in commit bd4cf0ed (net: filter:
      rework/optimize internal BPF interpreter's instruction set) so that it should
      have uncharged memory once things went wrong. However that work isn't complete.
      Error is handled only in __sk_migrate_filter() while memory can still leak in
      the error path right after sk_chk_filter().
      
      Fixes: bd4cf0ed ("net: filter: rework/optimize internal BPF interpreter's instruction set")
      Signed-off-by: default avatarLeon Yu <chianglungyu@gmail.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Tested-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      418c96ac
    • Linus Torvalds's avatar
      Merge tag 'md/3.15-fixes' of git://neil.brown.name/md · ca755175
      Linus Torvalds authored
      Pull two md bugfixes from Neil Brown:
       "Two md bugfixes for possible corruption when restarting reshape
      
        If a raid5/6 reshape is restarted (After stopping and re-assembling
        the array) and the array is marked read-only (or read-auto), then the
        reshape will appear to complete immediately, without actually moving
        anything around.  This can result in corruption.
      
        There are two patches which do much the same thing in different
        places.  They are separate because one is an older bug and so can be
        applied to more -stable kernels"
      
      * tag 'md/3.15-fixes' of git://neil.brown.name/md:
        md: always set MD_RECOVERY_INTR when interrupting a reshape thread.
        md: always set MD_RECOVERY_INTR when aborting a reshape or other "resync".
      ca755175
    • Jean Delvare's avatar
      net: ec_bhf: Add runtime dependencies · 3aab01d8
      Jean Delvare authored
      The ec_bhf driver is specific to the Beckhoff CX embedded PC series.
      These are based on Intel x86 CPU. So we can add a dependency on
      X86, with COMPILE_TEST as an alternative to still allow for broader
      build-testing.
      Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
      Cc: Darek Marcinkiewicz <reksio@newterm.pl>
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3aab01d8
  3. 02 Jun, 2014 22 commits
    • Martin K. Petersen's avatar
      libata: Blacklist queued trim for Crucial M500 · 3b8d2676
      Martin K. Petersen authored
      Queued trim only works for some users with MU05 firmware.  Revert to
      blacklisting all firmware versions.
      
      Introduced by commit d121f7d0 ("libata: Update queued trim blacklist
      for M5x0 drives") which this effectively reverts, while retaining the
      blacklisting of M550.
      
      See
      
          https://bugzilla.kernel.org/show_bug.cgi?id=71371
      
      for reports of trouble with MU05 firmware.
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3b8d2676
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 92b4e113
      Linus Torvalds authored
      Pull x86 fix from Peter Anvin:
       "A single quite small patch that managed to get overlooked earlier, to
        prevent a user space triggerable oops on systems without HPET"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, vdso: Fix an OOPS accessing the HPET mapping w/o an HPET
      92b4e113
    • Linus Torvalds's avatar
      Merge tag 'usb-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 8ee7a330
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some fixes for 3.15-rc8 that resolve a number of tiny USB
        issues that have been reported, and there are some new device ids as
        well.
      
        All have been tested in linux-next"
      
      * tag 'usb-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        xhci: delete endpoints from bandwidth list before freeing whole device
        usb: pci-quirks: Prevent Sony VAIO t-series from switching usb ports
        USB: cdc-wdm: properly include types.h
        usb: cdc-wdm: export cdc-wdm uapi header
        USB: serial: option: add support for Novatel E371 PCIe card
        USB: ftdi_sio: add NovaTech OrionLXm product ID
        USB: io_ti: fix firmware download on big-endian machines (part 2)
        USB: Avoid runtime suspend loops for HCDs that can't handle suspend/resume
      8ee7a330
    • Linus Torvalds's avatar
      Merge tag 'staging-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · da579dd6
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are some staging driver fixes for 3.15.
      
        Three are for the speakup drivers (one fixes a regression caused in
        3.15-rc, and the other two resolve a tty issue found by Ben Hutchings)
        The comedi and r8192e_pci driver fixes also resolve reported issues"
      
      * tag 'staging-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: r8192e_pci: fix htons error
        Staging: speakup: Update __speakup_paste_selection() tty (ab)usage to match vt
        Staging: speakup: Move pasting into a work item
        staging: comedi: ni_daq_700: add mux settling delay
        speakup: fix incorrect perms on speakup_acntsa.c
      da579dd6
    • Yuchung Cheng's avatar
      tcp: fix cwnd undo on DSACK in F-RTO · 0cfa5c07
      Yuchung Cheng authored
      This bug is discovered by an recent F-RTO issue on tcpm list
      https://www.ietf.org/mail-archive/web/tcpm/current/msg08794.html
      
      The bug is that currently F-RTO does not use DSACK to undo cwnd in
      certain cases: upon receiving an ACK after the RTO retransmission in
      F-RTO, and the ACK has DSACK indicating the retransmission is spurious,
      the sender only calls tcp_try_undo_loss() if some never retransmisted
      data is sacked (FLAG_ORIG_DATA_SACKED).
      
      The correct behavior is to unconditionally call tcp_try_undo_loss so
      the DSACK information is used properly to undo the cwnd reduction.
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Signed-off-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0cfa5c07
    • Eric W. Biederman's avatar
      netlink: Only check file credentials for implicit destinations · 2d7a85f4
      Eric W. Biederman authored
      It was possible to get a setuid root or setcap executable to write to
      it's stdout or stderr (which has been set made a netlink socket) and
      inadvertently reconfigure the networking stack.
      
      To prevent this we check that both the creator of the socket and
      the currentl applications has permission to reconfigure the network
      stack.
      
      Unfortunately this breaks Zebra which always uses sendto/sendmsg
      and creates it's socket without any privileges.
      
      To keep Zebra working don't bother checking if the creator of the
      socket has privilege when a destination address is specified.  Instead
      rely exclusively on the privileges of the sender of the socket.
      
      Note from Andy: This is exactly Eric's code except for some comment
      clarifications and formatting fixes.  Neither I nor, I think, anyone
      else is thrilled with this approach, but I'm hesitant to wait on a
      better fix since 3.15 is almost here.
      
      Note to stable maintainers: This is a mess.  An earlier series of
      patches in 3.15 fix a rather serious security issue (CVE-2014-0181),
      but they did so in a way that breaks Zebra.  The offending series
      includes:
      
          commit aa4cf945
          Author: Eric W. Biederman <ebiederm@xmission.com>
          Date:   Wed Apr 23 14:28:03 2014 -0700
      
              net: Add variants of capable for use on netlink messages
      
      If a given kernel version is missing that series of fixes, it's
      probably worth backporting it and this patch.  if that series is
      present, then this fix is critical if you care about Zebra.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2d7a85f4
    • Kristian Evensen's avatar
      ipheth: Add support for iPad 2 and iPad 3 · 22fd2a52
      Kristian Evensen authored
      Each iPad model has a different product id, this patch adds support for iPad 2
      (pid 0x12a2) and iPad 3 (pid 0x12a6). Note that iPad 2 must be jailbroken and a
      third-party app must be used for tethering to work. On iPad 3, tethering works
      out of the box (assuming your ISP is nice).
      Signed-off-by: default avatarKristian Evensen <kristian.evensen@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      22fd2a52
    • Jiri Pirko's avatar
      team: fix mtu setting · 9d0d68fa
      Jiri Pirko authored
      Now it is not possible to set mtu to team device which has a port
      enslaved to it. The reason is that when team_change_mtu() calls
      dev_set_mtu() for port device, notificator for NETDEV_PRECHANGEMTU
      event is called and team_device_event() returns NOTIFY_BAD forbidding
      the change. So fix this by returning NOTIFY_DONE here in case team is
      changing mtu in team_change_mtu().
      
      Introduced-by: 3d249d4c "net: introduce ethernet teaming device"
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Acked-by: default avatarFlavio Leitner <fbl@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9d0d68fa
    • Eric Dumazet's avatar
      net: fix inet_getid() and ipv6_select_ident() bugs · 39c36094
      Eric Dumazet authored
      I noticed we were sending wrong IPv4 ID in TCP flows when MTU discovery
      is disabled.
      Note how GSO/TSO packets do not have monotonically incrementing ID.
      
      06:37:41.575531 IP (id 14227, proto: TCP (6), length: 4396)
      06:37:41.575534 IP (id 14272, proto: TCP (6), length: 65212)
      06:37:41.575544 IP (id 14312, proto: TCP (6), length: 57972)
      06:37:41.575678 IP (id 14317, proto: TCP (6), length: 7292)
      06:37:41.575683 IP (id 14361, proto: TCP (6), length: 63764)
      
      It appears I introduced this bug in linux-3.1.
      
      inet_getid() must return the old value of peer->ip_id_count,
      not the new one.
      
      Lets revert this part, and remove the prevention of
      a null identification field in IPv6 Fragment Extension Header,
      which is dubious and not even done properly.
      
      Fixes: 87c48fa3 ("ipv6: make fragment identifications less predictable")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      39c36094
    • Aleksander Morgado's avatar
      net: qmi_wwan: interface #11 in Sierra Wireless MC73xx is not QMI · fc0d6e9c
      Aleksander Morgado authored
      This interface is unusable, as the cdc-wdm character device doesn't reply to
      any QMI command. Also, the out-of-tree Sierra Wireless GobiNet driver fully
      skips it.
      Signed-off-by: default avatarAleksander Morgado <aleksander@aleksander.es>
      Acked-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fc0d6e9c
    • Aleksander Morgado's avatar
      net: qmi_wwan: add additional Sierra Wireless QMI devices · 9a793e71
      Aleksander Morgado authored
      A set of new VID/PIDs retrieved from the out-of-tree GobiNet/GobiSerial
      Sierra Wireless drivers.
      Signed-off-by: default avatarAleksander Morgado <aleksander@aleksander.es>
      Acked-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9a793e71
    • Toshiaki Makita's avatar
      bridge: Prevent insertion of FDB entry with disallowed vlan · e0d7968a
      Toshiaki Makita authored
      br_handle_local_finish() is allowing us to insert an FDB entry with
      disallowed vlan. For example, when port 1 and 2 are communicating in
      vlan 10, and even if vlan 10 is disallowed on port 3, port 3 can
      interfere with their communication by spoofed src mac address with
      vlan id 10.
      
      Note: Even if it is judged that a frame should not be learned, it should
      not be dropped because it is destined for not forwarding layer but higher
      layer. See IEEE 802.1Q-2011 8.13.10.
      Signed-off-by: default avatarToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
      Acked-by: default avatarVlad Yasevich <vyasevic@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e0d7968a
    • Michal Schmidt's avatar
      netlink: rate-limit leftover bytes warning and print process name · bfc5184b
      Michal Schmidt authored
      Any process is able to send netlink messages with leftover bytes.
      Make the warning rate-limited to prevent too much log spam.
      
      The warning is supposed to help find userspace bugs, so print the
      triggering command name to implicate the buggy program.
      
      [v2: Use pr_warn_ratelimited instead of printk_ratelimited.]
      Signed-off-by: default avatarMichal Schmidt <mschmidt@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bfc5184b
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Fix COEF widget NID for ALC260 replacer fixup · 192a98e2
      Takashi Iwai authored
      The conversion to a fixup table for Replacer model with ALC260 in
      commit 20f7d928 took the wrong widget NID for COEF setups.  Namely,
      NID 0x1a should have been used instead of NID 0x20, which is the
      common node for all Realtek codecs but ALC260.
      
      Fixes: 20f7d928 ('ALSA: hda/realtek - Replace ALC260 model=replacer with the auto-parser')
      Cc: <stable@vger.kernel.org> [v3.4+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      192a98e2
    • Ronan Marquet's avatar
      ALSA: hda/realtek - Correction of fixup codes for PB V7900 laptop · e30cf2d2
      Ronan Marquet authored
      Correcion of wrong fixup entries add in commit ca8f0424 to replace
      static model quirk for PB V7900 laptop (will model).
      
      [note: the removal of ALC260_FIXUP_HP_PIN_0F chain is also needed as a
       part of the fix; otherwise the pin is set up wrongly as a headphone,
       and user-space (PulseAudio) may be wrongly trying to detect the jack
       state -- tiwai]
      
      Fixes: ca8f0424 ('ALSA: hda/realtek - Add the fixup codes for ALC260 model=will')
      Signed-off-by: default avatarRonan Marquet <ronan.marquet@orange.fr>
      Cc: <stable@vger.kernel.org> [v3.4+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e30cf2d2
    • Jon Maxwell's avatar
      bridge: notify user space after fdb update · c65c7a30
      Jon Maxwell authored
      There has been a number incidents recently where customers running KVM have
      reported that VM hosts on different Hypervisors are unreachable. Based on
      pcap traces we found that the bridge was broadcasting the ARP request out
      onto the network. However some NICs have an inbuilt switch which on occasions
      were broadcasting the VMs ARP request back through the physical NIC on the
      Hypervisor. This resulted in the bridge changing ports and incorrectly learning
      that the VMs mac address was external. As a result the ARP reply was directed
      back onto the external network and VM never updated it's ARP cache. This patch
      will notify the bridge command, after a fdb has been updated to identify such
      port toggling.
      Signed-off-by: default avatarJon Maxwell <jmaxwell37@gmail.com>
      Reviewed-by: default avatarJiri Pirko <jiri@resnulli.us>
      Acked-by: default avatarToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
      Acked-by: default avatarStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c65c7a30
    • Aleksander Morgado's avatar
    • Nikolay Aleksandrov's avatar
      net: fix wrong mac_len calculation for vlans · 4b9b1cdf
      Nikolay Aleksandrov authored
      After 1e785f48 ("net: Start with correct mac_len in
      skb_network_protocol") skb->mac_len is used as a start of the
      calculation in skb_network_protocol() but that is not always correct. If
      skb->protocol == 8021Q/AD, usually the vlan header is already inserted
      in the skb (i.e. vlan reorder hdr == 0). Usually when the packet enters
      dev_hard_xmit it has mac_len == 0 so we take 2 bytes from the
      destination mac address (skb->data + VLAN_HLEN) as a type in
      skb_network_protocol() and return vlan_depth == 4. In the case where TSO is
      off, then the mac_len is set but it's == 18 (ETH_HLEN + VLAN_HLEN), so
      skb_network_protocol() returns a type from inside the packet and
      offset == 22. Also make vlan_depth unsigned as suggested before.
      As suggested by Eric Dumazet, move the while() loop in the if() so we
      can avoid additional testing in fast path.
      
      Here are few netperf tests + debug printk's to illustrate:
      cat netperf.tso-on.reorder-on.bugged
      - Vlan -> device (reorder on, default, this case is okay)
      MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
      192.168.3.1 () port 0 AF_INET
      Recv   Send    Send
      Socket Socket  Message  Elapsed
      Size   Size    Size     Time     Throughput
      bytes  bytes   bytes    secs.    10^6bits/sec
      
       87380  16384  16384    10.00    7111.54
      [   81.605435] skb->len 65226 skb->gso_size 1448 skb->proto 0x800
      skb->mac_len 0 vlan_depth 0 type 0x800
      
      - Vlan -> device (reorder off, bad)
      cat netperf.tso-on.reorder-off.bugged
      MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
      192.168.3.1 () port 0 AF_INET
      Recv   Send    Send
      Socket Socket  Message  Elapsed
      Size   Size    Size     Time     Throughput
      bytes  bytes   bytes    secs.    10^6bits/sec
      
       87380  16384  16384    10.00     241.35
      [  204.578332] skb->len 1518 skb->gso_size 0 skb->proto 0x8100
      skb->mac_len 0 vlan_depth 4 type 0x5301
      0x5301 are the last two bytes of the destination mac.
      
      And if we stop TSO, we may get even the following:
      [   83.343156] skb->len 2966 skb->gso_size 1448 skb->proto 0x8100
      skb->mac_len 18 vlan_depth 22 type 0xb84
      Because mac_len already accounts for VLAN_HLEN.
      
      After the fix:
      cat netperf.tso-on.reorder-off.fixed
      MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
      192.168.3.1 () port 0 AF_INET
      Recv   Send    Send
      Socket Socket  Message  Elapsed
      Size   Size    Size     Time     Throughput
      bytes  bytes   bytes    secs.    10^6bits/sec
      
       87380  16384  16384    10.01    5001.46
      [   81.888489] skb->len 65230 skb->gso_size 1448 skb->proto 0x8100
      skb->mac_len 0 vlan_depth 18 type 0x800
      
      CC: Vlad Yasevich <vyasevic@redhat.com>
      CC: Eric Dumazet <eric.dumazet@gmail.com>
      CC: Daniel Borkman <dborkman@redhat.com>
      CC: David S. Miller <davem@davemloft.net>
      
      Fixes:1e785f48 ("net: Start with correct mac_len in
      skb_network_protocol")
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4b9b1cdf
    • Linus Torvalds's avatar
      Linux 3.15-rc8 · fad01e86
      Linus Torvalds authored
      fad01e86
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 204fe038
      Linus Torvalds authored
      Pull powerpc fix from Ben Herrenschmidt:
       "Here's just one trivial patch to wire up sys_renameat2 which I seem to
        have completely missed so far.
      
        (My test build scripts fwd me warnings but miss the ones generated for
        missing syscalls)"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Wire renameat2() syscall
      204fe038
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 568180a5
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "A fair number of fixes across the field.  Nothing terribly
        complicated; the one liners in below changelog should be fairly
        descriptive.
      
        Noteworthy is the SB1 change which the result of changes to binutils
        resulting in one big gas warning for most files being assembled as
        well as the asid_cache and branch emulation fixes which fix corruption
        or possible uninteded behaviour of kernel or application code.  The
        remainder of fixes are more platforms or subsystem specific"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: R46000: Fix Micro-assembler field overflow for R4600 V2
        MIPS: ptrace: Avoid smp_processor_id() in preemptible code
        MIPS: Lemote 2F: cs5536: mfgpt: use raw locks
        MIPS: SB1: Fix excessive kernel warnings.
        MIPS: RC32434: fix broken PCI resource initialization
        MIPS: malta: memory.c: Initialize the 'memsize' variable
        MIPS: Fix typo when reporting cache and ftlb errors for ImgTec cores
        MIPS: Fix inconsistancy of __NR_Linux_syscalls value
        MIPS: Fix branch emulation of branch likely instructions.
        MIPS: Fix a typo error in AUDIT_ARCH definition
        MIPS: Change type of asid_cache to unsigned long
      568180a5
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 32439700
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Various fixlets, mostly related to the (root-only) SCHED_DEADLINE
        policy, but also a hotplug bug fix and a fix for a NR_CPUS related
        overallocation bug causing a suspend/resume regression"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Fix hotplug vs. set_cpus_allowed_ptr()
        sched/cpupri: Replace NR_CPUS arrays
        sched/deadline: Replace NR_CPUS arrays
        sched/deadline: Restrict user params max value to 2^63 ns
        sched/deadline: Change sched_getparam() behaviour vs SCHED_DEADLINE
        sched: Disallow sched_attr::sched_policy < 0
        sched: Make sched_setattr() correctly return -EFBIG
      32439700
  4. 01 Jun, 2014 2 commits
  5. 31 May, 2014 6 commits
  6. 30 May, 2014 3 commits