1. 28 Aug, 2015 1 commit
    • lucien's avatar
      sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state · f648f807
      lucien authored
      Commit f8d96052 ("sctp: Enforce retransmission limit during shutdown")
      fixed a problem with excessive retransmissions in the SHUTDOWN_PENDING by not
      resetting the association overall_error_count.  This allowed the association
      to better enforce assoc.max_retrans limit.
      
      However, the same issue still exists when the association is in SHUTDOWN_RECEIVED
      state.  In this state, HB-ACKs will continue to reset the overall_error_count
      for the association would extend the lifetime of association unnecessarily.
      
      This patch solves this by resetting the overall_error_count whenever the current
      state is small then SCTP_STATE_SHUTDOWN_PENDING.  As a small side-effect, we
      end up also handling SCTP_STATE_SHUTDOWN_ACK_SENT and SCTP_STATE_SHUTDOWN_SENT
      states, but they are not really impacted because we disable Heartbeats in those
      states.
      
      Fixes: Commit f8d96052 ("sctp: Enforce retransmission limit during shutdown")
      Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
      Acked-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f648f807
  2. 27 Aug, 2015 3 commits
  3. 26 Aug, 2015 3 commits
    • Eugene Shatokhin's avatar
      usbnet: Get EVENT_NO_RUNTIME_PM bit before it is cleared · f50791ac
      Eugene Shatokhin authored
      It is needed to check EVENT_NO_RUNTIME_PM bit of dev->flags in
      usbnet_stop(), but its value should be read before it is cleared
      when dev->flags is set to 0.
      
      The problem was spotted and the fix was provided by
      Oliver Neukum <oneukum@suse.de>.
      Signed-off-by: default avatarEugene Shatokhin <eugene.shatokhin@rosalab.ru>
      Acked-by: default avatarOliver Neukum <oneukum@suse.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f50791ac
    • Iyappan Subramanian's avatar
      drivers: net: xgene: fix: Oops in linkwatch_fire_event · ccc02ddb
      Iyappan Subramanian authored
      [ 1065.801569] Internal error: Oops: 96000006 [#1] SMP
      ...
      [ 1065.866655] Hardware name: AppliedMicro Mustang/Mustang, BIOS 1.1.0 Apr 22 2015
      [ 1065.873937] Workqueue: events_power_efficient phy_state_machine
      [ 1065.879837] task: fffffe01de105e80 ti: fffffe00bcf18000 task.ti: fffffe00bcf18000
      [ 1065.887288] PC is at linkwatch_fire_event+0xac/0xc0
      [ 1065.892141] LR is at linkwatch_fire_event+0xa0/0xc0
      [ 1065.896995] pc : [<fffffe000060284c>] lr : [<fffffe0000602840>] pstate: 200001c5
      [ 1065.904356] sp : fffffe00bcf1bd00
      ...
      [ 1066.196813] Call Trace:
      [ 1066.199248] [<fffffe000060284c>] linkwatch_fire_event+0xac/0xc0
      [ 1066.205140] [<fffffe000061167c>] netif_carrier_off+0x54/0x64
      [ 1066.210773] [<fffffe00004f1654>] phy_state_machine+0x120/0x3bc
      [ 1066.216578] [<fffffe00000d8d10>] process_one_work+0x15c/0x3a8
      [ 1066.222296] [<fffffe00000d9090>] worker_thread+0x134/0x470
      [ 1066.227757] [<fffffe00000df014>] kthread+0xe0/0xf8
      [ 1066.232525] Code: 97f65ee9 f9420660 d538d082 8b000042 (885f7c40)
      
      The fix is to call phy_disconnect() from xgene_enet_mdio_remove,
      which in turn call cancel_delayed_work_sync().
      Signed-off-by: default avatarIyappan Subramanian <isubramanian@apm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ccc02ddb
    • WANG Cong's avatar
      cls_u32: complete the check for non-forced case in u32_destroy() · a6c1aea0
      WANG Cong authored
      In commit 1e052be6 ("net_sched: destroy proto tp when all filters are gone")
      I added a check in u32_destroy() to see if all real filters are gone
      for each tp, however, that is only done for root_ht, same is needed
      for others.
      
      This can be reproduced by the following tc commands:
      
      tc filter add dev eth0 parent 1:0 prio 5 handle 15: protocol ip u32 divisor 256
      tc filter add dev eth0 protocol ip parent 1: prio 5 handle 15:2:2 u32
      ht 15:2: match ip src 10.0.0.2 flowid 1:10
      tc filter add dev eth0 protocol ip parent 1: prio 5 handle 15:2:3 u32
      ht 15:2: match ip src 10.0.0.3 flowid 1:10
      
      Fixes: 1e052be6 ("net_sched: destroy proto tp when all filters are gone")
      Reported-by: default avatarAkshat Kakkar <akshat.1984@gmail.com>
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarCong Wang <cwang@twopensource.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a6c1aea0
  4. 25 Aug, 2015 8 commits
  5. 24 Aug, 2015 3 commits
    • David Ahern's avatar
      net: Fix RCU splat in af_key · ba51b6be
      David Ahern authored
      Hit the following splat testing VRF change for ipsec:
      
      [  113.475692] ===============================
      [  113.476194] [ INFO: suspicious RCU usage. ]
      [  113.476667] 4.2.0-rc6-1+deb7u2+clUNRELEASED #3.2.65-1+deb7u2+clUNRELEASED Not tainted
      [  113.477545] -------------------------------
      [  113.478013] /work/monster-14/dsa/kernel.git/include/linux/rcupdate.h:568 Illegal context switch in RCU read-side critical section!
      [  113.479288]
      [  113.479288] other info that might help us debug this:
      [  113.479288]
      [  113.480207]
      [  113.480207] rcu_scheduler_active = 1, debug_locks = 1
      [  113.480931] 2 locks held by setkey/6829:
      [  113.481371]  #0:  (&net->xfrm.xfrm_cfg_mutex){+.+.+.}, at: [<ffffffff814e9887>] pfkey_sendmsg+0xfb/0x213
      [  113.482509]  #1:  (rcu_read_lock){......}, at: [<ffffffff814e767f>] rcu_read_lock+0x0/0x6e
      [  113.483509]
      [  113.483509] stack backtrace:
      [  113.484041] CPU: 0 PID: 6829 Comm: setkey Not tainted 4.2.0-rc6-1+deb7u2+clUNRELEASED #3.2.65-1+deb7u2+clUNRELEASED
      [  113.485422] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014
      [  113.486845]  0000000000000001 ffff88001d4c7a98 ffffffff81518af2 ffffffff81086962
      [  113.487732]  ffff88001d538480 ffff88001d4c7ac8 ffffffff8107ae75 ffffffff8180a154
      [  113.488628]  0000000000000b30 0000000000000000 00000000000000d0 ffff88001d4c7ad8
      [  113.489525] Call Trace:
      [  113.489813]  [<ffffffff81518af2>] dump_stack+0x4c/0x65
      [  113.490389]  [<ffffffff81086962>] ? console_unlock+0x3d6/0x405
      [  113.491039]  [<ffffffff8107ae75>] lockdep_rcu_suspicious+0xfa/0x103
      [  113.491735]  [<ffffffff81064032>] rcu_preempt_sleep_check+0x45/0x47
      [  113.492442]  [<ffffffff8106404d>] ___might_sleep+0x19/0x1c8
      [  113.493077]  [<ffffffff81064268>] __might_sleep+0x6c/0x82
      [  113.493681]  [<ffffffff81133190>] cache_alloc_debugcheck_before.isra.50+0x1d/0x24
      [  113.494508]  [<ffffffff81134876>] kmem_cache_alloc+0x31/0x18f
      [  113.495149]  [<ffffffff814012b5>] skb_clone+0x64/0x80
      [  113.495712]  [<ffffffff814e6f71>] pfkey_broadcast_one+0x3d/0xff
      [  113.496380]  [<ffffffff814e7b84>] pfkey_broadcast+0xb5/0x11e
      [  113.497024]  [<ffffffff814e82d1>] pfkey_register+0x191/0x1b1
      [  113.497653]  [<ffffffff814e9770>] pfkey_process+0x162/0x17e
      [  113.498274]  [<ffffffff814e9895>] pfkey_sendmsg+0x109/0x213
      
      In pfkey_sendmsg the net mutex is taken and then pfkey_broadcast takes
      the RCU lock.
      
      Since pfkey_broadcast takes the RCU lock the allocation argument is
      pointless since GFP_ATOMIC must be used between the rcu_read_{,un}lock.
      The one call outside of rcu can be done with GFP_KERNEL.
      
      Fixes: 7f6b9dbd ("af_key: locking change")
      Signed-off-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ba51b6be
    • Jaedon Shin's avatar
      net: bcmgenet: fix uncleaned dma flags · b6df7d61
      Jaedon Shin authored
      Clean the dma flags of multiq ring buffer int the interface stop
      process. This patch fixes that the genet is not running while the
      interface is re-enabled.
      
      $ ifup eth0 - running after booting
      $ ifdown eth0
      $ ifup eth0 - not running and occur tx_timeout
      
      The bcmgenet_dma_disable() in bcmgenet_open() do clean ring16 dma flag
      only. If the genet has multiq, the dma register is not cleaned. and
      bcmgenet_init_dma() is not done correctly. in case
      GENET_V2(tx_queues=4), tdma_ctrl has 0x1e after running
      bcmgenet_dma_disable().
      Signed-off-by: default avatarJaedon Shin <jaedon.shin@gmail.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b6df7d61
    • Florian Fainelli's avatar
      net: bcmgenet: Avoid sleeping in bcmgenet_timeout · eed63569
      Florian Fainelli authored
      bcmgenet_timeout() executes in atomic context, yet we will invoke
      napi_disable() which does sleep. Looking back at the changes, disabling
      TX napi and re-enabling it is completely useless, since we reclaim all
      TX buffers and re-enable interrupts, and wake up the TX queues.
      
      Fixes: 13ea6578 ("net: bcmgenet: improve TX timeout")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eed63569
  6. 23 Aug, 2015 1 commit
  7. 21 Aug, 2015 1 commit
  8. 20 Aug, 2015 7 commits
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-video' and 'cpufreq-fixes' · b8a1171f
      Rafael J. Wysocki authored
      * acpi-video:
        ACPI / video: Fix circular lock dependency issue in the video-detect code
      
      * cpufreq-fixes:
        cpufreq: exynos: Fix for memory leak in case SoC name does not match
      b8a1171f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 28e55d07
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Out of bounds array access in 802.11 minstrel code, from Adrien
          Schildknecht.
      
       2) Don't use skb_get() in IGMP/MLD code paths, as this makes
          pskb_may_pull() BUG.  From Linus Luessing.
      
       3) Fix off by one in ipv4 route dumping code, from Andy Whitcroft.
      
       4) Fix deadlock in reqsk_queue_unlink(), from Eric Dumazet.
      
       5) Fix ppp device deregistration wrt.  netns deletion, from Guillaume
          Nault.
      
       6) Fix deadlock when creating per-cpu ipv6 routes, from Martin KaFai
          Lau.
      
       7) Fix memory leak in batman-adv code, from Sven Eckelmann.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        batman-adv: Fix memory leak on tt add with invalid vlan
        net: phy: fix semicolon.cocci warnings
        net: qmi_wwan: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module
        be2net: avoid vxlan offloading on multichannel configs
        ipv6: Fix a potential deadlock when creating pcpu rt
        ipv6: Add rt6_make_pcpu_route()
        ipv6: Remove un-used argument from ip6_dst_alloc()
        net: phy: workaround for buggy cable detection by LAN8700 after cable plugging
        net: ethernet: micrel: fix an error code
        ppp: fix device unregistration upon netns deletion
        net: phy: fix PHY_RUNNING in phy_state_machine
        Revert "net: limit tcp/udp rmem/wmem to SOCK_{RCV,SND}BUF_MIN"
        inet: fix potential deadlock in reqsk_queue_unlink()
        gianfar: Restore link state settings after MAC reset
        ipv4: off-by-one in continuation handling in /proc/net/route
        net: fix wrong skb_get() usage / crash in IGMP/MLD parsing code
        mac80211: fix invalid read in minstrel_sort_best_tp_rates()
      28e55d07
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.2-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 3d3e66ba
      Linus Torvalds authored
      Pull xen build fix from David Vrabel:
       "Fix i386 build with an (uncommon) configuration"
      
      * tag 'for-linus-4.2-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        x86/xen: make CONFIG_XEN depend on CONFIG_X86_LOCAL_APIC
      3d3e66ba
    • Linus Torvalds's avatar
      Merge tag 'sound-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · a971dbca
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are a small collecton of sound fix patches.
      
        The most significant one is the disablement of newly introduced
        topology API.  Its ABI couldn't be stabilized enough, so we decided to
        delay for 4.3 in the end.  Other than that, all oneliner fixes: a
        USB-audio runtime PM fix and a couple of HD-audio quirks"
      
      * tag 'sound-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Add dock support for Thinkpad W541 (17aa:2211)
        ALSA: usb-audio: Fix runtime PM unbalance
        ASoC: topology: Disable use from userspace
        ASoC: topology: Add Kconfig option for topology
        ALSA: hda - Fix the white noise on Dell laptop
      a971dbca
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 3243f50b
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "This contains a v4.2-rc specific RCU module unload regression bug-fix,
        a long-standing iscsi-target bug-fix for duplicate target_xfer_tags
        during NOP processing from Alexei, and two more small REPORT_LUNs
        emulation related patches to make Solaris FC host LUN scanning happy
        from Roland.
      
        There is also one patch not included that allows target-core to limit
        the number of fabric driver SGLs per I/O request using residuals, that
        is currently required as a work-around for FC hosts which don't honor
        EVPD block-limits settings.  At this point, it will most likely become
        for-next material"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: Fix handling of small allocation lengths in REPORT LUNS
        target: REPORT LUNS should return LUN 0 even for dynamic ACLs
        target/iscsi: Fix double free of a TUR followed by a solicited NOPOUT
        target: Perform RCU callback barrier before backend/fabric unload
      3243f50b
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal · 3bd8f7d8
      Linus Torvalds authored
      Pull thermal fixes from Eduardo Valentin:
       "Last minute fixes on the thermal-soc tree.  There is a fix of a long
        lasting bug in cpu cooling device, thanks for RMK for being pushing
        this"
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal:
        thermal/cpu_cooling: update policy limits if clipped_freq < policy->max
        thermal/cpu_cooling: rename max_freq as clipped_freq in notifier
        thermal/cpu_cooling: rename cpufreq_val as clipped_freq
        thermal/cpu_cooling: convert 'switch' block to 'if' block in notifier
        thermal/cpu_cooling: quit early after updating policy
        thermal/cpu_cooling: No need to initialize max_freq to 0
        thermal: cpu_cooling: fix lockdep problems in cpu_cooling
        thermal: power_allocator: do not use devm* interfaces
      3bd8f7d8
    • David Vrabel's avatar
      x86/xen: make CONFIG_XEN depend on CONFIG_X86_LOCAL_APIC · 87ffd2b9
      David Vrabel authored
      Since commit feb44f1f (x86/xen:
      Provide a "Xen PV" APIC driver to support >255 VCPUs) Xen guests need
      a full APIC driver and thus should depend on X86_LOCAL_APIC.
      
      This fixes an i386 build failure with !SMP && !CONFIG_X86_UP_APIC by
      disabling Xen support in this configuration.
      
      Users needing Xen support in a non-SMP i386 kernel will need to enable
      CONFIG_X86_UP_APIC.
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Cc: <stable@vger.kernel.org>
      87ffd2b9
  9. 19 Aug, 2015 5 commits
  10. 18 Aug, 2015 4 commits
  11. 17 Aug, 2015 4 commits