1. 10 Aug, 2012 3 commits
    • John W. Linville's avatar
      Merge branch 'master' of... · 039aafba
      John W. Linville authored
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
      039aafba
    • Eric Dumazet's avatar
      net: tcp: ipv6_mapped needs sk_rx_dst_set method · 63d02d15
      Eric Dumazet authored
      commit 5d299f3d (net: ipv6: fix TCP early demux) added a
      regression for ipv6_mapped case.
      
      [   67.422369] SELinux: initialized (dev autofs, type autofs), uses
      genfs_contexts
      [   67.449678] SELinux: initialized (dev autofs, type autofs), uses
      genfs_contexts
      [   92.631060] BUG: unable to handle kernel NULL pointer dereference at
      (null)
      [   92.631435] IP: [<          (null)>]           (null)
      [   92.631645] PGD 0
      [   92.631846] Oops: 0010 [#1] SMP
      [   92.632095] Modules linked in: autofs4 sunrpc ipv6 dm_mirror
      dm_region_hash dm_log dm_multipath dm_mod video sbs sbshc battery ac lp
      parport sg snd_hda_intel snd_hda_codec snd_seq_oss snd_seq_midi_event
      snd_seq snd_seq_device pcspkr snd_pcm_oss snd_mixer_oss snd_pcm
      snd_timer serio_raw button floppy snd i2c_i801 i2c_core soundcore
      snd_page_alloc shpchp ide_cd_mod cdrom microcode ehci_hcd ohci_hcd
      uhci_hcd
      [   92.634294] CPU 0
      [   92.634294] Pid: 4469, comm: sendmail Not tainted 3.6.0-rc1 #3
      [   92.634294] RIP: 0010:[<0000000000000000>]  [<          (null)>]
      (null)
      [   92.634294] RSP: 0018:ffff880245fc7cb0  EFLAGS: 00010282
      [   92.634294] RAX: ffffffffa01985f0 RBX: ffff88024827ad00 RCX:
      0000000000000000
      [   92.634294] RDX: 0000000000000218 RSI: ffff880254735380 RDI:
      ffff88024827ad00
      [   92.634294] RBP: ffff880245fc7cc8 R08: 0000000000000001 R09:
      0000000000000000
      [   92.634294] R10: 0000000000000000 R11: ffff880245fc7bf8 R12:
      ffff880254735380
      [   92.634294] R13: ffff880254735380 R14: 0000000000000000 R15:
      7fffffffffff0218
      [   92.634294] FS:  00007f4516ccd6f0(0000) GS:ffff880256600000(0000)
      knlGS:0000000000000000
      [   92.634294] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [   92.634294] CR2: 0000000000000000 CR3: 0000000245ed1000 CR4:
      00000000000007f0
      [   92.634294] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
      0000000000000000
      [   92.634294] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
      0000000000000400
      [   92.634294] Process sendmail (pid: 4469, threadinfo ffff880245fc6000,
      task ffff880254b8cac0)
      [   92.634294] Stack:
      [   92.634294]  ffffffff813837a7 ffff88024827ad00 ffff880254b6b0e8
      ffff880245fc7d68
      [   92.634294]  ffffffff81385083 00000000001d2680 ffff8802547353a8
      ffff880245fc7d18
      [   92.634294]  ffffffff8105903a ffff88024827ad60 0000000000000002
      00000000000000ff
      [   92.634294] Call Trace:
      [   92.634294]  [<ffffffff813837a7>] ? tcp_finish_connect+0x2c/0xfa
      [   92.634294]  [<ffffffff81385083>] tcp_rcv_state_process+0x2b6/0x9c6
      [   92.634294]  [<ffffffff8105903a>] ? sched_clock_cpu+0xc3/0xd1
      [   92.634294]  [<ffffffff81059073>] ? local_clock+0x2b/0x3c
      [   92.634294]  [<ffffffff8138caf3>] tcp_v4_do_rcv+0x63a/0x670
      [   92.634294]  [<ffffffff8133278e>] release_sock+0x128/0x1bd
      [   92.634294]  [<ffffffff8139f060>] __inet_stream_connect+0x1b1/0x352
      [   92.634294]  [<ffffffff813325f5>] ? lock_sock_nested+0x74/0x7f
      [   92.634294]  [<ffffffff8104b333>] ? wake_up_bit+0x25/0x25
      [   92.634294]  [<ffffffff813325f5>] ? lock_sock_nested+0x74/0x7f
      [   92.634294]  [<ffffffff8139f223>] ? inet_stream_connect+0x22/0x4b
      [   92.634294]  [<ffffffff8139f234>] inet_stream_connect+0x33/0x4b
      [   92.634294]  [<ffffffff8132e8cf>] sys_connect+0x78/0x9e
      [   92.634294]  [<ffffffff813fd407>] ? sysret_check+0x1b/0x56
      [   92.634294]  [<ffffffff81088503>] ? __audit_syscall_entry+0x195/0x1c8
      [   92.634294]  [<ffffffff811cc26e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [   92.634294]  [<ffffffff813fd3e2>] system_call_fastpath+0x16/0x1b
      [   92.634294] Code:  Bad RIP value.
      [   92.634294] RIP  [<          (null)>]           (null)
      [   92.634294]  RSP <ffff880245fc7cb0>
      [   92.634294] CR2: 0000000000000000
      [   92.648982] ---[ end trace 24e2bed94314c8d9 ]---
      [   92.649146] Kernel panic - not syncing: Fatal exception in interrupt
      
      Fix this using inet_sk_rx_dst_set(), and export this function in case
      IPv6 is modular.
      Reported-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      63d02d15
    • Eric Dumazet's avatar
      ipv4: tcp: unicast_sock should not land outside of TCP stack · 3a7c384f
      Eric Dumazet authored
      commit be9f4a44 (ipv4: tcp: remove per net tcp_sock) added a
      selinux regression, reported and bisected by John Stultz
      
      selinux_ip_postroute_compat() expect to find a valid sk->sk_security
      pointer, but this field is NULL for unicast_sock
      
      It turns out that unicast_sock are really temporary stuff to be able
      to reuse  part of IP stack (ip_append_data()/ip_push_pending_frames())
      
      Fact is that frames sent by ip_send_unicast_reply() should be orphaned
      to not fool LSM.
      
      Note IPv6 never had this problem, as tcp_v6_send_response() doesnt use a
      fake socket at all. I'll probably implement tcp_v4_send_response() to
      remove these unicast_sock in linux-3.7
      Reported-by: default avatarJohn Stultz <johnstul@us.ibm.com>
      Bisected-by: default avatarJohn Stultz <johnstul@us.ibm.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Paul Moore <paul@paul-moore.com>
      Cc: Eric Paris <eparis@parisplace.org>
      Cc: "Serge E. Hallyn" <serge@hallyn.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3a7c384f
  2. 09 Aug, 2012 7 commits
  3. 08 Aug, 2012 18 commits
    • Arnd Bergmann's avatar
      net/stmmac: mark probe function as __devinit · f5addb91
      Arnd Bergmann authored
      Driver probe functions are generally __devinit so they will be
      discarded after initialization for non-hotplug kernels.
      This was found by a new warning after patch 6a228452 "stmmac: Add
      device-tree support" adds a new __devinit function that is called
      from stmmac_pltfr_probe.
      
      Without this patch, building socfpga_defconfig results in:
      
      WARNING: drivers/net/ethernet/stmicro/stmmac/stmmac.o(.text+0x5d4c): Section mismatch in reference from the function stmmac_pltfr_probe() to the function .devinit.text:stmmac_probe_config_dt()
      The function stmmac_pltfr_probe() references
      the function __devinit stmmac_probe_config_dt().
      This is often because stmmac_pltfr_probe lacks a __devinit
      annotation or the annotation of stmmac_probe_config_dt is wrong.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: netdev@vger.kernel.org
      Acked-by: default avatarStefan Roese <sr@denx.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f5addb91
    • stigge@antcom.de's avatar
      lpc_eth: remove obsolete ifdefs · 3a32aea6
      stigge@antcom.de authored
      The #ifdefs regarding CONFIG_ARCH_LPC32XX_MII_SUPPORT and
      CONFIG_ARCH_LPC32XX_IRAM_FOR_NET are obsolete since the symbols have been
      removed from Kconfig and replaced by devicetree based configuration.
      Signed-off-by: default avatarRoland Stigge <stigge@antcom.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3a32aea6
    • Alexey Khoroshilov's avatar
      net/core: Fix potential memory leak in dev_set_alias() · 7364e445
      Alexey Khoroshilov authored
      Do not leak memory by updating pointer with potentially NULL realloc return value.
      
      Found by Linux Driver Verification project (linuxtesting.org).
      Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7364e445
    • Jesper Juhl's avatar
      cdc-phonet: Don't leak in usbpn_open · 47dffc75
      Jesper Juhl authored
      We allocate memory for 'req' with usb_alloc_urb() and then test
      'if (!req || rx_submit(pnd, req, GFP_KERNEL | __GFP_COLD))'.
      If we enter that branch due to '!req' then there is no problem. But if
      we enter the branch due to 'req' being != 0 and the 'rx_submit()' call
      being false, then we'll leak the memory we allocated.
      Deal with the leak by always calling 'usb_free_urb(req)' when entering
      the branch. If 'req' happens to be 0 then the call is harmless, if it
      is not 0 then we free the memory we allocated but don't need.
      Signed-off-by: default avatarJesper Juhl <jj@chaosbits.net>
      Acked-by: default avatarRémi Denis-Courmont <remi@remlab.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      47dffc75
    • Jesper Juhl's avatar
      batman-adv: Fix mem leak in the batadv_tt_local_event() function · 155e4e12
      Jesper Juhl authored
      Memory is allocated for 'tt_change_node' with kmalloc().
      'tt_change_node' may go out of scope really being used for anything
      (except have a few members initialized) if we hit the 'del:' label.
      This patch makes sure we free the memory in that case.
      Signed-off-by: default avatarJesper Juhl <jj@chaosbits.net>
      Acked-by: default avatarAntonio Quartulli <ordex@autistici.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      155e4e12
    • Paolo Valente's avatar
      sched: add missing group change to qfq_change_class · be72f63b
      Paolo Valente authored
      [Resending again, as the text was corrupted by the email client]
      
      To speed up operations, QFQ internally divides classes into
      groups. Which group a class belongs to depends on the ratio between
      the maximum packet length and the weight of the class. Unfortunately
      the function qfq_change_class lacks the steps for changing the group
      of a class when the ratio max_pkt_len/weight of the class changes.
      
      For example, when the last of the following three commands is
      executed, the group of class 1:1 is not correctly changed:
      
      tc disc add dev XXX root handle 1: qfq
      tc class add dev XXX parent 1: qfq classid 1:1 weight 1
      tc class change dev XXX parent 1: classid 1:1 qfq weight 4
      
      Not changing the group of a class does not affect the long-term
      bandwidth guaranteed to the class, as the latter is independent of the
      maximum packet length, and correctly changes (only) if the weight of
      the class changes. In contrast, if the group of the class is not
      updated, the class is still guaranteed the short-term bandwidth and
      packet delay related to its old group, instead of the guarantees that
      it should receive according to its new weight and/or maximum packet
      length. This may also break service guarantees for other classes.
      This patch adds the missing operations.
      Signed-off-by: default avatarPaolo Valente <paolo.valente@unimore.it>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      be72f63b
    • Eric Dumazet's avatar
      net: force dst_default_metrics to const section · a37e6e34
      Eric Dumazet authored
      While investigating on network performance problems, I found this little
      gem :
      
      $ nm -v vmlinux | grep -1 dst_default_metrics
      ffffffff82736540 b busy.46605
      ffffffff82736560 B dst_default_metrics
      ffffffff82736598 b dst_busy_list
      
      Apparently, declaring a const array without initializer put it in
      (writeable) bss section, in middle of possibly often dirtied cache
      lines.
      
      Since we really want dst_default_metrics be const to avoid any possible
      false sharing and catch any buggy writes, I force a null initializer.
      
      ffffffff818a4c20 R dst_default_metrics
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Ben Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a37e6e34
    • Eric Dumazet's avatar
      net: fib: fix incorrect call_rcu_bh() · 0c03eca3
      Eric Dumazet authored
      After IP route cache removal, I believe rcu_bh() has very little use and
      we should remove this RCU variant, since it adds some cycles in fast
      path.
      
      Anyway, the call_rcu_bh() use in fib_true is obviously wrong, since
      some users only assert rcu_read_lock().
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0c03eca3
    • Gao feng's avatar
      pptp: lookup route with the proper net namespace · 08252b32
      Gao feng authored
      pptp always use init_net as the net namespace to lookup
      route, this will cause route lookup failed in container.
      
      because we already set the correct net namespace to struct
      sock in pptp_create,so fix this by using sock_net(sk) to
      replace &init_net.
      Signed-off-by: default avatarGao feng <gaofeng@cn.fujitsu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      08252b32
    • David S. Miller's avatar
      Merge branch 'fixes-for-3.6' of git://gitorious.org/linux-can/linux-can · d933d2be
      David S. Miller authored
      Marc Kleine-Budde says:
      
      ====================
      here's a fix intended for the v3.6 release cycle. Oliver noticed and
      fixed that the flags definition for the new canfd_frame contains
      redundant and confusing information.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d933d2be
    • Ying Xue's avatar
      af_packet: Quiet sparse noise about using plain integer as NULL pointer · 99aa3473
      Ying Xue authored
      Quiets the sparse warning:
      warning: Using plain integer as NULL pointer
      Signed-off-by: default avatarYing Xue <ying.xue@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      99aa3473
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/ppwaskie/net · b9ad2baf
      David S. Miller authored
      Peter P Waskiewicz Jr says:
      
      ====================
      This series contains fixes to the e1000e and igb drivers.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b9ad2baf
    • Sonic Zhang's avatar
      drivers: net: irda: bfin_sir: fix compile error · 920d087e
      Sonic Zhang authored
      Bit IREN is replaced by UMOD_IRDA and UMOD_MASK since blackfin 60x added, but
      this driver didn't update which will cause bfin_sir build error:
      
      drivers/net/irda/bfin_sir.c:161:9: error: 'IREN' undeclared (first use in this
      function)
      drivers/net/irda/bfin_sir.c:435:18: error: 'IREN' undeclared (first use in
      this function)
      drivers/net/irda/bfin_sir.c:521:11: error: 'IREN' undeclared (first use in
      this function)
      
      This patch fix it.
      Signed-off-by: default avatarSonic Zhang <sonic.zhang@analog.com>
      Signed-off-by: default avatarBob Liu <lliubbo@gmail.com>
      Acked-by: default avatarSamuel Ortiz <samuel@sortiz.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      920d087e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · f4ba394c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Missed rcu_assign_pointer() in mac80211 scanning, from Johannes
          Berg.
      
       2) Allow devices to limit the number of segments that an individual
          TCP TSO packet can use at a time, to deal with device and/or driver
          specific limitations.  From Ben Hutchings.
      
       3) Fix unexpected hard IPSEC expiration after setting the date.  From
          Fan Du.
      
       4) Memory leak fix in bxn2x driver, from Jesper Juhl.
      
       5) Fix two memory leaks in libertas driver, from Daniel Drake.
      
       6) Fix deref of out-of-range array index in packet scheduler generic
          actions layer.  From Hiroaki SHIMODA.
      
       7) Fix TX flow control errors in mlx4 driver, from Yevgeny Petrilin.
      
       8) Fix CRIS eth_v10.c driver build, from Randy Dunlap.
      
       9) Fix wrong SKB freeing in LLC protocol layer, from Sorin Dumitru.
      
      10) The IP output path checks neigh lookup errors incorrectly, it needs
          to use IS_ERR().  From Vasiliy Kulikov.
      
      11) An estimator leak leads to deref of freed memory in timer handler,
          fix from Hiroaki SHIMODA.
      
      12) TCP early demux in ipv6 needs to use DST cookies in order to
          validate the RX route properly.  Fix from Eric Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (43 commits)
        net: ipv6: fix TCP early demux
        net: Use PTR_RET rather than if(IS_ERR(.. [1]
        net_sched: act: Delete estimator in error path.
        ip: fix error handling in ip_finish_output2()
        llc: free the right skb
        ixp4xx_eth: fix ptp_ixp46x build failure
        drivers/atm/iphase.c: fix error return code
        tcp_output: fix sparse warning for tcp_wfree
        drivers/net/phy/mdio-mux-gpio.c: drop devm_kfree of devm_kzalloc'd data
        batman-adv: select an internet gateway if none was chosen
        mISDN: Bugfix for layer2 fixed TEI mode
        igb: don't break user visible strings over multiple lines in igb_ethtool.c
        igb: correct hardware type (i210/i211) check in igb_loopback_test()
        igb: Fix for failure to init on some 82576 devices.
        cris: fix eth_v10.c build error
        cdc-ncm: tag Ericsson WWAN devices (eg F5521gw) with FLAG_WWAN
        isdnloop: fix and simplify isdnloop_init()
        hyperv: Move wait completion msg code into rndis_filter_halt_device()
        net/mlx4_core: Remove port type restrictions
        net/mlx4_en: Fixing TX queue stop/wake flow
        ...
      f4ba394c
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-fixes-for-v3.6-rc1' of... · bf44ce83
      Linus Torvalds authored
      Merge tag 'pinctrl-fixes-for-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
      
      Pull pinctrl fixes from Linus Walleij:
       - Move MXS pinctrl registration to poscore_initcall
       - Fix up various devm_* managed resources code paths
       - Fix one function group in the Nomadik driver
       - Update MAINTAINERS
      
      * tag 'pinctrl-fixes-for-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        drivers/pinctrl/pinctrl-nomadik.c: drop devm_kfree of devm_kzalloc'd data
        MAINTAINERS: fix a few pinctrl related entries
        pinctrl-sirf: remove devm_kfree at error path
        pinctrl/nomadik: fix hsi function group list
        pinctrl/pinctrl-u300: remove unneeded devm_kfree call
        pinctrl: mxs: register driver at postcore_initcall time
      bf44ce83
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 7f46f9c1
      Linus Torvalds authored
      Pull IOMMU fixes from Joerg Roedel:
       "These patches fix a couple of issues.  First of all a few problems
        with ACS on x86 introduced in the last merge window, where ACS did not
        work on AMD and a NULL pointer dereference when there ran against
        SR-IOV devices.
      
        The patches fallen out of coccinelle checks fix a possible invalid
        memory reference and a possible memory leak.  The other patches mostly
        fix build errors and warnings and a wrong return value."
      
      * tag 'iommu-fixes-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Fix ACS path checking
        iommu/intel: Fix ACS path checking
        iommu/amd: Fix pci_request_acs() call-place
        iommu/exynos: Fix build error
        iommu/tegra: smmu: Fix error initial value at domain_init
        iommu/tegra: smmu: Cleanup with lesser nest
        iommu: Add missing forward declaration in include file
        iommu: Include linux/types.h
        iommu/intel: add missing free_domain_mem
        iommu/tegra: remove invalid reference to list iterator variable
      7f46f9c1
    • Linus Torvalds's avatar
      Merge tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 6666cabf
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Containing only a few really small/trivial fixes.  The only urgent fix
        is a regression fix of HDMI codec probing, introduced in 3.6-rc1.  The
        rest are HD-audio specific fixes and a copule of minor bug fixes in
        PCM core and the old emu10k1."
      
      * tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Fix double quirk for Quanta FL1 / Lenovo Ideapad
        ALSA: hda - Fix ugly debug prints with CONFIG_SND_VERBOSE_PRINTK=y
        ALSA: hda - remove redundant auto quirks for conexant 506x
        ALSA: hda - remove quirk for Dell Vostro 1015
        ALSA: hda - add dock support for Thinkpad X230
        ALSA: hda - Fix regression of HDMI codec probing
        ALSA: hda - add dock support for Thinkpad T430s
        ALSA: emu10k1: Avoid access to invalid pages when period=1
        ALSA: PCM: Fix possible memory leaks in the error path
      6666cabf
    • David Henningsson's avatar
      ALSA: hda - Fix double quirk for Quanta FL1 / Lenovo Ideapad · 012e7eb1
      David Henningsson authored
      The same ID is twice in the quirk table, so the second one is not used.
      Signed-off-by: default avatarDavid Henningsson <david.henningsson@canonical.com>
      Cc: <stable@vger.kernel.org> [v3.2+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      012e7eb1
  4. 07 Aug, 2012 12 commits