1. 11 6月, 2015 4 次提交
    • J
      checkpatch: fix "GLOBAL_INITIALISERS" test · 5129e87c
      Joe Perches 提交于
      Commit d5e616fc ("checkpatch: add a few more --fix corrections")
      broke the GLOBAL_INITIALISERS test with bad parentheses and optional
      leading spaces.
      
      Fix it.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Reported-by: NBandan Das <bsd@makefile.in>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5129e87c
    • W
      zram: clear disk io accounting when reset zram device · d7ad41a1
      Weijie Yang 提交于
      Clear zram disk io accounting when resetting the zram device.  Otherwise
      the residual io accounting stat will affect the diskstat in the next
      zram active cycle.
      Signed-off-by: NWeijie Yang <weijie.yang@samsung.com>
      Acked-by: NSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Acked-by: NMinchan Kim <minchan@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d7ad41a1
    • V
      memcg: do not call reclaim if !__GFP_WAIT · 7d638093
      Vladimir Davydov 提交于
      When trimming memcg consumption excess (see memory.high), we call
      try_to_free_mem_cgroup_pages without checking if we are allowed to sleep
      in the current context, which can result in a deadlock.  Fix this.
      
      Fixes: 241994ed ("mm: memcontrol: default hierarchy interface for memory")
      Signed-off-by: NVladimir Davydov <vdavydov@parallels.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Acked-by: NMichal Hocko <mhocko@suse.cz>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7d638093
    • G
      mm/memory_hotplug.c: set zone->wait_table to null after freeing it · 85bd8399
      Gu Zheng 提交于
      Izumi found the following oops when hot re-adding a node:
      
          BUG: unable to handle kernel paging request at ffffc90008963690
          IP: __wake_up_bit+0x20/0x70
          Oops: 0000 [#1] SMP
          CPU: 68 PID: 1237 Comm: rs:main Q:Reg Not tainted 4.1.0-rc5 #80
          Hardware name: FUJITSU PRIMEQUEST2800E/SB, BIOS PRIMEQUEST 2000 Series BIOS Version 1.87 04/28/2015
          task: ffff880838df8000 ti: ffff880017b94000 task.ti: ffff880017b94000
          RIP: 0010:[<ffffffff810dff80>]  [<ffffffff810dff80>] __wake_up_bit+0x20/0x70
          RSP: 0018:ffff880017b97be8  EFLAGS: 00010246
          RAX: ffffc90008963690 RBX: 00000000003c0000 RCX: 000000000000a4c9
          RDX: 0000000000000000 RSI: ffffea101bffd500 RDI: ffffc90008963648
          RBP: ffff880017b97c08 R08: 0000000002000020 R09: 0000000000000000
          R10: 0000000000000000 R11: 0000000000000000 R12: ffff8a0797c73800
          R13: ffffea101bffd500 R14: 0000000000000001 R15: 00000000003c0000
          FS:  00007fcc7ffff700(0000) GS:ffff880874800000(0000) knlGS:0000000000000000
          CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
          CR2: ffffc90008963690 CR3: 0000000836761000 CR4: 00000000001407e0
          Call Trace:
            unlock_page+0x6d/0x70
            generic_write_end+0x53/0xb0
            xfs_vm_write_end+0x29/0x80 [xfs]
            generic_perform_write+0x10a/0x1e0
            xfs_file_buffered_aio_write+0x14d/0x3e0 [xfs]
            xfs_file_write_iter+0x79/0x120 [xfs]
            __vfs_write+0xd4/0x110
            vfs_write+0xac/0x1c0
            SyS_write+0x58/0xd0
            system_call_fastpath+0x12/0x76
          Code: 5d c3 66 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 48 83 ec 20 65 48 8b 04 25 28 00 00 00 48 89 45 f8 31 c0 48 8d 47 48 <48> 39 47 48 48 c7 45 e8 00 00 00 00 48 c7 45 f0 00 00 00 00 48
          RIP  [<ffffffff810dff80>] __wake_up_bit+0x20/0x70
           RSP <ffff880017b97be8>
          CR2: ffffc90008963690
      
      Reproduce method (re-add a node)::
        Hot-add nodeA --> remove nodeA --> hot-add nodeA (panic)
      
      This seems an use-after-free problem, and the root cause is
      zone->wait_table was not set to *NULL* after free it in
      try_offline_node.
      
      When hot re-add a node, we will reuse the pgdat of it, so does the zone
      struct, and when add pages to the target zone, it will init the zone
      first (including the wait_table) if the zone is not initialized.  The
      judgement of zone initialized is based on zone->wait_table:
      
      	static inline bool zone_is_initialized(struct zone *zone)
      	{
      		return !!zone->wait_table;
      	}
      
      so if we do not set the zone->wait_table to *NULL* after free it, the
      memory hotplug routine will skip the init of new zone when hot re-add
      the node, and the wait_table still points to the freed memory, then we
      will access the invalid address when trying to wake up the waiting
      people after the i/o operation with the page is done, such as mentioned
      above.
      Signed-off-by: NGu Zheng <guz.fnst@cn.fujitsu.com>
      Reported-by: NTaku Izumi <izumi.taku@jp.fujitsu.com>
      Reviewed by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Tang Chen <tangchen@cn.fujitsu.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      85bd8399
  2. 09 6月, 2015 9 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 5879ae5f
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fix stack allocation in s390 BPF JIT, from Michael Holzheu.
      
       2) Disable LRO on openvswitch paths, from Jiri Benc.
      
       3) UDP early demux doesn't handle multicast group membership properly,
          fix from Shawn Bohrer.
      
       4) Fix TX queue hang due to incorrect handling of mixed sized fragments
          and linearlization in i40e driver, from Anjali Singhai Jain.
      
       5) Cannot use disable_irq() in timer handler of AMD xgbe driver, from
          Thomas Lendacky.
      
       6) b2net driver improperly assumes pci_alloc_consistent() gives zero'd
          out memory, use dma_zalloc_coherent().  From Sriharsha Basavapatna.
      
       7) Fix use-after-free in MPLS and ipv6, from Robert Shearman.
      
       8) Missing neif_napi_del() calls in cleanup paths of b44 driver, from
          Hauke Mehrtens.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        net: replace last open coded skb_orphan_frags with function call
        net: bcmgenet: power on MII block for all MII modes
        ipv6: Fix protocol resubmission
        ipv6: fix possible use after free of dev stats
        b44: call netif_napi_del()
        bridge: disable softirqs around br_fdb_update to avoid lockup
        Revert "bridge: use _bh spinlock variant for br_fdb_update to avoid lockup"
        mpls: fix possible use after free of device
        be2net: Replace dma/pci_alloc_coherent() calls with dma_zalloc_coherent()
        bridge: use _bh spinlock variant for br_fdb_update to avoid lockup
        amd-xgbe: Use disable_irq_nosync from within timer function
        rhashtable: add missing import <linux/export.h>
        i40e: Make sure to be in VEB mode if SRIOV is enabled at probe
        i40e: start up in VEPA mode by default
        i40e/i40evf: Fix mixed size frags and linearization
        ipv4/udp: Verify multicast group is ours in upd_v4_early_demux()
        openvswitch: disable LRO
        s390/bpf: fix bpf frame pointer setup
        s390/bpf: fix stack allocation
      5879ae5f
    • L
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 056537c6
      Linus Torvalds 提交于
      Pull last-minute virtio fix from Michael Tsirkin:
       "This fixes a minor issue affecting multiqueue virtio net when user
        keeps changing the number of active queues and CPUs are added and
        removed by hotplug"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio_pci: Clear stale cpumask when setting irq affinity
      056537c6
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 40b985fb
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Kevin Hilman:
       "About 10 days worth of small bug fixes, and the (hopefully) final
        round fixes for from arm-soc land for the -rc cycle.  Nothing special
        to note, but here's a brief summary of fixes by SoC type:
      
         - OMAP:
              small set of misc DT fixes; boot fix for THUMB2 kernel
      
         - mediatek:
              PMIC fixes; DT fix for model name
      
         - exynos:
              wakeup interupt fixes for 3250
      
         - mvebu:
              revert mbus patch which broke DMA masters
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: dts: am335x-boneblack: disable RTC-only sleep to avoid hardware damage
        ARM: dts: AM35xx: fix system control module clocks
        arm64: dts: mt8173-evb: fix model name
        ARM: exynos: Fix wake-up interrupts for Exynos3250
        ARM: dts: Fix n900 dts file to work around 4.1 touchscreen regression on n900
        ARM: dts: Fix dm816x to use right compatible flag for MUSB
        ARM: OMAP3: Fix booting with thumb2 kernel
        Revert "bus: mvebu-mbus: make sure SDRAM CS for DMA don't overlap the MBus bridge window"
        bus: mvebu-mbus: do not set WIN_CTRL_SYNCBARRIER on non io-coherent platforms.
        ARM: mvebu: armada-xp-linksys-mamba: Disable internal RTC
        soc: mediatek: Add compile dependency to pmic-wrapper
        soc: mediatek: PMIC wrap: Fix register state machine handling
        soc: mediatek: PMIC wrap: Fix clock rate handling
      40b985fb
    • W
      net: replace last open coded skb_orphan_frags with function call · bbbf2df0
      Willem de Bruijn 提交于
      Commit 70008aa5 ("skbuff: convert to skb_orphan_frags") replaced
      open coded tests of SKBTX_DEV_ZEROCOPY and skb_copy_ubufs with calls
      to helper function skb_orphan_frags. Apply that to the last remaining
      open coded site.
      Signed-off-by: NWillem de Bruijn <willemb@google.com>
      Acked-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bbbf2df0
    • F
      net: bcmgenet: power on MII block for all MII modes · afe3f907
      Florian Fainelli 提交于
      The RGMII block is currently only powered on when using RGMII or
      RGMII_NO_ID, which is not correct when using the GENET interface in MII
      or Reverse MII modes. We always need to power on the RGMII interface for
      this block to properly work, regardless of the MII mode in which we
      operate.
      
      Fixes: aa09677c ("net: bcmgenet: add MDIO routines")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      afe3f907
    • J
      ipv6: Fix protocol resubmission · 0243508e
      Josh Hunt 提交于
      UDP encapsulation is broken on IPv6. This is because the logic to resubmit
      the nexthdr is inverted, checking for a ret value > 0 instead of < 0. Also,
      the resubmit label is in the wrong position since we already get the
      nexthdr value when performing decapsulation. In addition the skb pull is no
      longer necessary either.
      
      This changes the return value check to look for < 0, using it for the
      nexthdr on the next iteration, and moves the resubmit label to the proper
      location.
      
      With these changes the v6 code now matches what we do in the v4 ip input
      code wrt resubmitting when decapsulating.
      Signed-off-by: NJosh Hunt <johunt@akamai.com>
      Acked-by: N"Tom Herbert" <tom@herbertland.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0243508e
    • R
      ipv6: fix possible use after free of dev stats · 27e41fcf
      Robert Shearman 提交于
      The memory pointed to by idev->stats.icmpv6msgdev,
      idev->stats.icmpv6dev and idev->stats.ipv6 can each be used in an RCU
      read context without taking a reference on idev. For example, through
      IP6_*_STATS_* calls in ip6_rcv. These memory blocks are freed without
      waiting for an RCU grace period to elapse. This could lead to the
      memory being written to after it has been freed.
      
      Fix this by using call_rcu to free the memory used for stats, as well
      as idev after an RCU grace period has elapsed.
      Signed-off-by: NRobert Shearman <rshearma@brocade.com>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      27e41fcf
    • K
      Merge tag 'omap-for-v4.1/fixes-rc6' of... · 0a68c6bc
      Kevin Hilman 提交于
      Merge tag 'omap-for-v4.1/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Merge omap fixes for v4.1, urgent fix to avoid potential hardware damage From Tony Lindgren:
      
      Omap fixes for the -rc cycle, including a fix for potential hardware
      breakage on BeagleBones:
      
      - BeagleBones don't support RTC-only mode, it can cause hardware
        damage if system-power-controller is specified without
        ti,pmic-shutdown-controller
      
      - Fix a recent regression to am3517 SoCs caused by the recent clock
        move that was not noticed until now despite automated boot
        testing
      
      - Fix a regression for n900 touchscreen triggered by recent
        recent input changes
      
      - Fix compatible property for dm816x USB to avoid errors with
        USB Ethernet
      
      - Fix oops for omap3 when built with CONFIG_THUMB2_KERNEL
      
      * tag 'omap-for-v4.1/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: am335x-boneblack: disable RTC-only sleep to avoid hardware damage
        ARM: dts: AM35xx: fix system control module clocks
        ARM: dts: Fix n900 dts file to work around 4.1 touchscreen regression on n900
        ARM: dts: Fix dm816x to use right compatible flag for MUSB
        ARM: OMAP3: Fix booting with thumb2 kernel
      0a68c6bc
    • L
      Merge git://git.infradead.org/intel-iommu · 181e5059
      Linus Torvalds 提交于
      Pull Intel IOMMU fix from David Woodhouse:
       "This fixes an oops when attempting to enable 1:1 passthrough mode for
        devices on which VT-d translation was disabled anyway.
      
        It's actually a long-standing bug but recent changes (commit
        18436afd: "iommu/vt-d: Allow RMRR on graphics devices too") have
        made it much easier to trigger with 'iommu=pt intel_iommu=igfx_off' on
        the command line"
      
      * git://git.infradead.org/intel-iommu:
        iommu/vt-d: Fix passthrough mode with translation-disabled devices
      181e5059
  3. 08 6月, 2015 10 次提交
  4. 07 6月, 2015 11 次提交
  5. 06 6月, 2015 6 次提交