1. 03 Apr, 2014 12 commits
    • Jiri Pirko's avatar
      net: add busy_poll device feature · d0290214
      Jiri Pirko authored
      Currently there is no way how to find out if a device supports busy
      polling. So add a feature and make it dependent on ndo_busy_poll
      existence.
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d0290214
    • Daniel Borkmann's avatar
      packet: fix packet_direct_xmit for BQL enabled drivers · 8e2f1a63
      Daniel Borkmann authored
      Currently, in packet_direct_xmit() we test the assigned netdevice queue
      for netif_xmit_frozen_or_stopped() before doing an ndo_start_xmit().
      
      This can have the side-effect that BQL enabled drivers which make use
      of netdev_tx_sent_queue() internally, set __QUEUE_STATE_STACK_XOFF from
      within the stack and would not fully fill the device's TX ring from
      packet sockets with PACKET_QDISC_BYPASS enabled.
      
      Instead, use a test without BQL bit so that bursts can be absorbed
      into the NICs TX ring. Fix and code suggested by Eric Dumazet, thanks!
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8e2f1a63
    • Daniel Borkmann's avatar
      packet: report tx_dropped in packet_direct_xmit · 0f97ede4
      Daniel Borkmann authored
      Since commit 015f0688 ("net: net: add a core netdev->tx_dropped
      counter"), we can now account for TX drops from within the core
      stack instead of drivers.
      
      Therefore, fix packet_direct_xmit() and increase drop count when we
      encounter a problem before driver's xmit function was called (we do
      not want to doubly account for it).
      Suggested-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f97ede4
    • Zoltan Kiss's avatar
      xen-netback: Grant copy the header instead of map and memcpy · bdab8275
      Zoltan Kiss authored
      An old inefficiency of the TX path that we are grant mapping the first slot,
      and then copy the header part to the linear area. Instead, doing a grant copy
      for that header straight on is more reasonable. Especially because there are
      ongoing efforts to make Xen avoiding TLB flush after unmap when the page were
      not touched in Dom0. In the original way the memcpy ruined that.
      The key changes:
      - the vif has a tx_copy_ops array again
      - xenvif_tx_build_gops sets up the grant copy operations
      - we don't have to figure out whether the header and first frag are on the same
        grant mapped page or not
      Note, we only grant copy PKT_PROT_LEN bytes from the first slot, the rest (if
      any) will be on the first frag, which is grant mapped. If the first slot is
      smaller than PKT_PROT_LEN, then we grant copy that, and later __pskb_pull_tail
      will pull more from the frags (if any)
      Signed-off-by: default avatarZoltan Kiss <zoltan.kiss@citrix.com>
      Reviewed-by: default avatarPaul Durrant <paul.durrant@citrix.com>
      Acked-by: default avatarIan Campbell <ian.campbell@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bdab8275
    • Zoltan Kiss's avatar
      xen-netback: Rename map ops · 9074ce24
      Zoltan Kiss authored
      Rename identifiers to state explicitly that they refer to map ops.
      Signed-off-by: default avatarZoltan Kiss <zoltan.kiss@citrix.com>
      Reviewed-by: default avatarPaul Durrant <paul.durrant@citrix.com>
      Acked-by: default avatarIan Campbell <ian.campbell@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9074ce24
    • Josh Boyer's avatar
      net: qlcnic: include irq.h for irq definitions · acdd32be
      Josh Boyer authored
      The qlcnic driver fails to build on ARM with errors like:
      
      In file included from drivers/net/ethernet/qlogic/qlcnic/qlcnic.h:36:0,
                       from drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c:8:
      drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h:585:1: error: unknown type name 'irqreturn_t'
       irqreturn_t qlcnic_83xx_clear_legacy_intr(struct qlcnic_adapter *);
       ^
      
      Nothing in the driver is explicitly including the irq definitions, so we
      add an include of linux/irq.h to pick them up.
      Signed-off-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      acdd32be
    • Josh Boyer's avatar
      net: enic: include irq.h for irqreturn_t definitions · fef1f07c
      Josh Boyer authored
      The enic driver fails to build on ARM with:
      
      In file included from drivers/net/ethernet/cisco/enic/enic_res.c:40:0:
      drivers/net/ethernet/cisco/enic/enic.h:48:2: error: expected specifier-qualifier-list before 'irqreturn_t'
        irqreturn_t (*isr)(int, void *);
        ^
      
      Nothing in the driver is explicitly including the irq definitions, so we add
      an include of linux/irq.h to pick them up.
      Signed-off-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fef1f07c
    • Josh Boyer's avatar
      net: bnx2x: include irq.h for irqreturn_t definitions · df1efc2d
      Josh Boyer authored
      The bnx2x driver fails to build on ARM with:
      
      In file included from drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c:28:0:
      drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h:243:1: error: unknown type name 'irqreturn_t'
       irqreturn_t bnx2x_msix_sp_int(int irq, void *dev_instance);
       ^
      drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h:251:1: error: unknown type name 'irqreturn_t'
       irqreturn_t bnx2x_interrupt(int irq, void *dev_instance);
       ^
      
      Nothing in bnx2x_link.c or bnx2x_cmn.h is explicitly including the irq
      definitions, so we add an include of linux/irq.h to pick them up.
      Signed-off-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      df1efc2d
    • YOSHIFUJI Hideaki / 吉藤英明's avatar
      isdnloop: Validate NUL-terminated strings from user. · 77bc6bed
      YOSHIFUJI Hideaki / 吉藤英明 authored
      Return -EINVAL unless all of user-given strings are correctly
      NUL-terminated.
      Signed-off-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      77bc6bed
    • Alexei Starovoitov's avatar
      net: ti: fix CPTS driver build on arm · 79eb9d28
      Alexei Starovoitov authored
      fix build errors:
      drivers/net/ethernet/ti/cpts.c:266:12: error: 'ETH_HLEN' undeclared (first use in this function)
      drivers/net/ethernet/ti/cpts.c:276:23: error: 'VLAN_HLEN' undeclared (first use in this function)
      
      Fixes: 408eccce ("net: ptp: move PTP classifier in its own file")
      Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Suggested-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Cc: Richard Cochran <richardcochran@gmail.com>
      Acked-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      79eb9d28
    • Mike Rapoport's avatar
      net: vxlan: fix crash when interface is created with no group · 5933a7bb
      Mike Rapoport authored
      If the vxlan interface is created without explicit group definition,
      there are corner cases which may cause kernel panic.
      
      For instance, in the following scenario:
      
      node A:
      $ ip link add dev vxlan42  address 2c:c2:60:00:10:20 type vxlan id 42
      $ ip addr add dev vxlan42 10.0.0.1/24
      $ ip link set up dev vxlan42
      $ arp -i vxlan42 -s 10.0.0.2 2c:c2:60:00:01:02
      $ bridge fdb add dev vxlan42 to 2c:c2:60:00:01:02 dst <IPv4 address>
      $ ping 10.0.0.2
      
      node B:
      $ ip link add dev vxlan42 address 2c:c2:60:00:01:02 type vxlan id 42
      $ ip addr add dev vxlan42 10.0.0.2/24
      $ ip link set up dev vxlan42
      $ arp -i vxlan42 -s 10.0.0.1 2c:c2:60:00:10:20
      
      node B crashes:
      
       vxlan42: 2c:c2:60:00:10:20 migrated from 4011:eca4:c0a8:6466:c0a8:6415:8e09:2118 to (invalid address)
       vxlan42: 2c:c2:60:00:10:20 migrated from 4011:eca4:c0a8:6466:c0a8:6415:8e09:2118 to (invalid address)
       BUG: unable to handle kernel NULL pointer dereference at 0000000000000046
       IP: [<ffffffff8143c459>] ip6_route_output+0x58/0x82
       PGD 7bd89067 PUD 7bd4e067 PMD 0
       Oops: 0000 [#1] SMP
       Modules linked in:
       CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.14.0-rc8-hvx-xen-00019-g97a5221f-dirty #154
       Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
       task: ffff88007c774f50 ti: ffff88007c79c000 task.ti: ffff88007c79c000
       RIP: 0010:[<ffffffff8143c459>]  [<ffffffff8143c459>] ip6_route_output+0x58/0x82
       RSP: 0018:ffff88007fd03668  EFLAGS: 00010282
       RAX: 0000000000000000 RBX: ffffffff8186a000 RCX: 0000000000000040
       RDX: 0000000000000000 RSI: ffff88007b0e4a80 RDI: ffff88007fd03754
       RBP: ffff88007fd03688 R08: ffff88007b0e4a80 R09: 0000000000000000
       R10: 0200000a0100000a R11: 0001002200000000 R12: ffff88007fd03740
       R13: ffff88007b0e4a80 R14: ffff88007b0e4a80 R15: ffff88007bba0c50
       FS:  0000000000000000(0000) GS:ffff88007fd00000(0000) knlGS:0000000000000000
       CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
       CR2: 0000000000000046 CR3: 000000007bb60000 CR4: 00000000000006e0
       Stack:
        0000000000000000 ffff88007fd037a0 ffffffff8186a000 ffff88007fd03740
        ffff88007fd036c8 ffffffff814320bb 0000000000006e49 ffff88007b8b7360
        ffff88007bdbf200 ffff88007bcbc000 ffff88007b8b7000 ffff88007b8b7360
       Call Trace:
        <IRQ>
        [<ffffffff814320bb>] ip6_dst_lookup_tail+0x2d/0xa4
        [<ffffffff814322a5>] ip6_dst_lookup+0x10/0x12
        [<ffffffff81323b4e>] vxlan_xmit_one+0x32a/0x68c
        [<ffffffff814a325a>] ? _raw_spin_unlock_irqrestore+0x12/0x14
        [<ffffffff8104c551>] ? lock_timer_base.isra.23+0x26/0x4b
        [<ffffffff8132451a>] vxlan_xmit+0x66a/0x6a8
        [<ffffffff8141a365>] ? ipt_do_table+0x35f/0x37e
        [<ffffffff81204ba2>] ? selinux_ip_postroute+0x41/0x26e
        [<ffffffff8139d0c1>] dev_hard_start_xmit+0x2ce/0x3ce
        [<ffffffff8139d491>] __dev_queue_xmit+0x2d0/0x392
        [<ffffffff813b380f>] ? eth_header+0x28/0xb5
        [<ffffffff8139d569>] dev_queue_xmit+0xb/0xd
        [<ffffffff813a5aa6>] neigh_resolve_output+0x134/0x152
        [<ffffffff813db741>] ip_finish_output2+0x236/0x299
        [<ffffffff813dc074>] ip_finish_output+0x98/0x9d
        [<ffffffff813dc749>] ip_output+0x62/0x67
        [<ffffffff813da9f2>] dst_output+0xf/0x11
        [<ffffffff813dc11c>] ip_local_out+0x1b/0x1f
        [<ffffffff813dcf1b>] ip_send_skb+0x11/0x37
        [<ffffffff813dcf70>] ip_push_pending_frames+0x2f/0x33
        [<ffffffff813ff732>] icmp_push_reply+0x106/0x115
        [<ffffffff813ff9e4>] icmp_reply+0x142/0x164
        [<ffffffff813ffb3b>] icmp_echo.part.16+0x46/0x48
        [<ffffffff813c1d30>] ? nf_iterate+0x43/0x80
        [<ffffffff813d8037>] ? xfrm4_policy_check.constprop.11+0x52/0x52
        [<ffffffff813ffb62>] icmp_echo+0x25/0x27
        [<ffffffff814005f7>] icmp_rcv+0x1d2/0x20a
        [<ffffffff813d8037>] ? xfrm4_policy_check.constprop.11+0x52/0x52
        [<ffffffff813d810d>] ip_local_deliver_finish+0xd6/0x14f
        [<ffffffff813d8037>] ? xfrm4_policy_check.constprop.11+0x52/0x52
        [<ffffffff813d7fde>] NF_HOOK.constprop.10+0x4c/0x53
        [<ffffffff813d82bf>] ip_local_deliver+0x4a/0x4f
        [<ffffffff813d7f7b>] ip_rcv_finish+0x253/0x26a
        [<ffffffff813d7d28>] ? inet_add_protocol+0x3e/0x3e
        [<ffffffff813d7fde>] NF_HOOK.constprop.10+0x4c/0x53
        [<ffffffff813d856a>] ip_rcv+0x2a6/0x2ec
        [<ffffffff8139a9a0>] __netif_receive_skb_core+0x43e/0x478
        [<ffffffff812a346f>] ? virtqueue_poll+0x16/0x27
        [<ffffffff8139aa2f>] __netif_receive_skb+0x55/0x5a
        [<ffffffff8139aaaa>] process_backlog+0x76/0x12f
        [<ffffffff8139add8>] net_rx_action+0xa2/0x1ab
        [<ffffffff81047847>] __do_softirq+0xca/0x1d1
        [<ffffffff81047ace>] irq_exit+0x3e/0x85
        [<ffffffff8100b98b>] do_IRQ+0xa9/0xc4
        [<ffffffff814a37ad>] common_interrupt+0x6d/0x6d
        <EOI>
        [<ffffffff810378db>] ? native_safe_halt+0x6/0x8
        [<ffffffff810110c7>] default_idle+0x9/0xd
        [<ffffffff81011694>] arch_cpu_idle+0x13/0x1c
        [<ffffffff8107480d>] cpu_startup_entry+0xbc/0x137
        [<ffffffff8102e741>] start_secondary+0x1a0/0x1a5
       Code: 24 14 e8 f1 e5 01 00 31 d2 a8 32 0f 95 c2 49 8b 44 24 2c 49 0b 44 24 24 74 05 83 ca 04 eb 1c 4d 85 ed 74 17 49 8b 85 a8 02 00 00 <66> 8b 40 46 66 c1 e8 07 83 e0 07 c1 e0 03 09 c2 4c 89 e6 48 89
       RIP  [<ffffffff8143c459>] ip6_route_output+0x58/0x82
        RSP <ffff88007fd03668>
       CR2: 0000000000000046
       ---[ end trace 4612329caab37efd ]---
      
      When vxlan interface is created without explicit group definition, the
      default_dst protocol family is initialiazed to AF_UNSPEC and the driver
      assumes IPv4 configuration. On the other side, the default_dst protocol
      family is used to differentiate between IPv4 and IPv6 cases and, since,
      AF_UNSPEC != AF_INET, the processing takes the IPv6 path.
      
      Making the IPv4 assumption explicit by settting default_dst protocol
      family to AF_INET4 and preventing mixing of IPv4 and IPv6 addresses in
      snooped fdb entries fixes the corner case crashes.
      Signed-off-by: default avatarMike Rapoport <mike.rapoport@ravellosystems.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5933a7bb
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · cd6362be
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Here is my initial pull request for the networking subsystem during
        this merge window:
      
         1) Support for ESN in AH (RFC 4302) from Fan Du.
      
         2) Add full kernel doc for ethtool command structures, from Ben
            Hutchings.
      
         3) Add BCM7xxx PHY driver, from Florian Fainelli.
      
         4) Export computed TCP rate information in netlink socket dumps, from
            Eric Dumazet.
      
         5) Allow IPSEC SA to be dumped partially using a filter, from Nicolas
            Dichtel.
      
         6) Convert many drivers to pci_enable_msix_range(), from Alexander
            Gordeev.
      
         7) Record SKB timestamps more efficiently, from Eric Dumazet.
      
         8) Switch to microsecond resolution for TCP round trip times, also
            from Eric Dumazet.
      
         9) Clean up and fix 6lowpan fragmentation handling by making use of
            the existing inet_frag api for it's implementation.
      
        10) Add TX grant mapping to xen-netback driver, from Zoltan Kiss.
      
        11) Auto size SKB lengths when composing netlink messages based upon
            past message sizes used, from Eric Dumazet.
      
        12) qdisc dumps can take a long time, add a cond_resched(), From Eric
            Dumazet.
      
        13) Sanitize netpoll core and drivers wrt.  SKB handling semantics.
            Get rid of never-used-in-tree netpoll RX handling.  From Eric W
            Biederman.
      
        14) Support inter-address-family and namespace changing in VTI tunnel
            driver(s).  From Steffen Klassert.
      
        15) Add Altera TSE driver, from Vince Bridgers.
      
        16) Optimizing csum_replace2() so that it doesn't adjust the checksum
            by checksumming the entire header, from Eric Dumazet.
      
        17) Expand BPF internal implementation for faster interpreting, more
            direct translations into JIT'd code, and much cleaner uses of BPF
            filtering in non-socket ocntexts.  From Daniel Borkmann and Alexei
            Starovoitov"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1976 commits)
        netpoll: Use skb_irq_freeable to make zap_completion_queue safe.
        net: Add a test to see if a skb is freeable in irq context
        qlcnic: Fix build failure due to undefined reference to `vxlan_get_rx_port'
        net: ptp: move PTP classifier in its own file
        net: sxgbe: make "core_ops" static
        net: sxgbe: fix logical vs bitwise operation
        net: sxgbe: sxgbe_mdio_register() frees the bus
        Call efx_set_channels() before efx->type->dimension_resources()
        xen-netback: disable rogue vif in kthread context
        net/mlx4: Set proper build dependancy with vxlan
        be2net: fix build dependency on VxLAN
        mac802154: make csma/cca parameters per-wpan
        mac802154: allow only one WPAN to be up at any given time
        net: filter: minor: fix kdoc in __sk_run_filter
        netlink: don't compare the nul-termination in nla_strcmp
        can: c_can: Avoid led toggling for every packet.
        can: c_can: Simplify TX interrupt cleanup
        can: c_can: Store dlc private
        can: c_can: Reduce register access
        can: c_can: Make the code readable
        ...
      cd6362be
  2. 02 Apr, 2014 25 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 0f1b1e6d
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
       - substantial cleanup of the generic and transport layers, in the
         direction of an ultimate goal of making struct hid_device completely
         transport independent, by Benjamin Tissoires
       - cp2112 driver from David Barksdale
       - a lot of fixes and new hardware support (Dualshock 4) to hid-sony
         driver, by Frank Praznik
       - support for Win 8.1 multitouch protocol by Andrew Duggan
       - other smaller fixes / device ID additions
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (75 commits)
        HID: sony: fix force feedback mismerge
        HID: sony: Set the quriks flag for Bluetooth controllers
        HID: sony: Fix Sixaxis cable state detection
        HID: uhid: Add UHID_CREATE2 + UHID_INPUT2
        HID: hyperv: fix _raw_request() prototype
        HID: hyperv: Implement a stub raw_request() entry point
        HID: hid-sensor-hub: fix sleeping function called from invalid context
        HID: multitouch: add support for Win 8.1 multitouch touchpads
        HID: remove hid_output_raw_report transport implementations
        HID: sony: do not rely on hid_output_raw_report
        HID: cp2112: remove the last hid_output_raw_report() call
        HID: cp2112: remove various hid_out_raw_report calls
        HID: multitouch: add support of other generic collections in hid-mt
        HID: multitouch: remove pen special handling
        HID: multitouch: remove registered devices with default behavior
        HID: hidp: Add a comment that some devices depend on the current behavior of uniq
        HID: sony: Prevent duplicate controller connections.
        HID: sony: Perform a boundry check on the sixaxis battery level index.
        HID: sony: Fix work queue issues
        HID: sony: Fix multi-line comment styling
        ...
      0f1b1e6d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 159d8133
      Linus Torvalds authored
      Pull trivial tree updates from Jiri Kosina:
       "Usual rocket science -- mostly documentation and comment updates"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
        sparse: fix comment
        doc: fix double words
        isdn: capi: fix "CAPI_VERSION" comment
        doc: DocBook: Fix typos in xml and template file
        Bluetooth: add module name for btwilink
        driver core: unexport static function create_syslog_header
        mmc: core: typo fix in printk specifier
        ARM: spear: clean up editing mistake
        net-sysfs: fix comment typo 'CONFIG_SYFS'
        doc: Insert MODULE_ in module-signing macros
        Documentation: update URL to hfsplus Technote 1150
        gpio: update path to documentation
        ixgbe: Fix format string in ixgbe_fcoe.
        Kconfig: Remove useless "default N" lines
        user_namespace.c: Remove duplicated word in comment
        CREDITS: fix formatting
        treewide: Fix typo in Documentation/DocBook
        mm: Fix warning on make htmldocs caused by slab.c
        ata: ata-samsung_cf: cleanup in header file
        idr: remove unused prototype of idr_free()
      159d8133
    • Linus Torvalds's avatar
      Merge branch 'sched-idle-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 05bf58ca
      Linus Torvalds authored
      Pull sched/idle changes from Ingo Molnar:
       "More idle code reorganization, to prepare for more integration.
      
        (Sent separately because it depended on pending timer work, which is
        now upstream)"
      
      * 'sched-idle-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/idle: Add more comments to the code
        sched/idle: Move idle conditions in cpuidle_idle main function
        sched/idle: Reorganize the idle loop
        cpuidle/idle: Move the cpuidle_idle_call function to idle.c
        idle/cpuidle: Split cpuidle_idle_call main function into smaller functions
      05bf58ca
    • Oleg Nesterov's avatar
      pid_namespace: pidns_get() should check task_active_pid_ns() != NULL · d2308225
      Oleg Nesterov authored
      pidns_get()->get_pid_ns() can hit ns == NULL. This task_struct can't
      go away, but task_active_pid_ns(task) is NULL if release_task(task)
      was already called. Alternatively we could change get_pid_ns(ns) to
      check ns != NULL, but it seems that other callers are fine.
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Cc: Eric W. Biederman ebiederm@xmission.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d2308225
    • Linus Torvalds's avatar
      Merge tag 'kvm-3.15-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 7cbb39d4
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "PPC and ARM do not have much going on this time.  Most of the cool
        stuff, instead, is in s390 and (after a few releases) x86.
      
        ARM has some caching fixes and PPC has transactional memory support in
        guests.  MIPS has some fixes, with more probably coming in 3.16 as
        QEMU will soon get support for MIPS KVM.
      
        For x86 there are optimizations for debug registers, which trigger on
        some Windows games, and other important fixes for Windows guests.  We
        now expose to the guest Broadwell instruction set extensions and also
        Intel MPX.  There's also a fix/workaround for OS X guests, nested
        virtualization features (preemption timer), and a couple kvmclock
        refinements.
      
        For s390, the main news is asynchronous page faults, together with
        improvements to IRQs (floating irqs and adapter irqs) that speed up
        virtio devices"
      
      * tag 'kvm-3.15-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (96 commits)
        KVM: PPC: Book3S HV: Save/restore host PMU registers that are new in POWER8
        KVM: PPC: Book3S HV: Fix decrementer timeouts with non-zero TB offset
        KVM: PPC: Book3S HV: Don't use kvm_memslots() in real mode
        KVM: PPC: Book3S HV: Return ENODEV error rather than EIO
        KVM: PPC: Book3S: Trim top 4 bits of physical address in RTAS code
        KVM: PPC: Book3S HV: Add get/set_one_reg for new TM state
        KVM: PPC: Book3S HV: Add transactional memory support
        KVM: Specify byte order for KVM_EXIT_MMIO
        KVM: vmx: fix MPX detection
        KVM: PPC: Book3S HV: Fix KVM hang with CONFIG_KVM_XICS=n
        KVM: PPC: Book3S: Introduce hypervisor call H_GET_TCE
        KVM: PPC: Book3S HV: Fix incorrect userspace exit on ioeventfd write
        KVM: s390: clear local interrupts at cpu initial reset
        KVM: s390: Fix possible memory leak in SIGP functions
        KVM: s390: fix calculation of idle_mask array size
        KVM: s390: randomize sca address
        KVM: ioapic: reinject pending interrupts on KVM_SET_IRQCHIP
        KVM: Bump KVM_MAX_IRQ_ROUTES for s390
        KVM: s390: irq routing for adapter interrupts.
        KVM: s390: adapter interrupt sources
        ...
      7cbb39d4
    • Linus Torvalds's avatar
      Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 64056a94
      Linus Torvalds authored
      Pull virtio updates from Rusty Russell:
       "Nothing exciting: virtio-blk users might see a bit of a boost from the
        doubling of the default queue length though"
      
      * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        virtio-blk: base queue-depth on virtqueue ringsize or module param
        Revert a02bbb1c: MAINTAINERS: add virtio-dev ML for virtio
        virtio: fail adding buffer on broken queues.
        virtio-rng: don't crash if virtqueue is broken.
        virtio_balloon: don't crash if virtqueue is broken.
        virtio_blk: don't crash, report error if virtqueue is broken.
        virtio_net: don't crash if virtqueue is broken.
        virtio_balloon: don't softlockup on huge balloon changes.
        virtio: Use pci_enable_msix_exact() instead of pci_enable_msix()
        MAINTAINERS: virtio-dev is subscribers only
        tools/virtio: add a missing )
        tools/virtio: fix missing kmemleak_ignore symbol
        tools/virtio: update internal copies of headers
      64056a94
    • Linus Torvalds's avatar
      Merge branch 'for-3.15' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping · 7474043e
      Linus Torvalds authored
      Pull DMA-mapping updates from Marek Szyprowski:
       "This contains extension for more efficient handling of io address
        space for dma-mapping subsystem for ARM architecture"
      
      * 'for-3.15' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
        arm: dma-mapping: remove order parameter from arm_iommu_create_mapping()
        arm: dma-mapping: Add support to extend DMA IOMMU mappings
      7474043e
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux · b9f2b21a
      Linus Torvalds authored
      Pull devicetree changes from Grant Likely:
       "Updates to devicetree core code.  This branch contains the following
        notable changes:
      
         - add reserved memory binding
         - make struct device_node a kobject and remove legacy
           /proc/device-tree
         - ePAPR conformance fixes
         - update in-kernel DTC copy to version v1.4.0
         - preparatory changes for dynamic device tree overlays
         - minor bug fixes and documentation changes
      
        The most significant change in this branch is the conversion of struct
        device_node to be a kobject that is exposed via sysfs and removal of
        the old /proc/device-tree code.  This simplifies the device tree
        handling code and tightens up the lifecycle on device tree nodes.
      
        [updated: added fix for dangling select PROC_DEVICETREE]"
      
      * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux: (29 commits)
        dt: Remove dangling "select PROC_DEVICETREE"
        of: Add support for ePAPR "stdout-path" property
        of: device_node kobject lifecycle fixes
        of: only scan for reserved mem when fdt present
        powerpc: add support for reserved memory defined by device tree
        arm64: add support for reserved memory defined by device tree
        of: add missing major vendors
        of: add vendor prefix for SMSC
        of: remove /proc/device-tree
        of/selftest: Add self tests for manipulation of properties
        of: Make device nodes kobjects so they show up in sysfs
        arm: add support for reserved memory defined by device tree
        drivers: of: add support for custom reserved memory drivers
        drivers: of: add initialization code for dynamic reserved memory
        drivers: of: add initialization code for static reserved memory
        of: document bindings for reserved-memory nodes
        Revert "of: fix of_update_property()"
        kbuild: dtbs_install: new make target
        ARM: mvebu: Allows to get the SoC ID even without PCI enabled
        of: Allows to use the PCI translator without the PCI core
        ...
      b9f2b21a
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.15-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 70f6c087
      Linus Torvalds authored
      Pull more ACPI and power management updates from Rafael Wysocki:
       "These are commits that were not quite ready when I sent the original
        pull request for 3.15-rc1 several days ago, but they have spent some
        time in linux-next since then and appear to be good to go.  All of
        them are fixes and cleanups.
      
        Specifics:
      
         - Remaining changes from upstream ACPICA release 20140214 that
           introduce code to automatically serialize the execution of methods
           creating any named objects which really cannot be executed in
           parallel with each other anyway (previously ACPICA attempted to
           address that by aborting methods upon conflict detection, but that
           wasn't reliable enough and led to other issues).  From Bob Moore
           and Lv Zheng.
      
         - intel_pstate fix to use del_timer_sync() instead of del_timer() in
           the exit path before freeing the timer structure from Dirk
           Brandewie (original patch from Thomas Gleixner).
      
         - cpufreq fix related to system resume from Viresh Kumar.
      
         - Serialization of frequency transitions in cpufreq that involve
           PRECHANGE and POSTCHANGE notifications to avoid ordering issues
           resulting from race conditions.  From Srivatsa S Bhat and Viresh
           Kumar.
      
         - Revert of an ACPI processor driver change that was based on a
           specific interpretation of the ACPI spec which may not be correct
           (the relevant part of the spec appears to be incomplete).  From
           Hanjun Guo.
      
         - Runtime PM core cleanups and documentation updates from Geert
           Uytterhoeven.
      
         - PNP core cleanup from Michael Opdenacker"
      
      * tag 'pm+acpi-3.15-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: Make cpufreq_notify_transition & cpufreq_notify_post_transition static
        cpufreq: Convert existing drivers to use cpufreq_freq_transition_{begin|end}
        cpufreq: Make sure frequency transitions are serialized
        intel_pstate: Use del_timer_sync in intel_pstate_cpu_stop
        cpufreq: resume drivers before enabling governors
        PM / Runtime: Spelling s/competing/completing/
        PM / Runtime: s/foo_process_requests/foo_process_next_request/
        PM / Runtime: GENERIC_SUBSYS_PM_OPS is gone
        PM / Runtime: Correct documented return values for generic PM callbacks
        PM / Runtime: Split line longer than 80 characters
        PM / Runtime: dev_pm_info.runtime_error is signed
        Revert "ACPI / processor: Make it possible to get APIC ID via GIC"
        ACPICA: Enable auto-serialization as a default kernel behavior.
        ACPICA: Ignore sync_level for methods that have been auto-serialized.
        ACPICA: Add additional named objects for the auto-serialize method scan.
        ACPICA: Add auto-serialization support for ill-behaved control methods.
        ACPICA: Remove global option to serialize all control methods.
        PNP: remove deprecated IRQF_DISABLED
      70f6c087
    • Linus Torvalds's avatar
      Merge branch 'powernv-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · e6d9bfc6
      Linus Torvalds authored
      Pull powerpc non-virtualized cpuidle from Ben Herrenschmidt:
       "This is the branch I mentioned in my other pull request which contains
        our improved cpuidle support for the "powernv" platform
        (non-virtualized).
      
        It adds support for the "fast sleep" feature of the processor which
        provides higher power savings than our usual "nap" mode but at the
        cost of losing the timers while asleep, and thus exploits the new
        timer broadcast framework to work around that limitation.
      
        It's based on a tip timer tree that you seem to have already merged"
      
      * 'powernv-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        cpuidle/powernv: Parse device tree to setup idle states
        cpuidle/powernv: Add "Fast-Sleep" CPU idle state
        powerpc/powernv: Add OPAL call to resync timebase on wakeup
        powerpc/powernv: Add context management for Fast Sleep
        powerpc: Split timer_interrupt() into timer handling and interrupt handling routines
        powerpc: Implement tick broadcast IPI as a fixed IPI message
        powerpc: Free up the slot of PPC_MSG_CALL_FUNC_SINGLE IPI message
      e6d9bfc6
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 235c7b9f
      Linus Torvalds authored
      Pull main powerpc updates from Ben Herrenschmidt:
       "This time around, the powerpc merges are going to be a little bit more
        complicated than usual.
      
        This is the main pull request with most of the work for this merge
        window.  I will describe it a bit more further down.
      
        There is some additional cpuidle driver work, however I haven't
        included it in this tree as it depends on some work in tip/timer-core
        which Thomas accidentally forgot to put in a topic branch.  Since I
        didn't want to carry all of that tip timer stuff in powerpc -next, I
        setup a separate branch on top of Thomas tree with just that cpuidle
        driver in it, and Stephen has been carrying that in next separately
        for a while now.  I'll send a separate pull request for it.
      
        Additionally, two new pieces in this tree add users for a sysfs API
        that Tejun and Greg have been deprecating in drivers-core-next.
        Thankfully Greg reverted the patch that removes the old API so this
        merge can happen cleanly, but once merged, I will send a patch
        adjusting our new code to the new API so that Greg can send you the
        removal patch.
      
        Now as for the content of this branch, we have a lot of perf work for
        power8 new counters including support for our new "nest" counters
        (also called 24x7) under pHyp (not natively yet).
      
        We have new functionality when running under the OPAL firmware
        (non-virtualized or KVM host), such as access to the firmware error
        logs and service processor dumps, system parameters and sensors, along
        with a hwmon driver for the latter.
      
        There's also a bunch of bug fixes accross the board, some LE fixes,
        and a nice set of selftests for validating our various types of copy
        loops.
      
        On the Freescale side, we see mostly new chip/board revisions, some
        clock updates, better support for machine checks and debug exceptions,
        etc..."
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (70 commits)
        powerpc/book3s: Fix CFAR clobbering issue in machine check handler.
        powerpc/compat: 32-bit little endian machine name is ppcle, not ppc
        powerpc/le: Big endian arguments for ppc_rtas()
        powerpc: Use default set of netfilter modules (CONFIG_NETFILTER_ADVANCED=n)
        powerpc/defconfigs: Enable THP in pseries defconfig
        powerpc/mm: Make sure a local_irq_disable prevent a parallel THP split
        powerpc: Rate-limit users spamming kernel log buffer
        powerpc/perf: Fix handling of L3 events with bank == 1
        powerpc/perf/hv_{gpci, 24x7}: Add documentation of device attributes
        powerpc/perf: Add kconfig option for hypervisor provided counters
        powerpc/perf: Add support for the hv 24x7 interface
        powerpc/perf: Add support for the hv gpci (get performance counter info) interface
        powerpc/perf: Add macros for defining event fields & formats
        powerpc/perf: Add a shared interface to get gpci version and capabilities
        powerpc/perf: Add 24x7 interface headers
        powerpc/perf: Add hv_gpci interface header
        powerpc: Add hvcalls for 24x7 and gpci (Get Performance Counter Info)
        sysfs: create bin_attributes under the requested group
        powerpc/perf: Enable BHRB access for EBB events
        powerpc/perf: Add BHRB constraint and IFM MMCRA handling for EBB
        ...
      235c7b9f
    • Linus Torvalds's avatar
      Merge branch 'mips-for-linux-next' of git://git.linux-mips.org/pub/scm/ralf/upstream-sfr · bdfc7cbd
      Linus Torvalds authored
      Pull MIPS updates from Ralf Baechle:
       - Support for Imgtec's Aptiv family of MIPS cores.
       - Improved detection of BCM47xx configurations.
       - Fix hiberation for certain configurations.
       - Add support for the Chinese Loongson 3 CPU, a MIPS64 R2 core and
         systems.
       - Detection and support for the MIPS P5600 core.
       - A few more random fixes that didn't make 3.14.
       - Support for the EVA Extended Virtual Addressing
       - Switch Alchemy to the platform PATA driver
       - Complete unification of Alchemy support
       - Allow availability of I/O cache coherency to be runtime detected
       - Improvments to multiprocessing support for Imgtec platforms
       - A few microoptimizations
       - Cleanups of FPU support
       - Paul Gortmaker's fixes for the init stuff
       - Support for seccomp
      
      * 'mips-for-linux-next' of git://git.linux-mips.org/pub/scm/ralf/upstream-sfr: (165 commits)
        MIPS: CPC: Use __raw_ memory access functions
        MIPS: CM: use __raw_ memory access functions
        MIPS: Fix warning when including smp-ops.h with CONFIG_SMP=n
        MIPS: Malta: GIC IPIs may be used without MT
        MIPS: smp-mt: Use common GIC IPI implementation
        MIPS: smp-cmp: Remove incorrect core number probe
        MIPS: Fix gigaton of warning building with microMIPS.
        MIPS: Fix core number detection for MT cores
        MIPS: MT: core_nvpes function to retrieve VPE count
        MIPS: Provide empty mips_mt_set_cpuoptions when CONFIG_MIPS_MT=n
        MIPS: Lasat: Replace del_timer by del_timer_sync
        MIPS: Malta: Setup PM I/O region on boot
        MIPS: Loongson: Add a Loongson-3 default config file
        MIPS: Loongson 3: Add CPU hotplug support
        MIPS: Loongson 3: Add Loongson-3 SMP support
        MIPS: Loongson: Add Loongson-3 Kconfig options
        MIPS: Loongson: Add swiotlb to support All-Memory DMA
        MIPS: Loongson 3: Add serial port support
        MIPS: Loongson 3: Add IRQ init and dispatch support
        MIPS: Loongson 3: Add HT-linked PCI support
        ...
      bdfc7cbd
    • Josh Boyer's avatar
      arm64: Fix duplicated Kconfig entries again · 62d1a3ba
      Josh Boyer authored
      Commit 74397174 attempted to clean up the power management options
      for arm64, but when things were merged it didn't fully take effect.  Fix
      it again.
      Signed-off-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      62d1a3ba
    • Linus Torvalds's avatar
      Merge branch 'x86-nuke-platforms-for-linus' of... · 467cbd20
      Linus Torvalds authored
      Merge branch 'x86-nuke-platforms-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull x86 old platform removal from Peter Anvin:
       "This patchset removes support for several completely obsolete
        platforms, where the maintainers either have completely vanished or
        acked the removal.  For some of them it is questionable if there even
        exists functional specimens of the hardware"
      
      Geert Uytterhoeven apparently thought this was a April Fool's pull request ;)
      
      * 'x86-nuke-platforms-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, platforms: Remove NUMAQ
        x86, platforms: Remove SGI Visual Workstation
        x86, apic: Remove support for IBM Summit/EXA chipset
        x86, apic: Remove support for ia32-based Unisys ES7000
      467cbd20
    • Linus Torvalds's avatar
      Merge branch 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7125764c
      Linus Torvalds authored
      Pull compat time conversion changes from Peter Anvin:
       "Despite the branch name this is really neither an x86 nor an
        x32-specific patchset, although it the implementation of the
        discussions that followed the x32 security hole a few months ago.
      
        This removes get/put_compat_timespec/val() and replaces them with
        compat_get/put_timespec/val() which are savvy as to the current status
        of COMPAT_USE_64BIT_TIME.
      
        It removes several unused and/or incorrect/misleading functions (like
        compat_put_timeval_convert which doesn't in fact do any conversion)
        and also replaces several open-coded implementations what is now
        called compat_convert_timespec() with that function"
      
      * 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        compat: Fix sparse address space warnings
        compat: Get rid of (get|put)_compat_time(val|spec)
      7125764c
    • Linus Torvalds's avatar
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c6f21243
      Linus Torvalds authored
      Pull x86 vdso changes from Peter Anvin:
       "This is the revamp of the 32-bit vdso and the associated cleanups.
      
        This adds timekeeping support to the 32-bit vdso that we already have
        in the 64-bit vdso.  Although 32-bit x86 is legacy, it is likely to
        remain in the embedded space for a very long time to come.
      
        This removes the traditional COMPAT_VDSO support; the configuration
        variable is reused for simply removing the 32-bit vdso, which will
        produce correct results but obviously suffer a performance penalty.
        Only one beta version of glibc was affected, but that version was
        unfortunately included in one OpenSUSE release.
      
        This is not the end of the vdso cleanups.  Stefani and Andy have
        agreed to continue work for the next kernel cycle; in fact Andy has
        already produced another set of cleanups that came too late for this
        cycle.
      
        An incidental, but arguably important, change is that this ensures
        that unused space in the VVAR page is properly zeroed.  It wasn't
        before, and would contain whatever garbage was left in memory by BIOS
        or the bootloader.  Since the VVAR page is accessible to user space
        this had the potential of information leaks"
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        x86, vdso: Fix the symbol versions on the 32-bit vDSO
        x86, vdso, build: Don't rebuild 32-bit vdsos on every make
        x86, vdso: Actually discard the .discard sections
        x86, vdso: Fix size of get_unmapped_area()
        x86, vdso: Finish removing VDSO32_PRELINK
        x86, vdso: Move more vdso definitions into vdso.h
        x86: Load the 32-bit vdso in place, just like the 64-bit vdsos
        x86, vdso32: handle 32 bit vDSO larger one page
        x86, vdso32: Disable stack protector, adjust optimizations
        x86, vdso: Zero-pad the VVAR page
        x86, vdso: Add 32 bit VDSO time support for 64 bit kernel
        x86, vdso: Add 32 bit VDSO time support for 32 bit kernel
        x86, vdso: Patch alternatives in the 32-bit VDSO
        x86, vdso: Introduce VVAR marco for vdso32
        x86, vdso: Cleanup __vdso_gettimeofday()
        x86, vdso: Replace VVAR(vsyscall_gtod_data) by gtod macro
        x86, vdso: __vdso_clock_gettime() cleanup
        x86, vdso: Revamp vclock_gettime.c
        mm: Add new func _install_special_mapping() to mmap.c
        x86, vdso: Make vsyscall_gtod_data handling x86 generic
        ...
      c6f21243
    • Linus Torvalds's avatar
      Merge branch 'x86/boot' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9447dc43
      Linus Torvalds authored
      Pull x86 boot changes from Peter Anvin:
       "This patchset is a set of cleanups aiming at librarize some of the
        common code from the boot environments.  We currently have three
        different "little environments" (boot, boot/compressed, and
        realmode/rm) in x86, and we are likely to soon get a fourth one
        (kexec/purgatory, which will have to be integrated in the kernel to
        support secure kexec).  This is primarily a cleanup in the
        anticipation of the latter.
      
        While Vivek implemented this, he ran into some bugs, in particular the
        memcmp implementation for when gcc punts from using the builtin would
        have a misnamed symbol, causing compilation errors if we were ever
        unlucky enough that gcc didn't want to inline the test"
      
      * 'x86/boot' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, boot: Move memset() definition in compressed/string.c
        x86, boot: Move memcmp() into string.h and string.c
        x86, boot: Move optimized memcpy() 32/64 bit versions to compressed/string.c
        x86, boot: Create a separate string.h file to provide standard string functions
        x86, boot: Undef memcmp before providing a new definition
      9447dc43
    • Linus Torvalds's avatar
      Merge tag 'metag-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag · bb1775c9
      Linus Torvalds authored
      Pull Metag architecture changes from James Hogan:
       - Remove unused NUMA definition (SD_NODE_INIT)
       - Refactor signal code to use struct ksignal
       - IRQ migration cleanup to use irq_set_affinity
       - Clean up main Kconfig file a little
      
      * tag 'metag-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
        sched: remove unused SCHED_INIT_NODE
        metag: Use get_signal() signal_setup_done()
        metag: Fix METAG Kconfig symbol select ordering
        metag: Use irq_set_affinity instead of homebrewn code
      bb1775c9
    • Steven Rostedt (Red Hat)'s avatar
      x86: Fix dumpstack_64 irq stack handling · 63c95654
      Steven Rostedt (Red Hat) authored
      Commit 2223f6f6 "x86: Clean up dumpstack_64.c code" changed
      the irq_stack processing a little from what it was before.
      The irq_stack_end variable needed to be cleared after its first
      use. By setting irq_stack to the per cpu irq_stack and passing
      that to analyze_stack(), and then clearing it after it is processed,
      we can get back the original behavior.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      63c95654
    • Steven Rostedt (Red Hat)'s avatar
      x86: Fix dumpstack_64 to keep state of "used" variable in loop · 1aabc599
      Steven Rostedt (Red Hat) authored
      Commit 2223f6f6 "x86: Clean up dumpstack_64.c code" moved the used
      variable to a local within the loop, but the in_exception_stack()
      depended on being non-volatile with the ability to change it.
      
      By always re-initializing the "used" variable to zero, it would cause
      the in_exception_stack() to return the same thing each time, and
      cause the dump_stack loop to go into an infinite loop.
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1aabc599
    • Li Zhong's avatar
      sparse: fix comment · c800bcd5
      Li Zhong authored
      retmain -> remain
      Signed-off-by: default avatarLi Zhong <zhong@linux.vnet.ibm.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      c800bcd5
    • Linus Torvalds's avatar
      Merge branch 'for-3.15/drivers' of git://git.kernel.dk/linux-block · b33ce442
      Linus Torvalds authored
      Pull block driver update from Jens Axboe:
       "On top of the core pull request, here's the pull request for the
        driver related changes for 3.15.  It contains:
      
         - Improvements for msi-x registration for block drivers (mtip32xx,
           skd, cciss, nvme) from Alexander Gordeev.
      
         - A round of cleanups and improvements for drbd from Andreas
           Gruenbacher and Rashika Kheria.
      
         - A round of clanups and improvements for bcache from Kent.
      
         - Removal of sleep_on() and friends in DAC960, ataflop, swim3 from
           Arnd Bergmann.
      
         - Bug fix for a bug in the mtip32xx async completion code from Sam
           Bradshaw.
      
         - Bug fix for accidentally bouncing IO on 32-bit platforms with
           mtip32xx from Felipe Franciosi"
      
      * 'for-3.15/drivers' of git://git.kernel.dk/linux-block: (103 commits)
        bcache: remove nested function usage
        bcache: Kill bucket->gc_gen
        bcache: Kill unused freelist
        bcache: Rework btree cache reserve handling
        bcache: Kill btree_io_wq
        bcache: btree locking rework
        bcache: Fix a race when freeing btree nodes
        bcache: Add a real GC_MARK_RECLAIMABLE
        bcache: Add bch_keylist_init_single()
        bcache: Improve priority_stats
        bcache: Better alloc tracepoints
        bcache: Kill dead cgroup code
        bcache: stop moving_gc marking buckets that can't be moved.
        bcache: Fix moving_pred()
        bcache: Fix moving_gc deadlocking with a foreground write
        bcache: Fix discard granularity
        bcache: Fix another bug recovering from unclean shutdown
        bcache: Fix a bug recovering from unclean shutdown
        bcache: Fix a journalling reclaim after recovery bug
        bcache: Fix a null ptr deref in journal replay
        ...
      b33ce442
    • Linus Torvalds's avatar
      Merge branch 'for-3.15/core' of git://git.kernel.dk/linux-block · 7a488377
      Linus Torvalds authored
      Pull core block layer updates from Jens Axboe:
       "This is the pull request for the core block IO bits for the 3.15
        kernel.  It's a smaller round this time, it contains:
      
         - Various little blk-mq fixes and additions from Christoph and
           myself.
      
         - Cleanup of the IPI usage from the block layer, and associated
           helper code.  From Frederic Weisbecker and Jan Kara.
      
         - Duplicate code cleanup in bio-integrity from Gu Zheng.  This will
           give you a merge conflict, but that should be easy to resolve.
      
         - blk-mq notify spinlock fix for RT from Mike Galbraith.
      
         - A blktrace partial accounting bug fix from Roman Pen.
      
         - Missing REQ_SYNC detection fix for blk-mq from Shaohua Li"
      
      * 'for-3.15/core' of git://git.kernel.dk/linux-block: (25 commits)
        blk-mq: add REQ_SYNC early
        rt,blk,mq: Make blk_mq_cpu_notify_lock a raw spinlock
        blk-mq: support partial I/O completions
        blk-mq: merge blk_mq_insert_request and blk_mq_run_request
        blk-mq: remove blk_mq_alloc_rq
        blk-mq: don't dump CPU -> hw queue map on driver load
        blk-mq: fix wrong usage of hctx->state vs hctx->flags
        blk-mq: allow blk_mq_init_commands() to return failure
        block: remove old blk_iopoll_enabled variable
        blktrace: fix accounting of partially completed requests
        smp: Rename __smp_call_function_single() to smp_call_function_single_async()
        smp: Remove wait argument from __smp_call_function_single()
        watchdog: Simplify a little the IPI call
        smp: Move __smp_call_function_single() below its safe version
        smp: Consolidate the various smp_call_function_single() declensions
        smp: Teach __smp_call_function_single() to check for offline cpus
        smp: Remove unused list_head from csd
        smp: Iterate functions through llist_for_each_entry_safe()
        block: Stop abusing rq->csd.list in blk-softirq
        block: Remove useless IPI struct initialization
        ...
      7a488377
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 1a0b6aba
      Linus Torvalds authored
      Pull first round of SCSI updates from James Bottomley:
       "This patch consists of the usual driver updates (megaraid_sas,
        scsi_debug, qla2xxx, qla4xxx, lpfc, bnx2fc, be2iscsi, hpsa, ipr) plus
        an assortment of minor fixes and the first precursors of SCSI-MQ (the
        code path simplifications) and the bug fix for the USB oops on remove
        (which involves an infrastructure change, so is sent via the main tree
        with a delayed backport after a cycle in which it is shown to
        introduce no new bugs)"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (196 commits)
        [SCSI] sd: Quiesce mode sense error messages
        [SCSI] add support for per-host cmd pools
        [SCSI] simplify command allocation and freeing a bit
        [SCSI] megaraid: simplify internal command handling
        [SCSI] ses: Use vpd information from scsi_device
        [SCSI] Add EVPD page 0x83 and 0x80 to sysfs
        [SCSI] Return VPD page length in scsi_vpd_inquiry()
        [SCSI] scsi_sysfs: Implement 'is_visible' callback
        [SCSI] hpsa: update driver version to 3.4.4-1
        [SCSI] hpsa: fix bad endif placement in RAID 5 mapper code
        [SCSI] qla2xxx: Fix build errors related to invalid print fields on some architectures.
        [SCSI] bfa: Replace large udelay() with mdelay()
        [SCSI] vmw_pvscsi: Some improvements in pvscsi driver.
        [SCSI] vmw_pvscsi: Add support for I/O requests coalescing.
        [SCSI] vmw_pvscsi: Fix pvscsi_abort() function.
        [SCSI] remove deprecated IRQF_DISABLED from SCSI
        [SCSI] bfa: Updating Maintainers email ids
        [SCSI] ipr: Add new CCIN definition for Grand Canyon support
        [SCSI] ipr: Format HCAM overlay ID 0x21
        [SCSI] ipr: Use pci_enable_msi_range() and pci_enable_msix_range()
        ...
      1a0b6aba
    • Linus Torvalds's avatar
      Merge tag 'usb-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 3e75c6de
      Linus Torvalds authored
      Pull USB patches from Greg KH:
       "Here's the big USB pull request for 3.15-rc1.
      
        The normal set of patches, lots of controller driver updates, and a
        smattering of individual USB driver updates as well.
      
        All have been in linux-next for a while"
      
      * tag 'usb-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (249 commits)
        xhci: Transition maintainership to Mathias Nyman.
        USB: disable reset-resume when USB_QUIRK_RESET is set
        USB: unbind all interfaces before rebinding any
        usb: phy: Add ulpi IDs for SMSC USB3320 and TI TUSB1210
        usb: gadget: tcm_usb_gadget: stop format strings
        usb: gadget: f_fs: add missing spinlock and mutex unlock
        usb: gadget: composite: switch over to ERR_CAST()
        usb: gadget: inode: switch over to memdup_user()
        usb: gadget: f_subset: switch over to PTR_RET
        usb: gadget: lpc32xx_udc: fix wrong clk_put() sequence
        USB: keyspan: remove dead debugging code
        USB: serial: add missing newlines to dev_<level> messages.
        USB: serial: add missing braces
        USB: serial: continue to write on errors
        USB: serial: continue to read on errors
        USB: serial: make bulk_out_size a lower limit
        USB: cypress_m8: fix potential scheduling while atomic
        devicetree: bindings: document lsi,zevio-usb
        usb: chipidea: add support for USB OTG controller on LSI Zevio SoCs
        usb: chipidea: imx: Use dev_name() for ci_hdrc name to distinguish USBs
        ...
      3e75c6de
  3. 01 Apr, 2014 3 commits
    • Linus Torvalds's avatar
      Merge tag 'tty-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · cb159556
      Linus Torvalds authored
      Pull tty/serial driver update from Greg KH:
       "Here's the big tty/serial driver update for 3.15-rc1.
      
        Nothing major, a number of serial driver updates and a few tty core
        fixes as well.
      
        All have been in linux-next for a while"
      
      * tag 'tty-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (71 commits)
        tty/serial: omap: empty the RX FIFO at the end of half-duplex TX
        tty/serial: omap: fix RX interrupt enable/disable in half-duplex TX
        serial: sh-sci: Neaten dev_<level> uses
        serial: sh-sci: Replace hardcoded 3 by UART_PM_STATE_OFF
        serial: sh-sci: Add more register documentation
        serial: sh-sci: Remove useless casts
        serial: sh-sci: Replace printk() by pr_*()
        serial_core: Avoid NULL pointer dereference in uart_close()
        serial_core: Get a reference for port->tty in uart_remove_one_port()
        serial: clps711x: Give a chance to perform useful tasks during wait loop
        serial_core: Grammar s/ports/port's/
        serial_core: Spelling s/contro/control/
        serial: efm32: properly namespace location property
        serial: max310x: Add missing #include <linux/uaccess.h>
        synclink: fix info leak in ioctl
        serial: 8250: Clean up the locking for -rt
        serial: 8250_pci: change BayTrail default uartclk
        serial: 8250_pci: more BayTrail error-free bauds
        serial: sh-sci: Add missing call to uart_remove_one_port() in failure path
        serial_core: Unregister console in uart_remove_one_port()
        ...
      cb159556
    • Linus Torvalds's avatar
      Merge tag 'staging-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · c12e69c6
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here's the huge drivers/staging/ update for 3.15-rc1.
      
        Loads of cleanup fixes, a few drivers removed, and some new ones
        added.
      
        All have been in linux-next for a while"
      
      * tag 'staging-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1375 commits)
        staging: xillybus: XILLYBUS_PCIE depends on PCI_MSI
        staging: xillybus: Added "select CRC32" for XILLYBUS in Kconfig
        staging: comedi: poc: remove obsolete driver
        staging: unisys: replace kzalloc/kfree with UISMALLOC/UISFREE
        staging: octeon-usb: prevent memory corruption
        staging: usbip: fix line over 80 characters
        staging: usbip: fix quoted string split across lines
        Staging: unisys: Remove RETINT macro
        Staging: unisys: Remove FAIL macro
        Staging: unisys: Remove RETVOID macro
        Staging: unisys: Remove RETPTR macro
        Staging: unisys: Remove RETBOOL macro
        Staging: unisys: Remove FAIL_WPOSTCODE_1 macro
        Staging: unisys: Cleanup macros to get rid of goto statements
        Staging: unisys: include: Remove unused macros from timskmod.h
        staging: dgap: fix the rest of the checkpatch warnings in dgap.c
        Staging: bcm: Remove unnecessary parentheses
        staging: wlags49_h2: Delete unnecessary braces
        staging: wlags49_h2: Do not use assignment in if condition
        staging: wlags49_h2: Enclose macro in a do-while loop
        ...
      c12e69c6
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.15-rc1' of... · 158e0d36
      Linus Torvalds authored
      Merge tag 'driver-core-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core and sysfs updates from Greg KH:
       "Here's the big driver core / sysfs update for 3.15-rc1.
      
        Lots of kernfs updates to make it useful for other subsystems, and a
        few other tiny driver core patches.
      
        All have been in linux-next for a while"
      
      * tag 'driver-core-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (42 commits)
        Revert "sysfs, driver-core: remove unused {sysfs|device}_schedule_callback_owner()"
        kernfs: cache atomic_write_len in kernfs_open_file
        numa: fix NULL pointer access and memory leak in unregister_one_node()
        Revert "driver core: synchronize device shutdown"
        kernfs: fix off by one error.
        kernfs: remove duplicate dir.c at the top dir
        x86: align x86 arch with generic CPU modalias handling
        cpu: add generic support for CPU feature based module autoloading
        sysfs: create bin_attributes under the requested group
        driver core: unexport static function create_syslog_header
        firmware: use power efficient workqueue for unloading and aborting fw load
        firmware: give a protection when map page failed
        firmware: google memconsole driver fixes
        firmware: fix google/gsmi duplicate efivars_sysfs_init()
        drivers/base: delete non-required instances of include <linux/init.h>
        kernfs: fix kernfs_node_from_dentry()
        ACPI / platform: drop redundant ACPI_HANDLE check
        kernfs: fix hash calculation in kernfs_rename_ns()
        kernfs: add CONFIG_KERNFS
        sysfs, kobject: add sysfs wrapper for kernfs_enable_ns()
        ...
      158e0d36