1. 24 9月, 2014 21 次提交
  2. 23 9月, 2014 19 次提交
    • P
      Merge tag 'kvm-arm-for-v3.17-rc7-or-final' of... · 95426393
      Paolo Bonzini 提交于
      Merge tag 'kvm-arm-for-v3.17-rc7-or-final' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master
      
      Fixes unaligned access to the gicv2 virtual cpu status.
      95426393
    • L
      Revert "x86/efi: Fixup GOT in all boot code paths" · f3670394
      Linus Torvalds 提交于
      This reverts commit 9cb0e394.
      
      It causes my Sony Vaio Pro 11 to immediately reboot at startup.
      Acked-by: NIngo Molnar <mingo@kernel.org>
      Cc: Peter Anvin <hpa@zytor.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f3670394
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 98f75b82
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) If the user gives us a msg_namelen of 0, don't try to interpret
          anything pointed to by msg_name.  From Ani Sinha.
      
       2) Fix some bnx2i/bnx2fc randconfig compilation errors.
      
          The gist of the issue is that we firstly have drivers that span both
          SCSI and networking.  And at the top of that chain of dependencies
          we have things like SCSI_FC_ATTRS and SCSI_NETLINK which are
          selected.
      
          But since select is a sledgehammer and ignores dependencies,
          everything to select's SCSI_FC_ATTRS and/or SCSI_NETLINK has to also
          explicitly select their dependencies and so on and so forth.
      
          Generally speaking 'select' is supposed to only be used for child
          nodes, those which have no dependencies of their own.  And this
          whole chain of dependencies in the scsi layer violates that rather
          strongly.
      
          So just make SCSI_NETLINK depend upon it's dependencies, and so on
          and so forth for the things selecting it (either directly or
          indirectly).
      
          From Anish Bhatt and Randy Dunlap.
      
       3) Fix generation of blackhole routes in IPSEC, from Steffen Klassert.
      
       4) Actually notice netdev feature changes in rtl_open() code, from
          Hayes Wang.
      
       5) Fix divide by zero in bond enslaving, from Nikolay Aleksandrov.
      
       6) Missing memory barrier in sunvnet driver, from David Stevens.
      
       7) Don't leave anycast addresses around when ipv6 interface is
          destroyed, from Sabrina Dubroca.
      
       8) Don't call efx_{arch}_filter_sync_rx_mode before addr_list_lock is
          initialized in SFC driver, from Edward Cree.
      
       9) Fix missing DMA error checking in 3c59x, from Neal Horman.
      
      10) Openvswitch doesn't emit OVS_FLOW_CMD_NEW notifications accidently,
          fix from Samuel Gauthier.
      
      11) pch_gbe needs to select NET_PTP_CLASSIFY otherwise we can get a
          build error.
      
      12) Fix macvlan regression wherein we stopped emitting
          broadcast/multicast frames over software devices.  From Nicolas
          Dichtel.
      
      13) Fix infiniband bug due to unintended overflow of skb->cb[], from
          Eric Dumazet.  And add an assertion so this doesn't happen again.
      
      14) dm9000_parse_dt() should return error pointers, not NULL.  From
          Tobias Klauser.
      
      15) IP tunneling code uses this_cpu_ptr() in preemptible contexts, fix
          from Eric Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (87 commits)
        net: bcmgenet: call bcmgenet_dma_teardown in bcmgenet_fini_dma
        net: bcmgenet: fix TX reclaim accounting for fragments
        ipv4: do not use this_cpu_ptr() in preemptible context
        dm9000: Return an ERR_PTR() in all error conditions of dm9000_parse_dt()
        r8169: fix an if condition
        r8152: disable ALDPS
        ipoib: validate struct ipoib_cb size
        net: sched: shrink struct qdisc_skb_cb to 28 bytes
        tg3: Work around HW/FW limitations with vlan encapsulated frames
        macvlan: allow to enqueue broadcast pkt on virtual device
        pch_gbe: 'select' NET_PTP_CLASSIFY.
        scsi: Use 'depends' with LIBFC instead of 'select'.
        openvswitch: restore OVS_FLOW_CMD_NEW notifications
        genetlink: add function genl_has_listeners()
        lib: rhashtable: remove second linux/log2.h inclusion
        net: allow macvlans to move to net namespace
        3c59x: Fix bad offset spec in skb_frag_dma_map
        3c59x: Add dma error checking and recovery
        sparc: bpf_jit: fix support for ldx/stx mem and SKF_AD_VLAN_TAG
        can: at91_can: add missing prepare and unprepare of the clock
        ...
      98f75b82
    • L
      Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux · 94783036
      Linus Torvalds 提交于
      Pull clock layer fixes from Mike Turquette:
       "The fixes for the clock tree are mostly run-time bugs in clock
        drivers.
      
        The fixes for TI DRA7 remove divide-by-zero errors.  The recently
        merged AT91 clock driver fixes some bad error checking and the QCOM
        driver fix restores audio for that platform, a clear regression.  A
        list iteration bug in the framework core was hit recently and is fixed
        up here.  Finally a compilation warning is fixed for efm32gg, which is
        also a regression fix"
      
      * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux:
        clk/efm32gg: fix dt init prototype
        clk: prevent erronous parsing of children during rate change
        clk: rockchip: Fix the clocks for i2c1 and i2c2
        clk: qcom: Fix sdc 144kHz frequency entry
        clk: at91: fix num_parents test in at91sam9260 slow clk implementation
        clk: ti: dra7-atl: Provide error check for incoming parameters in set_rate
        clk: ti: divider: Provide error check for incoming parameters in set_rate
      94783036
    • L
      Merge tag 'fscache-fixes-20140917' of... · e2519c2c
      Linus Torvalds 提交于
      Merge tag 'fscache-fixes-20140917' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
      
      Pull fs-cache fixes from David Howells:
      
       - Put a timeout in releasepage() to deal with a recursive hang between
         the memory allocator, writeback, ext4 and fscache under memory
         pressure.
      
       - Fix a pair of refcount bugs in the fscache error handling.
      
       - Remove a couple of unused pagevecs.
      
       - The cachefiles requirement that the base directory support rename
         should permit rename2 as an alternative - otherwise certain
         filesystems cannot now be used as backing stores (such as ext4).
      
      * tag 'fscache-fixes-20140917' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        CacheFiles: Handle rename2
        cachefiles: remove two unused pagevecs.
        FS-Cache: refcount becomes corrupt under vma pressure.
        FS-Cache: Reduce cookie ref count if submit fails.
        FS-Cache: Timeout for releasepage()
      e2519c2c
    • D
      Merge branch 'bcmgenet' · e18b7faa
      David S. Miller 提交于
      Florian Fainelli says:
      
      ====================
      net: bcmgenet: TX reclaim and DMA fixes
      
      This patch set contains one fix for an accounting problem while reclaiming
      transmitted buffers having fragments, and the second fix is to make sure
      that the DMA shutdown is properly controlled.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e18b7faa
    • F
      net: bcmgenet: call bcmgenet_dma_teardown in bcmgenet_fini_dma · 4a0c081e
      Florian Fainelli 提交于
      We should not be manipulaging the DMA_CTRL registers directly by writing
      0 to them to disable DMA. This is an operation that needs to be timed to
      make sure the DMA engines have been properly stopped since their state
      machine stops on a packet boundary, not immediately.
      
      Make sure that tha bcmgenet_fini_dma() calls bcmgenet_dma_teardown() to
      ensure a proper DMA engine state. As a result, we need to reorder the
      function bodies to resolve the use dependency.
      
      Fixes: 1c1008c7 ("net: bcmgenet: add main driver file")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4a0c081e
    • F
      net: bcmgenet: fix TX reclaim accounting for fragments · 478a010c
      Florian Fainelli 提交于
      The GENET driver supports SKB fragments, and succeeds in transmitting
      them properly, but when reclaiming these transmitted fragments, we will
      only update the count of free buffer descriptors by 1, even for SKBs
      with fragments. This leads to the networking stack thinking it has more
      room than the hardware has when pushing new SKBs, and backing off
      consequently because we return NETDEV_TX_BUSY.
      
      Fix this by accounting for the SKB nr_frags plus one (itself) and update
      ring->free_bds accordingly with that value for each iteration loop in
      __bcmgenet_tx_reclaim().
      
      Fixes: 1c1008c7 ("net: bcmgenet: add main driver file")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      478a010c
    • E
      ipv4: do not use this_cpu_ptr() in preemptible context · a35165ca
      Eric Dumazet 提交于
      this_cpu_ptr() in preemptible context is generally bad
      
      Sep 22 05:05:55 br kernel: [   94.608310] BUG: using smp_processor_id()
      in
      preemptible [00000000] code: ip/2261
      Sep 22 05:05:55 br kernel: [   94.608316] caller is
      tunnel_dst_set.isra.28+0x20/0x60 [ip_tunnel]
      Sep 22 05:05:55 br kernel: [   94.608319] CPU: 3 PID: 2261 Comm: ip Not
      tainted
      3.17.0-rc5 #82
      
      We can simply use raw_cpu_ptr(), as preemption is safe in these
      contexts.
      
      Should fix https://bugzilla.kernel.org/show_bug.cgi?id=84991Signed-off-by: NEric Dumazet <edumazet@google.com>
      Reported-by: NJoe <joe9mail@gmail.com>
      Fixes: 9a4aa9af ("ipv4: Use percpu Cache route in IP tunnels")
      Acked-by: NTom Herbert <therbert@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a35165ca
    • C
      arm/arm64: KVM: Fix unaligned access bug on gicv2 access · 1f2bb4ac
      Christoffer Dall 提交于
      We were using an atomic bitop on the vgic_v2.vgic_elrsr field which was
      not aligned to the natural size on 64-bit platforms.  This bug showed up
      after QEMU correctly identifies the pl011 line as being level-triggered,
      and not edge-triggered.
      
      These data structures are protected by a spinlock so simply use a
      non-atomic version of the accessor instead.
      Tested-by: NJoel Schopp <joel.schopp@amd.com>
      Reported-by: NRiku Voipio <riku.voipio@linaro.org>
      Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
      1f2bb4ac
    • J
      genhd: fix leftover might_sleep() in blk_free_devt() · 46f341ff
      Jens Axboe 提交于
      Commit 2da78092 changed the locking from a mutex to a spinlock,
      so we now longer sleep in this context. But there was a leftover
      might_sleep() in there, which now triggers since we do the final
      free from an RCU callback. Get rid of it.
      Reported-by: NPontus Fuchs <pontus.fuchs@gmail.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      46f341ff
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec · 84de67b2
      David S. Miller 提交于
      Steffen Klassert says:
      
      ====================
      pull request (net): ipsec 2014-09-22
      
      We generate a blackhole or queueing route if a packet
      matches an IPsec policy but a state can't be resolved.
      Here we assume that dst_output() is called to kill
      these packets. Unfortunately this assumption is not
      true in all cases, so it is possible that these packets
      leave the system without the necessary transformations.
      
      This pull request contains two patches to fix this issue:
      
      1) Fix for blackhole routed packets.
      
      2) Fix for queue routed packets.
      
      Both patches are serious stable candidates.
      
      Please pull or let me know if there are problems.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      84de67b2
    • T
      dm9000: Return an ERR_PTR() in all error conditions of dm9000_parse_dt() · 09f3756b
      Tobias Klauser 提交于
      In one error condition dm9000_parse_dt() returns NULL, however the
      return value is checked using IS_ERR() in dm9000_probe(), leading to the
      error not being properly propagated if CONFIG_OF is not enabled or the
      device tree data is not available. Fix this by also returning an
      ERR_PTR() in this case.
      
      Fixes: 0b8bf1ba (net: dm9000: Allow instantiation using device tree)
      Signed-off-by: NTobias Klauser <tklauser@distanz.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      09f3756b
    • D
      r8169: fix an if condition · 85911d71
      Dan Carpenter 提交于
      There is an extra semi-colon so __rtl8169_set_features() is called every
      time.
      
      Fixes: 929a031d ('r8169: adjust __rtl8169_set_features')
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Acked-by: Hayes Wang <hayeswang@realtek.com>--
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      85911d71
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · b0e2a55c
      Linus Torvalds 提交于
      Pull KVM fixes from Paolo Bonzini:
       "Two very simple bugfixes, affecting all supported architectures"
      
      [ Two? There's three commits in here.  Oh well, I guess Paolo didn't
        count the preparatory symbol export ]
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: correct null pid check in kvm_vcpu_yield_to()
        KVM: check for !is_zero_pfn() in kvm_is_mmio_pfn()
        mm: export symbol dependencies of is_zero_pfn()
      b0e2a55c
    • H
      r8152: disable ALDPS · d70b1137
      hayeswang 提交于
      If the hw is in ALDPS mode, the hw may have no response for accessing
      the most registers. Therefore, the ALDPS should be disabled before
      accessing the hw in rtl_ops.init(), rtl_ops.disable(), rtl_ops.up(),
      and rtl_ops.down(). Regardless of rtl_ops.enable(), because the hw
      wouldn't enter ALDPS mode when linking on. The hw would enter the
      ALDPS mode after several seconds when link down occurs and the ALDPS
      is enabled.
      Signed-off-by: NHayes Wang <hayeswang@realtek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d70b1137
    • E
      ipoib: validate struct ipoib_cb size · b49fe362
      Eric Dumazet 提交于
      To catch future errors sooner.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b49fe362
    • E
      net: sched: shrink struct qdisc_skb_cb to 28 bytes · 25711786
      Eric Dumazet 提交于
      We cannot make struct qdisc_skb_cb bigger without impacting IPoIB,
      or increasing skb->cb[] size.
      
      Commit e0f31d84 ("flow_keys: Record IP layer protocol in
      skb_flow_dissect()") broke IPoIB.
      
      Only current offender is sch_choke, and this one do not need an
      absolutely precise flow key.
      
      If we store 17 bytes of flow key, its more than enough. (Its the actual
      size of flow_keys if it was a packed structure, but we might add new
      fields at the end of it later)
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Fixes: e0f31d84 ("flow_keys: Record IP layer protocol in skb_flow_dissect()")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25711786
    • V
      tg3: Work around HW/FW limitations with vlan encapsulated frames · 476c1885
      Vlad Yasevich 提交于
      TG3 appears to have an issue performing TSO and checksum offloading
      correclty when the frame has been vlan encapsulated (non-accelrated).
      In these cases, tcp checksum is not correctly updated.
      
      This patch attempts to work around this issue.  After the patch,
      802.1ad vlans start working correctly over tg3 devices.
      
      CC: Prashant Sreedharan <prashant@broadcom.com>
      CC: Michael Chan <mchan@broadcom.com>
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      476c1885