1. 19 10月, 2012 8 次提交
    • E
      tcp: fix FIONREAD/SIOCINQ · a3374c42
      Eric Dumazet 提交于
      tcp_ioctl() tries to take into account if tcp socket received a FIN
      to report correct number bytes in receive queue.
      
      But its flaky because if the application ate the last skb,
      we return 1 instead of 0.
      
      Correct way to detect that FIN was received is to test SOCK_DONE.
      Reported-by: NElliot Hughes <enh@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a3374c42
    • B
      net: qmi_wwan: adding more ZTE devices · c6846ee1
      Bjørn Mork 提交于
      Analyzed a few Windows driver description files, supporting
      this long list of devices:
      
      %ztewwan.DeviceDesc0002%    = ztewwan.ndi, USB\VID_19D2&PID_0002&MI_01
      %ztewwan.DeviceDesc0012%    = ztewwan.ndi, USB\VID_19D2&PID_0012&MI_01
      %ztewwan.DeviceDesc0017%    = ztewwan.ndi, USB\VID_19D2&PID_0017&MI_03
      %ztewwan.DeviceDesc0021%    = ztewwan.ndi, USB\VID_19D2&PID_0021&MI_04
      %ztewwan.DeviceDesc0025%    = ztewwan.ndi, USB\VID_19D2&PID_0025&MI_01
      %ztewwan.DeviceDesc0031%    = ztewwan.ndi, USB\VID_19D2&PID_0031&MI_04
      %ztewwan.DeviceDesc0042%    = ztewwan.ndi, USB\VID_19D2&PID_0042&MI_04
      %ztewwan.DeviceDesc0049%    = ztewwan.ndi, USB\VID_19D2&PID_0049&MI_05
      %ztewwan.DeviceDesc0052%    = ztewwan.ndi, USB\VID_19D2&PID_0052&MI_04
      %ztewwan.DeviceDesc0055%    = ztewwan.ndi, USB\VID_19D2&PID_0055&MI_01
      %ztewwan.DeviceDesc0058%    = ztewwan.ndi, USB\VID_19D2&PID_0058&MI_04
      %ztewwan.DeviceDesc0063%    = ztewwan.ndi, USB\VID_19D2&PID_0063&MI_04
      %ztewwan.DeviceDesc2002%    = ztewwan.ndi, USB\VID_19D2&PID_2002&MI_04
      %ztewwan.DeviceDesc0104%    = ztewwan.ndi, USB\VID_19D2&PID_0104&MI_04
      %ztewwan.DeviceDesc0113%    = ztewwan.ndi, USB\VID_19D2&PID_0113&MI_05
      %ztewwan.DeviceDesc0118%    = ztewwan.ndi, USB\VID_19D2&PID_0118&MI_05
      %ztewwan.DeviceDesc0121%    = ztewwan.ndi, USB\VID_19D2&PID_0121&MI_05
      %ztewwan.DeviceDesc0123%    = ztewwan.ndi, USB\VID_19D2&PID_0123&MI_04
      %ztewwan.DeviceDesc0124%    = ztewwan.ndi, USB\VID_19D2&PID_0124&MI_05
      %ztewwan.DeviceDesc0125%    = ztewwan.ndi, USB\VID_19D2&PID_0125&MI_06
      %ztewwan.DeviceDesc0126%    = ztewwan.ndi, USB\VID_19D2&PID_0126&MI_05
      %ztewwan.DeviceDesc1008%    = ztewwan.ndi, USB\VID_19D2&PID_1008&MI_04
      %ztewwan.DeviceDesc1010%    = ztewwan.ndi, USB\VID_19D2&PID_1010&MI_04
      %ztewwan.DeviceDesc1012%    = ztewwan.ndi, USB\VID_19D2&PID_1012&MI_04
      %ztewwan.DeviceDesc1402%    = ztewwan.ndi, USB\VID_19D2&PID_1402&MI_02
      %ztewwan.DeviceDesc0157%    = ztewwan.ndi, USB\VID_19D2&PID_0157&MI_05
      %ztewwan.DeviceDesc0158%    = ztewwan.ndi, USB\VID_19D2&PID_0158&MI_03
      %ztewwan.DeviceDesc1401%    = ztewwan.ndi, USB\VID_19D2&PID_1401&MI_02
      %ztewwan.DeviceDesc0130%    = ztewwan.ndi, USB\VID_19D2&PID_0130&MI_01
      %ztewwan.DeviceDesc0133%    = ztewwan.ndi, USB\VID_19D2&PID_0133&MI_03
      %ztewwan.DeviceDesc0176%    = ztewwan.ndi, USB\VID_19D2&PID_0176&MI_03
      %ztewwan.DeviceDesc0178%    = ztewwan.ndi, USB\VID_19D2&PID_0178&MI_03
      %ztewwan.DeviceDesc0168%    = ztewwan.ndi, USB\VID_19D2&PID_0168&MI_04
      ;EuFi890
      %ztewwan.DeviceDesc0191%    = ztewwan.ndi, USB\VID_19D2&PID_0191&MI_04
      ;AL621
      %ztewwan.DeviceDesc0167%    = ztewwan.ndi, USB\VID_19D2&PID_0167&MI_04
      ;MF821
      %ztewwan.DeviceDesc0199%    = ztewwan.ndi, USB\VID_19D2&PID_0199&MI_01
      %ztewwan.DeviceDesc0200%    = ztewwan.ndi, USB\VID_19D2&PID_0200&MI_01
      %ztewwan.DeviceDesc0257%    = ztewwan.ndi, USB\VID_19D2&PID_0257&MI_03
      ;MF821V
      %ztewwan.DeviceDesc1018%    = ztewwan.ndi, USB\VID_19D2&PID_1018&MI_03
      ;MF91
      %ztewwan.DeviceDesc1426%    = ztewwan.ndi, USB\VID_19D2&PID_1426&MI_02
      ;0141
      %ztewwan.DeviceDesc1247%    = ztewwan.ndi, USB\VID_19D2&PID_1247&MI_04
      %ztewwan.DeviceDesc1425%    = ztewwan.ndi, USB\VID_19D2&PID_1425&MI_02
      %ztewwan.DeviceDesc1424%    = ztewwan.ndi, USB\VID_19D2&PID_1424&MI_02
      %ztewwan.DeviceDesc1252%    = ztewwan.ndi, USB\VID_19D2&PID_1252&MI_04
      %ztewwan.DeviceDesc1254%    = ztewwan.ndi, USB\VID_19D2&PID_1254&MI_04
      %ztewwan.DeviceDesc1255A%   = ztewwan.ndi, USB\VID_19D2&PID_1255&MI_03
      %ztewwan.DeviceDesc1255B%   = ztewwan.ndi, USB\VID_19D2&PID_1255&MI_04
      %ztewwan.DeviceDesc1256%    = ztewwan.ndi, USB\VID_19D2&PID_1256&MI_04
      %ztewwan.DeviceDesc1245%    = ztewwanCombB.ndi, USB\VID_19D2&PID_1245&MI_04
      %ztewwan.DeviceDesc1021%    = ztewwan.ndi, USB\VID_19D2&PID_1021&MI_02
      
      Adding the ones we were missing.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c6846ee1
    • E
      netlink: use kfree_rcu() in netlink_release() · 6d772ac5
      Eric Dumazet 提交于
      On some suspend/resume operations involving wimax device, we have
      noticed some intermittent memory corruptions in netlink code.
      
      Stéphane Marchesin tracked this corruption in netlink_update_listeners()
      and suggested a patch.
      
      It appears netlink_release() should use kfree_rcu() instead of kfree()
      for the listeners structure as it may be used by other cpus using RCU
      protection.
      
      netlink_release() must set to NULL the listeners pointer when
      it is about to be freed.
      
      Also have to protect netlink_update_listeners() and
      netlink_has_listeners() if listeners is NULL.
      
      Add a nl_deref_protected() lockdep helper to properly document which
      locks protects us.
      Reported-by: NJonathan Kliegman <kliegs@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Stéphane Marchesin <marcheu@google.com>
      Cc: Sam Leffler <sleffler@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6d772ac5
    • S
      ipv4: Fix flushing of cached routing informations · 13d82bf5
      Steffen Klassert 提交于
      Currently we can not flush cached pmtu/redirect informations via
      the ipv4_sysctl_rtcache_flush sysctl. We need to check the rt_genid
      of the old route and reset the nh exeption if the old route is
      expired when we bind a new route to a nh exeption.
      Signed-off-by: NSteffen Klassert <steffen.klassert@secunet.com>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      13d82bf5
    • J
      vlan: allow to change type when no vlan device is hooked on netdev · 18c22a03
      Jiri Pirko 提交于
      vlan_info might be present but still no vlan devices might be there.
      That is in case of vlan0 automatically added.
      
      So in that case, allow to change netdev type.
      Reported-by: NJon Stanley <jstanley@rmrf.net>
      Signed-off-by: NJiri Pirko <jiri@resnulli.us>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      18c22a03
    • M
      phy: add AT803x driver · 0ca7111a
      Matus Ujhelyi 提交于
      This driver add support for wake over lan on AT803x phys.
      Signed-off-by: NMatus Ujhelyi <ujhelyi.m@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0ca7111a
    • J
      usb/ipheth: Add iPhone 5 support · af1b85e4
      Jay Purohit 提交于
      I noticed that the iPhone ethernet driver did not support
      iPhone 5. I quickly added support to it in my kernel, here's
      a patch.
      Signed-off-by: NJay Purohit <jspurohit@velocitylimitless.com>
      Acked-by: NValdis Kletnieks <valdis.kletnieks@vt.edu>
      Signed-off-by: NJan Ceuleers <jan.ceuleers@computer.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      af1b85e4
    • D
      Merge branch 'master' of git://1984.lsi.us.es/nf · 6dae8222
      David S. Miller 提交于
      Pablo Neira Ayuso Says:
      
      ====================
      The following patchset contains Netfilter/IPVS updates for your
      net tree, they are:
      
      * Fix incorrect hooks for SNAT and DNAT (bug introduced in recent IPv6
        NAT changes), from Elison Niven.
      
      * Fix xt_TEE (got broken with recent rt_gateway semantic change),
        from Eric Dumazet.
      
      * Fix custom conntrack timeout policy attachment for IPv6, from myself.
      
      * Always initialize ip_vs_timeout_user in case that TCP or UDP protocols
        is disabled, from Arnd Bergmann.
      
      Note that I had to pull from your tree to obtain:
      
      (c92b9655 ipv4: Add FLOWI_FLAG_KNOWN_NH)
      
      which was required for the xt_TEE fix.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6dae8222
  2. 18 10月, 2012 4 次提交
    • J
      apparmor: fix apparmor OOPS in audit_log_untrustedstring+0x1c/0x40 · 43c422ed
      John Johansen 提交于
      The capability defines have moved causing the auto generated names
      of capabilities that apparmor uses in logging to be incorrect.
      
      Fix the autogenerated table source to uapi/linux/capability.h
      Reported-by: NYanHong <clouds.yan@gmail.com>
      Reported-by: NKrzysztof Kolasa <kkolasa@winsoft.pl>
      Analyzed-by: NAl Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: NJohn Johansen <john.johansen@canonical.com>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NJames Morris <james.l.morris@oracle.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      43c422ed
    • L
      Merge tag 'uapi-fixes-20121017' of git://git.infradead.org/users/dhowells/linux-headers · 985c9e61
      Linus Torvalds 提交于
      Pull misc UAPI fixes from David Howells:
       "They do a number of things:
      
        (1) Import a patch from Catalin Marinas to extend the generic-y in
            Kbuild facility to uapi directories.
      
        (2) Make arch/tile's ucontext.h file use (1) and remove the header-y
            line from the kernel internal side of things.
      
        (3) Remove some now-empty conditional bits from include/linux/Kbuild.
            The contents got moved to the UAPI side of things along with new
            conditionals.
      
        (4) Deal with now-empty files:
      
           (a) Empty Kbuild files under include/ get removed.
      
           (b) Empty Kbuild files under arch/ get comments to hold them as
               they are likely to end up with generic-y or genhdr-y lines.
               Deleting them appears to work if we want to go that route.
      
           (c) Put a comment into uapi/asm-generic/kvm_para.h to prevent the
               patch program from deleting that, and made the arches with
               empty kvm_para.h uapi files use that instead of having their
               own files.
      
           (d) Put comments into four other empty uapi/ headers to prevent the
               patch program from deleting them.
      
        A question: Is this the right way to deal with the now-empty Kbuild
        files?
      
        The ones under include/ are unlikely to be used - even for generated
        files, I think - so getting rid of them is probably okay.  Once all
        the bits are in, we can probably remove all the Kbuild files under
        include/ that aren't also under include/uapi/.
      
        The ones under arch/ are more of an issue because of the potential for
        generic-y and genhdr-y."
      
      * tag 'uapi-fixes-20121017' of git://git.infradead.org/users/dhowells/linux-headers:
        UAPI: Make arch/sparc/include/uapi/asm/sigcontext.h non-empty
        UAPI: Make arch/sh/include/uapi/asm/hw_breakpoint.h non-empty
        UAPI: Make arch/mn10300/include/uapi/asm/setup.h non-empty
        UAPI: Put a comment into uapi/asm-generic/kvm_para.h and use it from arches
        UAPI: The tile arch uses the generic ucontext.h file
        UAPI: Place comments in empty arch Kbuilds to make them non-empty
        UAPI: Remove empty non-UAPI Kbuild files
        UAPI: Remove empty conditionals from include/linux/Kbuild
        UAPI: Make uapi/linux/irqnr.h non-empty
        uapi: Allow automatic generation of uapi/asm/ header files
      985c9e61
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 18673533
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fix regression in /proc/net/if_inet6, sometimes devices do not get
          listed.  From Eric Dumazet.
      
       2) Add IPSEC networking sub-section to MAINTAINERS.
      
       3) S390 networking fixes from Hendrik Brueckner and Stefan Raspl.
      
       4) Fix enslavement of devices that can't do VLAN properly, from Jiri
          Pirko.
      
       5) SCTP sack handling fix from Zijie Pan.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        ipv6: addrconf: fix /proc/net/if_inet6
        bnx2x: fix handling mf storage modes
        qeth: fix deadlock between recovery and bonding driver
        smsgiucv: reestablish IUCV path after resume
        sctp: fix call to SCTP_CMD_PROCESS_SACK in sctp_cmd_interpreter()
        vlan: fix bond/team enslave of vlan challenged slave/port
        MAINTAINERS: Add explicit section for IPSEC networking.
      18673533
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · ccbfddb7
      Linus Torvalds 提交于
      Pull sparc fixes from David Miller:
       "Two sparc64 perf bug fixes and add a sysrq facility so I can diagnose
        these kinds of problems more quickly in the future."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Fix bit twiddling in sparc_pmu_enable_event().
        sparc64: Add global PMU register dumping via sysrq.
        sparc64: Like x86 we should check current->mm during perf backtrace generation.
      ccbfddb7
  3. 17 10月, 2012 28 次提交