1. 23 10月, 2013 8 次提交
    • R
      platform/x86: fix asus-wmi build error · ea89e1d3
      Randy Dunlap 提交于
      Fix build error in asus_wmi.c when ASUS_WMI=y and ACPI_VIDEO=m
      by preventing that combination.
      
        drivers/built-in.o: In function `asus_wmi_probe':
        asus-wmi.c:(.text+0x65ddb4): undefined reference to `acpi_video_unregister'
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ea89e1d3
    • K
      bcache: Fixed incorrect order of arguments to bio_alloc_bioset() · d4eddd42
      Kent Overstreet 提交于
      Signed-off-by: NKent Overstreet <kmo@daterainc.com>
      Cc: linux-stable <stable@vger.kernel.org> # >= v3.10
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d4eddd42
    • L
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · f4e5e14f
      Linus Torvalds 提交于
      Pull media fixes from Mauro Carvalho Chehab:
       - Compilation fixes for GCC < 4.4.6
       - one Kbuild dependency select fix (selecting videobuf on msi3101)
       - driver fixes on tda10071, e4000, msi3101, soc_camera, s5p-jpeg,
         saa7134 and adv7511
       - some device quirks needed to make them work properly
       - some videobuf2 core regression fixes for some features used only on
         embedded drivers
      
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] saa7134: Fix crash when device is closed before streamoff
        [media] adv7511: fix error return code in adv7511_probe()
        [media] ths8200: fix compilation with GCC < 4.4.6
        [media] ad9389b: fix compilation with GCC < 4.4.6
        [media] adv7511: fix compilation with GCC < 4.4.6
        [media] adv7842: fix compilation with GCC < 4.4.6
        [media] s5p-jpeg: Initialize vfd_decoder->vfl_dir field
        [media] videobuf2-dc: Fix support for mappings without struct page in userptr mode
        [media] vb2: Allow queuing OUTPUT buffers with zeroed 'bytesused'
        [media] mx3-camera: locking cleanup in mx3_videobuf_queue()
        [media] sh_vou: almost forever loop in sh_vou_try_fmt_vid_out()
        [media] tda10071: change firmware download condition
        [media] msi3101: correct max videobuf2 alloc
        [media] Add HCL T12Rg-H to STK webcam upside-down table
        [media] msi3101: Kconfig select VIDEOBUF2_VMALLOC
        [media] msi3101: msi3101_ioctl_ops can be static
        [media] e4000: fix PLL calc bug on 32-bit arch
        [media] uvcvideo: quirk PROBE_DEF for Microsoft Lifecam NX-3000
        [media] uvcvideo: quirk PROBE_DEF for Dell SP2008WFP monitor
      f4e5e14f
    • L
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 0d645a8b
      Linus Torvalds 提交于
      Pull infiniband bugfix from Roland Dreier:
       "Disable not-quite-ready userspace ABI for IB flow steering"
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        IB/core: Temporarily disable create_flow/destroy_flow uverbs
      0d645a8b
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · db10accf
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
       "Sorry I let so much accumulate, I was in Buffalo and wanted a few
        things to cook in my tree for a while before sending to you.  Anyways,
        it's a lot of little things as usual at this stage in the game"
      
       1) Make bonding MAINTAINERS entry reflect reality, from Andy
          Gospodarek.
      
       2) Fix accidental sock_put() on timewait mini sockets, from Eric
          Dumazet.
      
       3) Fix crashes in l2tp due to mis-handling of ipv4 mapped ipv6
          addresses, from François CACHEREUL.
      
       4) Fix heap overflow in __audit_sockaddr(), from the eagle eyed Dan
          Carpenter.
      
       5) tcp_shifted_skb() doesn't take handle FINs properly, from Eric
          Dumazet.
      
       6) SFC driver bug fixes from Ben Hutchings.
      
       7) Fix TX packet scheduling wedge after channel change in ath9k driver,
          from Felix Fietkau.
      
       8) Fix user after free in BPF JIT code, from Alexei Starovoitov.
      
       9) Source address selection test is reversed in
          __ip_route_output_key(), fix from Jiri Benc.
      
      10) VLAN and CAN layer mis-size netlink attributes, from Marc
          Kleine-Budde.
      
      11) Fix permission checks in sysctls to use current_euid() instead of
          current_uid().  From Eric W Biederman.
      
      12) IPSEC policies can go away while a timer is still pending for them,
          add appropriate ref-counting to fix, from Steffen Klassert.
      
      13) Fix mis-programming of FDR and RMCR registers on R8A7740 sh_eth
          chips, from Nguyen Hong Ky and Simon Horman.
      
      14) MLX4 forgets to DMA unmap pages on RX, fix from Amir Vadai.
      
      15) IPV6 GRE tunnel MTU upper limit is miscalculated, from Oussama
          Ghorbel.
      
      16) Fix typo in fq_change(), we were assigning "initial quantum" to
          "quantum".  From Eric Dumazet.
      
      17) Set a more appropriate sk_pacing_rate for non-TCP sockets, otherwise
          FQ packet scheduler does not pace those flows properly.  Also from
          Eric Dumazet.
      
      18) rtlwifi miscalculates packet pointers, from Mark Cave-Ayland.
      
      19) l2tp_xmit_skb() can be called from process context, not just softirq
          context, so we must always make sure to BH disable around it.  From
          Eric Dumazet.
      
      20) On qdisc reset, we forget to purge the RB tree of SKBs in netem
          packet scheduler.  From Stephen Hemminger.
      
      21) Fix info leak in farsync WAN driver ioctl() handler, from Dan
          Carpenter and Salva Peiró.
      
      22) Fix PHY reset and other issues in dm9000 driver, from Nikita
          Kiryanov and Michael Abbott.
      
      23) When hardware can do SCTP crc32 checksums, we accidently don't
          disable the csum offload when IPSEC transformations have been
          applied.  From Fan Du and Vlad Yasevich.
      
      24) Tail loss probing in TCP leaves the socket in the wrong congestion
          avoidance state.  From Yuchung Cheng.
      
      25) In CPSW driver, enable NAPI before interrupts are turned on, from
          Markus Pargmann.
      
      26) Integer underflow and dual-assignment in YAM hamradio driver, from
          Dan Carpenter.
      
      27) If we are going to mangle a packet in tcp_set_skb_tso_segs() we must
          unclone it.  This fixes various hard to track down crashes in
          drivers where the SKBs ->gso_segs was changing right from underneath
          the driver during TX queueing.  From Eric Dumazet.
      
      28) Fix the handling of VLAN IDs, and in particular the special IDs 0
          and 4095, in the bridging layer.  From Toshiaki Makita.
      
      29) Another info leak, this time in wanxl WAN driver, from Salva Peiró.
      
      30) Fix race in socket credential passing, from Daniel Borkmann.
      
      31) WHen NETLABEL is disabled, we don't validate CIPSO packets properly,
          from Seif Mazareeb.
      
      32) Fix identification of fragmented frames in ipv4/ipv6 UDP
          Fragmentation Offload output paths, from Jiri Pirko.
      
      33) Virtual Function fixes in bnx2x driver from Yuval Mintz and Ariel
          Elior.
      
      34) When we removed the explicit neighbour pointer from ipv6 routes a
          slight regression was introduced for users such as IPVS, xt_TEE, and
          raw sockets.  We mix up the users requested destination address with
          the routes assigned nexthop/gateway.  From Julian Anastasov and
          Simon Horman.
      
      35) Fix stack overruns in rt6_probe(), the issue is that can end up
          doing two full packet xmit paths at the same time when emitting
          neighbour discovery messages.  From Hannes Frederic Sowa.
      
      36) davinci_emac driver doesn't handle IFF_ALLMULTI correctly, from
          Mariusz Ceier.
      
      37) Make sure to set TCP sk_pacing_rate after the first legitimate RTT
          sample, from Neal Cardwell.
      
      38) Wrong netlink attribute passed to xfrm_replay_verify_len(), from
          Steffen Klassert.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (152 commits)
        ax88179_178a: Add VID:DID for Samsung USB Ethernet Adapter
        ax88179_178a: Correct the RX error definition in RX header
        Revert "bridge: only expire the mdb entry when query is received"
        tcp: initialize passive-side sk_pacing_rate after 3WHS
        davinci_emac.c: Fix IFF_ALLMULTI setup
        mac802154: correct a typo in ieee802154_alloc_device() prototype
        ipv6: probe routes asynchronous in rt6_probe
        netfilter: nf_conntrack: fix rt6i_gateway checks for H.323 helper
        ipv6: fill rt6i_gateway with nexthop address
        ipv6: always prefer rt6i_gateway if present
        bnx2x: Set NETIF_F_HIGHDMA unconditionally
        bnx2x: Don't pretend during register dump
        bnx2x: Lock DMAE when used by statistic flow
        bnx2x: Prevent null pointer dereference on error flow
        bnx2x: Fix config when SR-IOV and iSCSI are enabled
        bnx2x: Fix Coalescing configuration
        bnx2x: Unlock VF-PF channel on MAC/VLAN config error
        bnx2x: Prevent an illegal pointer dereference during panic
        bnx2x: Fix Maximum CoS estimation for VFs
        drivers: net: cpsw: fix kernel warn during iperf test with interrupt pacing
        ...
      db10accf
    • F
      ax88179_178a: Add VID:DID for Samsung USB Ethernet Adapter · f11a5bc1
      Freddy Xin 提交于
      Add VID:DID for Samsung USB Ethernet Adapter.
      Signed-off-by: NFreddy Xin <freddy@asix.com.tw>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f11a5bc1
    • F
      ax88179_178a: Correct the RX error definition in RX header · 7e78b83c
      Freddy Xin 提交于
      Correct the definition of AX_RXHDR_CRC_ERR and
      AX_RXHDR_DROP_ERR. They are BIT29 and BIT31 in pkt_hdr
      seperately.
      Signed-off-by: NFreddy Xin <freddy@asix.com.tw>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7e78b83c
    • L
      Revert "bridge: only expire the mdb entry when query is received" · 454594f3
      Linus Lüssing 提交于
      While this commit was a good attempt to fix issues occuring when no
      multicast querier is present, this commit still has two more issues:
      
      1) There are cases where mdb entries do not expire even if there is a
      querier present. The bridge will unnecessarily continue flooding
      multicast packets on the according ports.
      
      2) Never removing an mdb entry could be exploited for a Denial of
      Service by an attacker on the local link, slowly, but steadily eating up
      all memory.
      
      Actually, this commit became obsolete with
      "bridge: disable snooping if there is no querier" (b00589af)
      which included fixes for a few more cases.
      
      Therefore reverting the following commits (the commit stated in the
      commit message plus three of its follow up fixes):
      
      ====================
      Revert "bridge: update mdb expiration timer upon reports."
      This reverts commit f144febd.
      Revert "bridge: do not call setup_timer() multiple times"
      This reverts commit 1faabf2a.
      Revert "bridge: fix some kernel warning in multicast timer"
      This reverts commit c7e8e8a8.
      Revert "bridge: only expire the mdb entry when query is received"
      This reverts commit 9f00b2e7.
      ====================
      
      CC: Cong Wang <amwang@redhat.com>
      Signed-off-by: NLinus Lüssing <linus.luessing@web.de>
      Reviewed-by: NVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      454594f3
  2. 22 10月, 2013 31 次提交
    • M
      sony-laptop: don't change keyboard backlight settings · 294d31e8
      Mattia Dongili 提交于
      Do not touch keyboard backlight unless explicitly passed a module
      parameter.  In this way we won't make wrong assumptions about what are
      good default values since they actually are different from model to
      model.
      
      The only side effect is that we won't know what is the current value
      until set via the sysfs attributes.
      Signed-off-by: NMattia Dongili <malattia@linux.it>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      294d31e8
    • R
      vfs: fix new kernel-doc warnings · 69c88dc7
      Randy Dunlap 提交于
      Move kernel-doc notation to immediately before its function to eliminate
      kernel-doc warnings introduced by commit db14fc3a ("vfs: add
      d_walk()")
      
        Warning(fs/dcache.c:1343): No description found for parameter 'data'
        Warning(fs/dcache.c:1343): No description found for parameter 'dentry'
        Warning(fs/dcache.c:1343): Excess function parameter 'parent' description in 'check_mount'
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Cc: Miklos Szeredi <mszeredi@suse.cz>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      69c88dc7
    • R
      fs/namei.c: fix new kernel-doc warning · 606d6fe3
      Randy Dunlap 提交于
      Add @path parameter to fix kernel-doc warning.
      Also fix a spello/typo.
      
        Warning(fs/namei.c:2304): No description found for parameter 'path'
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      606d6fe3
    • L
      Merge tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 93cd0004
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "The pending last-minute ASoC fixes, all of which are driver-local
        (tlv320aic3x, rcar, pcm1681, pcm1792a, omap, fsl) and should be pretty
        safe to apply"
      
      * tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: Add MAINTAINERS entry for dmaengine helpers
        ASoC: pcm1792a: Fix max_register setting
        ASoC: pcm1681: Fix max_register setting
        ASoC: pcm1681: Fix max_register setting
        ASoC: rcar: fixup generation checker
        ASoC: tlv320aic3x: Connect 'Left Line1R Mux' and 'Right Line1L Mux'
        ASoC: fsl: imx-ssi: fix probe on imx31
        ASoC: omap: Fix incorrect ARM dependency
        ASoC: fsl: Fix sound on mx31moboard
        ASoC: fsl_ssi: Fix irq_of_parse_and_map() return value check
      93cd0004
    • L
      Merge tag 'jfs-3.12' of git://github.com/kleikamp/linux-shaggy · d24fec39
      Linus Torvalds 提交于
      Pull jfs bugfix from David Kleikamp:
       "Just a patch to fix an oops in an error path"
      
      * tag 'jfs-3.12' of git://github.com/kleikamp/linux-shaggy:
        jfs: fix error path in ialloc
      d24fec39
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · b403b73c
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Travelling slowed down getting these out.
      
        Two vmwgfx fixes, a radeon revert to avoid a regression, i915 fixes,
        and some ioctl sizing issues fixed with 32 on 64"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon/audio: don't set speaker allocation on DCE4+
        drm/radeon: rework audio option
        drm/radeon/audio: don't set speaker allocation on DCE3.2
        drm/radeon: make missing smc ucode non-fatal (CI)
        drm/radeon: make missing smc ucode non-fatal (r7xx-SI)
        drm/radeon/uvd: revert lower msg&fb buffer requirements on UVD3
        drm/radeon: stop the leaks in cik_ib_test
        drm/radeon/atom: workaround vbios bug in transmitter table on rs780
        drm/i915: Disable GGTT PTEs on GEN6+ suspend
        drm/i915: Make PTE valid encoding optional
        drm: Pad drm_mode_get_connector to 64-bit boundary
        drm: Prevent overwriting from userspace underallocating core ioctl structs
        drm/vmwgfx: Don't kill clients on VT switch
        drm/vmwgfx: Don't put resources with invalid id's on lru list
        drm/i915: disable LVDS clock gating on CPT v2
      b403b73c
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 1c241131
      Linus Torvalds 提交于
      Pull HID fixes from Jiri Kosina:
      
       - a partial revert of exponent parsing changes to make "Unit" exponent
         item work properly again, by Nikolai Kondrashov
      
       - a few new device IDs additions piggy-backing, by AceLan Kao and David
         Herrmann
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: wiimote: add LEGO-wiimote VID
        HID: Fix unit exponent parsing again
        HID: usbhid: quirk for SiS Touchscreen
        HID: usbhid: quirk for Synaptics Large Touchccreen
      1c241131
    • L
      Merge branch 'for-3.12-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 19eddab9
      Linus Torvalds 提交于
      Pull libata fixes from Tejun Heo:
       "The only interesting bit is ata_eh_qc_retry() update which fixes a
        problem where a SG_IO command may fail across suspend/resume cycle
        without the command actually being at fault.
      
        Other changes are low level driver specific and fairly low impact"
      
      * 'for-3.12-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        libahci: fix turning on LEDs in ahci_start_port()
        libata: make ata_eh_qc_retry() bump scmd->allowed on bogus failures
        ahci_platform: use dev_info() instead of printk()
        ahci: use dev_info() instead of printk()
        pata_isapnp: Don't use invalid I/O ports
      19eddab9
    • L
      Merge branch 'for-3.12-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · ee7eafc9
      Linus Torvalds 提交于
      Pull cgroup fixes from Tejun Heo:
       "Two late fixes for cgroup.
      
        One fixes descendant walk introduced during this rc1 cycle.  The other
        fixes a post 3.9 bug during task attach which can lead to hang.  Both
        fixes are critical and the fixes are relatively straight-forward"
      
      * 'for-3.12-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: fix to break the while loop in cgroup_attach_task() correctly
        cgroup: fix cgroup post-order descendant walk of empty subtree
      ee7eafc9
    • D
      Merge branch 'drm-fixes-3.12' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 579123fd
      Dave Airlie 提交于
      Most just regression fixes for audio, dpm, and uvd, plus
      a resource leak fix for cik.
      
      * 'drm-fixes-3.12' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon/audio: don't set speaker allocation on DCE4+
        drm/radeon: rework audio option
        drm/radeon/audio: don't set speaker allocation on DCE3.2
        drm/radeon: make missing smc ucode non-fatal (CI)
        drm/radeon: make missing smc ucode non-fatal (r7xx-SI)
        drm/radeon/uvd: revert lower msg&fb buffer requirements on UVD3
        drm/radeon: stop the leaks in cik_ib_test
        drm/radeon/atom: workaround vbios bug in transmitter table on rs780
      579123fd
    • D
      Merge tag 'drm-intel-fixes-2013-10-21' of... · 3bcec5f0
      Dave Airlie 提交于
      Merge tag 'drm-intel-fixes-2013-10-21' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes
      
      Just an lvds clock gating fix and a pte clearing hack for hsw to avoid
      memory corruption when hibernating - something doesn't seem to switch off
      properly, we're still investigating.
      
      * tag 'drm-intel-fixes-2013-10-21' of git://people.freedesktop.org/~danvet/drm-intel: (96 commits)
        drm/i915: Disable GGTT PTEs on GEN6+ suspend
        drm/i915: Make PTE valid encoding optional
        drm/i915: disable LVDS clock gating on CPT v2
      3bcec5f0
    • N
      tcp: initialize passive-side sk_pacing_rate after 3WHS · 02cf4ebd
      Neal Cardwell 提交于
      For passive TCP connections, upon receiving the ACK that completes the
      3WHS, make sure we set our pacing rate after we get our first RTT
      sample.
      
      On passive TCP connections, when we receive the ACK completing the
      3WHS we do not take an RTT sample in tcp_ack(), but rather in
      tcp_synack_rtt_meas(). So upon receiving the ACK that completes the
      3WHS, tcp_ack() leaves sk_pacing_rate at its initial value.
      
      Originally the initial sk_pacing_rate value was 0, so passive-side
      connections defaulted to sysctl_tcp_min_tso_segs (2 segs) in skbuffs
      made in the first RTT. With a default initial cwnd of 10 packets, this
      happened to be correct for RTTs 5ms or bigger, so it was hard to
      see problems in WAN or emulated WAN testing.
      
      Since 7eec4174 ("pkt_sched: fq: fix non TCP flows pacing"), the
      initial sk_pacing_rate is 0xffffffff. So after that change, passive
      TCP connections were keeping this value (and using large numbers of
      segments per skbuff) until receiving an ACK for data.
      Signed-off-by: NNeal Cardwell <ncardwell@google.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      02cf4ebd
    • M
      davinci_emac.c: Fix IFF_ALLMULTI setup · d69e0f7e
      Mariusz Ceier 提交于
      When IFF_ALLMULTI flag is set on interface and IFF_PROMISC isn't,
      emac_dev_mcast_set should only enable RX of multicasts and reset
      MACHASH registers.
      
      It does this, but afterwards it either sets up multicast MACs
      filtering or disables RX of multicasts and resets MACHASH registers
      again, rendering IFF_ALLMULTI flag useless.
      
      This patch fixes emac_dev_mcast_set, so that multicast MACs filtering and
      disabling of RX of multicasts are skipped when IFF_ALLMULTI flag is set.
      
      Tested with kernel 2.6.37.
      Signed-off-by: NMariusz Ceier <mceier+kernel@gmail.com>
      Acked-by: NMugunthan V N <mugunthanvnm@ti.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d69e0f7e
    • A
      mac802154: correct a typo in ieee802154_alloc_device() prototype · 7e4d8a19
      Alexandre Belloni 提交于
      This has no other impact than a cosmetic one.
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7e4d8a19
    • H
      ipv6: probe routes asynchronous in rt6_probe · c2f17e82
      Hannes Frederic Sowa 提交于
      Routes need to be probed asynchronous otherwise the call stack gets
      exhausted when the kernel attemps to deliver another skb inline, like
      e.g. xt_TEE does, and we probe at the same time.
      
      We update neigh->updated still at once, otherwise we would send to
      many probes.
      
      Cc: Julian Anastasov <ja@ssi.bg>
      Signed-off-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c2f17e82
    • D
      Merge branch 'rt6i_gateway' · 3a70417c
      David S. Miller 提交于
      Julian Anastasov says:
      
      ====================
      ipv6: use rt6i_gateway as nexthop
      
      	The following patchset makes sure that rt6i_gateway
      contains valid nexthop information in all cases, so that
      we can use different nexthop for sending.
      
      	The first patch is a simple fix that makes IPVS, TEE,
      RAW(hdrincl) and RTF_DYNAMIC(without RTF_GATEWAY) work as
      before 3.9. There is a single corner case not solved by
      this patch: RAW(hdrincl) or TEE using local address for
      nexthop, a silly feature, I guess. In this case we
      see zeroes in rt6i_gateway because we get route that is not
      cloned. This is solved only with patch 2.
      
      	The second patch is an optimization that makes sure
      all resulting routes have rt6i_gateway filled, so that we
      can avoid the complex ipv6_addr_any() call added to rt6_nexthop()
      by patch 1. And it sets rt6i_gateway for local routes, a case
      not handled by patch 1.
      
      	The third patch uses the new rt6_nexthop() function to fix
      the matching of gateways in the same way as commit bbb5823c
      ("netfilter: nf_conntrack: fix rt_gateway checks for H.323 helper")
      fixes nf_conntrack_h323_main.c for IPv4. Currently, it depends on
      the new definition of rt6_nexthop() in patch 2. Actually, if
      patch 2 is applied, patch 3 becomes a cosmetic change.
      
      	I see the following two alternatives for applying these
      patches:
      
      1. Linger patch 2 in net-next to avoid surprises in the upcoming
      release. In this case patch 3 can be reworked not to depend on
      the new rt6_nexthop() definition in patch 2. I guess this is a
      better option, so that patch 2 can be reviewed and tested for
      longer time.
      
      2. Include all 3 patches in net tree - more risky because this
      is my first attempt to change IPv6.
      
      	Here is the situation as handled by patch 2:
      
      	In IPv6 the resolved routes are always host routes (/128
      with DST_HOST), mostly cloned ones. We allow routes in FIB
      to contain rt6i_gateway with zeroes (eg. for local subnets) but
      on cloning we can fill the rt6i_gateway field in result.
      This works even without this patchset.
      
      	There is a single special case where dst is provided as
      skb_dst directly without a routing call: icmp6_dst_alloc(). It is a
      private dst allocated just for the particular ICMP packet. Patch 2
      fills rt6i_gateway in this case, needed for the new rt6_nexthop()
      simplification.
      
      	The last case is addrconf_dst_alloc(), it can put in
      FIB local/anycast routes when addresses are added. Patch 2
      needs to fill rt6i_gateway in this case because such routes
      are returned without cloning.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3a70417c
    • J
      netfilter: nf_conntrack: fix rt6i_gateway checks for H.323 helper · 56e42441
      Julian Anastasov 提交于
      Now when rt6_nexthop() can return nexthop address we can use it
      for proper nexthop comparison of directly connected destinations.
      For more information refer to commit bbb5823c
      ("netfilter: nf_conntrack: fix rt_gateway checks for H.323 helper").
      Signed-off-by: NJulian Anastasov <ja@ssi.bg>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56e42441
    • J
      ipv6: fill rt6i_gateway with nexthop address · 550bab42
      Julian Anastasov 提交于
      Make sure rt6i_gateway contains nexthop information in
      all routes returned from lookup or when routes are directly
      attached to skb for generated ICMP packets.
      
      The effect of this patch should be a faster version of
      rt6_nexthop() and the consideration of local addresses as
      nexthop.
      Signed-off-by: NJulian Anastasov <ja@ssi.bg>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      550bab42
    • J
      ipv6: always prefer rt6i_gateway if present · 96dc8095
      Julian Anastasov 提交于
      In v3.9 6fd6ce20 ("ipv6: Do not depend on rt->n in
      ip6_finish_output2()." changed the behaviour of ip6_finish_output2()
      such that the recently introduced rt6_nexthop() is used
      instead of an assigned neighbor.
      
      As rt6_nexthop() prefers rt6i_gateway only for gatewayed
      routes this causes a problem for users like IPVS, xt_TEE and
      RAW(hdrincl) if they want to use different address for routing
      compared to the destination address.
      
      Another case is when redirect can create RTF_DYNAMIC
      route without RTF_GATEWAY flag, we ignore the rt6i_gateway
      in rt6_nexthop().
      
      Fix the above problems by considering the rt6i_gateway if
      present, so that traffic routed to address on local subnet is
      not wrongly diverted to the destination address.
      
      Thanks to Simon Horman and Phil Oester for spotting the
      problematic commit.
      
      Thanks to Hannes Frederic Sowa for his review and help in testing.
      Reported-by: NPhil Oester <kernel@linuxace.com>
      Reported-by: NMark Brooks <mark@loadbalancer.org>
      Signed-off-by: NJulian Anastasov <ja@ssi.bg>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      96dc8095
    • D
      Merge branch 'bnx2x' · 4440c6f7
      David S. Miller 提交于
      Yuval Mintz says:
      
      ====================
      bnx2x: Bug fixes patch series
      
      This patch series contains fixes for various flows - several SR-IOV issues
      are fixed, ethtool callbacks (coalescing and register dump) are corrected,
      null pointer dereference on error flows is prevented, etc.
      
      Changes from V1
      ---------------
       - Patch 2  "bnx2x: Prevent an illegal pointer dereference during panic"
         is revised, with improved handling of edge cases.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4440c6f7
    • M
      bnx2x: Set NETIF_F_HIGHDMA unconditionally · edd31476
      Merav Sicron 提交于
      Current driver implementation incorrectly sets the flag only if 64-bit
      DMA mask succeeded.
      Signed-off-by: NMerav Sicron <meravs@broadcom.com>
      Signed-off-by: NYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: NAriel Elior <ariele@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      edd31476
    • D
      bnx2x: Don't pretend during register dump · 4293b9f5
      Dmitry Kravkov 提交于
      As part of a register dump, the interface pretends to have the identity
      of other interfaces of the same physical device in order to perform
      HW configuration for them - specifically, it needs to prevent attentions
      from generating on those functions as the register dump accesses registers
      in common blocks which whose reading might generate an attention.
      
      However, such pretension is unsafe - unlike other flows in which the driver
      uses pretend, during register dump there is no guarantee no other HW access
      will take place (by other flows). If such access will take place, the HW will
      be accessed by the wrong interface, and leave both functions in an incorrect
      state.
      
      This patch removes all pretensions from the register dump flow. Instead, it
      changes initial configuration of attentions such that no fatal attention will
      be generated for other functions as a result of the register dump
      (notice however, a debug print claiming an attention from other functions IS
      possible during the register dump)
      Signed-off-by: NDmitry Kravkov <dmitry@broadcom.com>
      Signed-off-by: NYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: NAriel Elior <ariele@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4293b9f5
    • A
      bnx2x: Lock DMAE when used by statistic flow · 32316a46
      Ariel Elior 提交于
      bnx2x has several clients to its DMAE machines - all of them with the exception
      of the statistics flow used the same locking mechanisms to synchronize the DMAE
      machines' usage.
      
      Since statistics (which are periodically entered) use DMAE without taking the
      locks, they may erase the commands which were previously set -
      e.g., it may cause a VF to timeout while waiting for a PF answer on the VF-PF
      channel as that command header would have been overwritten by the statistics'
      header.
      
      This patch makes certain that all flows utilizing DMAE will use the same
      API, assuring that the locking scheme will be kept by all said flows.
      Signed-off-by: NAriel Elior <ariele@broadcom.com>
      Signed-off-by: NYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      32316a46
    • Y
      bnx2x: Prevent null pointer dereference on error flow · 6b991c37
      Yuval Mintz 提交于
      If debug message is open and bnx2x_vfop_qdtor_cmd() were to fail,
      the resulting print would have caused a null pointer dereference.
      Signed-off-by: NYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: NAriel Elior <ariele@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6b991c37
    • A
      bnx2x: Fix config when SR-IOV and iSCSI are enabled · 0907f34c
      Ariel Elior 提交于
      Starting with commit b9871bcf "bnx2x: VF RSS support - PF side", if a PF will
      have SR-IOV supported in its PCI configuration space, storage drivers will not
      work for that interface.
      
      This patch fixes the resource calculation to allow such a configuration to
      properly work.
      Signed-off-by: NAriel Elior <ariele@broadcom.com>
      Signed-off-by: NYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0907f34c
    • D
      bnx2x: Fix Coalescing configuration · 6802516e
      Dmitry Kravkov 提交于
      bnx2x drivers configure coalescing incorrectly (e.g., as a result of a call
      to 'ethtool -c'). Although this is almost invisible to the user (due to NAPI)
      designated tests will show the configuration is incorrect.
      Signed-off-by: NDmitry Kravkov <dmitry@broadcom.com>
      Signed-off-by: NYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: NAriel Elior <ariele@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6802516e
    • A
      bnx2x: Unlock VF-PF channel on MAC/VLAN config error · 31329afd
      Ariel Elior 提交于
      Current code returns upon failure, leaving the VF-PF in an unusable state;
      This patch adds the missing release so further commands could pass between
      PF and VF.
      Signed-off-by: NAriel Elior <ariele@broadcom.com>
      Signed-off-by: NYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      31329afd
    • Y
      bnx2x: Prevent an illegal pointer dereference during panic · 1a6974b2
      Yuval Mintz 提交于
      During a panic, the driver tries to print the Management FW buffer of recent
      commands. To do so, the driver reads the address of that buffer from a known
      address. If the buffer is unavailable (e.g., PCI reads don't work, MCP is
      failing, etc.), the driver will try to access the address it has read, possibly
      causing a kernel panic.
      
      This check 'sanitizes' the access, validating the read value is indeed a valid
      address inside the management FW's buffers.
      The patch also removes a read outside the scope of the buffer, which resulted
      in some unrelated chraracters appearing in the log.
      Signed-off-by: NYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: NDmitry Kravkov <dmitry@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1a6974b2
    • Y
      bnx2x: Fix Maximum CoS estimation for VFs · b1239723
      Yuval Mintz 提交于
      bnx2x VFs do not support Multi-CoS; Current implementation
      erroneously sets the VFs maximal number of CoS to be > 1.
      
      This will cause the driver to call alloc_etherdev_mqs() with
      a number of queues it cannot possibly support and reflects
      in 'odd' driver prints.
      Signed-off-by: NYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: NAriel Elior <ariele@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b1239723
    • M
      drivers: net: cpsw: fix kernel warn during iperf test with interrupt pacing · 49595b7b
      Mugunthan V N 提交于
      When interrupt pacing is enabled, receive/transmit statistics are not
      updated properly by hardware which leads to ISR return with IRQ_NONE
      and inturn kernel disables the interrupt. This patch removed the checking
      of receive/transmit statistics from ISR.
      
      This patch is verified with AM335x Beagle Bone Black and below is the
      kernel warn when interrupt pacing is enabled.
      
      [  104.298254] irq 58: nobody cared (try booting with the "irqpoll" option)
      [  104.305356] CPU: 0 PID: 1073 Comm: iperf Not tainted 3.12.0-rc3-00342-g77d4015b #3
      [  104.313284] [<c001bb84>] (unwind_backtrace+0x0/0xf0) from [<c0017db0>] (show_stack+0x10/0x14)
      [  104.322282] [<c0017db0>] (show_stack+0x10/0x14) from [<c0507920>] (dump_stack+0x78/0x94)
      [  104.330816] [<c0507920>] (dump_stack+0x78/0x94) from [<c0088c1c>] (__report_bad_irq+0x20/0xc0)
      [  104.339889] [<c0088c1c>] (__report_bad_irq+0x20/0xc0) from [<c008912c>] (note_interrupt+0x1dc/0x23c)
      [  104.349505] [<c008912c>] (note_interrupt+0x1dc/0x23c) from [<c0086d74>] (handle_irq_event_percpu+0xc4/0x238)
      [  104.359851] [<c0086d74>] (handle_irq_event_percpu+0xc4/0x238) from [<c0086f24>] (handle_irq_event+0x3c/0x5c)
      [  104.370198] [<c0086f24>] (handle_irq_event+0x3c/0x5c) from [<c008991c>] (handle_level_irq+0xac/0x10c)
      [  104.379907] [<c008991c>] (handle_level_irq+0xac/0x10c) from [<c00866d8>] (generic_handle_irq+0x20/0x30)
      [  104.389812] [<c00866d8>] (generic_handle_irq+0x20/0x30) from [<c0014ce8>] (handle_IRQ+0x4c/0xb0)
      [  104.399066] [<c0014ce8>] (handle_IRQ+0x4c/0xb0) from [<c000856c>] (omap3_intc_handle_irq+0x60/0x74)
      [  104.408598] [<c000856c>] (omap3_intc_handle_irq+0x60/0x74) from [<c050d8e4>] (__irq_svc+0x44/0x5c)
      [  104.418021] Exception stack(0xde4f7c00 to 0xde4f7c48)
      [  104.423345] 7c00: 00000001 00000000 00000000 dd002140 60000013 de006e54 00000002 00000000
      [  104.431952] 7c20: de345748 00000040 c11c8588 00018ee0 00000000 de4f7c48 c009dfc8 c050d300
      [  104.440553] 7c40: 60000013 ffffffff
      [  104.444237] [<c050d8e4>] (__irq_svc+0x44/0x5c) from [<c050d300>] (_raw_spin_unlock_irqrestore+0x34/0x44)
      [  104.454220] [<c050d300>] (_raw_spin_unlock_irqrestore+0x34/0x44) from [<c00868c0>] (__irq_put_desc_unlock+0x14/0x38)
      [  104.465295] [<c00868c0>] (__irq_put_desc_unlock+0x14/0x38) from [<c0088068>] (enable_irq+0x4c/0x74)
      [  104.474829] [<c0088068>] (enable_irq+0x4c/0x74) from [<c03abd24>] (cpsw_poll+0xb8/0xdc)
      [  104.483276] [<c03abd24>] (cpsw_poll+0xb8/0xdc) from [<c044ef68>] (net_rx_action+0xc0/0x1e8)
      [  104.492085] [<c044ef68>] (net_rx_action+0xc0/0x1e8) from [<c0048a90>] (__do_softirq+0x100/0x27c)
      [  104.501338] [<c0048a90>] (__do_softirq+0x100/0x27c) from [<c0048cd0>] (do_softirq+0x68/0x70)
      [  104.510224] [<c0048cd0>] (do_softirq+0x68/0x70) from [<c0048e8c>] (local_bh_enable+0xd0/0xe4)
      [  104.519211] [<c0048e8c>] (local_bh_enable+0xd0/0xe4) from [<c048c774>] (tcp_rcv_established+0x450/0x648)
      [  104.529201] [<c048c774>] (tcp_rcv_established+0x450/0x648) from [<c0494904>] (tcp_v4_do_rcv+0x154/0x474)
      [  104.539195] [<c0494904>] (tcp_v4_do_rcv+0x154/0x474) from [<c043d750>] (release_sock+0xac/0x1ac)
      [  104.548448] [<c043d750>] (release_sock+0xac/0x1ac) from [<c04844e8>] (tcp_recvmsg+0x4d0/0xa8c)
      [  104.557528] [<c04844e8>] (tcp_recvmsg+0x4d0/0xa8c) from [<c04a8720>] (inet_recvmsg+0xcc/0xf0)
      [  104.566507] [<c04a8720>] (inet_recvmsg+0xcc/0xf0) from [<c0439744>] (sock_recvmsg+0x90/0xb0)
      [  104.575394] [<c0439744>] (sock_recvmsg+0x90/0xb0) from [<c043b778>] (SyS_recvfrom+0x88/0xd8)
      [  104.584280] [<c043b778>] (SyS_recvfrom+0x88/0xd8) from [<c043b7e0>] (sys_recv+0x18/0x20)
      [  104.592805] [<c043b7e0>] (sys_recv+0x18/0x20) from [<c0013da0>] (ret_fast_syscall+0x0/0x48)
      [  104.601587] handlers:
      [  104.603992] [<c03acd94>] cpsw_interrupt
      [  104.608040] Disabling IRQ #58
      
      Cc: Sebastian Siewior <bigeasy@linutronix.de>
      Signed-off-by: NMugunthan V N <mugunthanvnm@ti.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      49595b7b
    • Y
      IB/core: Temporarily disable create_flow/destroy_flow uverbs · 7afbddfa
      Yann Droneaud 提交于
      The create_flow/destroy_flow uverbs and the associated extensions to
      the user-kernel verbs ABI are under review and are too experimental to
      freeze at this point.
      
      So userspace is not exposed to experimental features and an uinstable
      ABI, temporarily disable this for v3.12 (with a Kconfig option behind
      staging to reenable it if desired).
      
      The feature will be enabled after proper cleanup for v3.13.
      Signed-off-by: NYann Droneaud <ydroneaud@opteya.com>
      Link: http://marc.info/?i=cover.1381351016.git.ydroneaud@opteya.com
      Link: http://marc.info/?i=cover.1381177342.git.ydroneaud@opteya.com
      
      [ Add a Kconfig option to reenable these verbs.  - Roland ]
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      7afbddfa
  3. 21 10月, 2013 1 次提交