1. 26 Dec, 2012 2 commits
  2. 24 Dec, 2012 1 commit
    • Pablo Neira Ayuso's avatar
      netfilter: xt_CT: recover NOTRACK target support · 10db9069
      Pablo Neira Ayuso authored
      Florian Westphal reported that the removal of the NOTRACK target
      (96550501 netfilter: remove xt_NOTRACK) is breaking some existing
      setups.
      
      That removal was scheduled for removal since long time ago as
      described in Documentation/feature-removal-schedule.txt
      
      What:  xt_NOTRACK
      Files: net/netfilter/xt_NOTRACK.c
      When:  April 2011
      Why:   Superseded by xt_CT
      
      Still, people may have not notice / may have decided to stick to an
      old iptables version. I agree with him in that some more conservative
      approach by spotting some printk to warn users for some time is less
      agressive.
      
      Current iptables 1.4.16.3 already contains the aliasing support
      that makes it point to the CT target, so upgrading would fix it.
      Still, the policy so far has been to avoid pushing our users to
      upgrade.
      
      As a solution, this patch recovers the NOTRACK target inside the CT
      target and it now spots a warning.
      Reported-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      10db9069
  3. 17 Dec, 2012 1 commit
  4. 16 Dec, 2012 13 commits
    • Pablo Neira Ayuso's avatar
      netfilter: xt_CT: fix crash while destroy ct templates · 252b3e8c
      Pablo Neira Ayuso authored
      In (d871befe netfilter: ctnetlink: dump entries from the dying and
      unconfirmed lists), we assume that all conntrack objects are
      inserted in any of the existing lists. However, template conntrack
      objects were not. This results in hitting BUG_ON in the
      destroy_conntrack path while removing a rule that uses the CT target.
      
      This patch fixes the situation by adding the template lists, which
      is where template conntrack objects reside now.
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      252b3e8c
    • Bob Hockney's avatar
      netfilter: nfnetlink_log: fix mac address for 6in4 tunnels · 0c36b48b
      Bob Hockney authored
      For tunnelled ipv6in4 packets, the LOG target (xt_LOG.c) adjusts
      the start of the mac field to start at the ethernet header instead
      of the ipv4 header for the tunnel. This patch conforms what is
      passed by the NFLOG target through nfnetlink to what the LOG target
      does. Code borrowed from xt_LOG.c.
      Signed-off-by: default avatarBob Hockney <bhockney@ix.netcom.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      0c36b48b
    • Haibo Xi's avatar
      netfilter: nf_ct_reasm: fix conntrack reassembly expire code · 97cf00e9
      Haibo Xi authored
      Commit b836c99f (ipv6: unify conntrack reassembly expire
      code with standard one) use the standard IPv6 reassembly
      code(ip6_expire_frag_queue) to handle conntrack reassembly expire.
      
      In ip6_expire_frag_queue, it invoke dev_get_by_index_rcu to get
      which device received this expired packet.so we must save ifindex
      when NF_conntrack get this packet.
      
      With this patch applied, I can see ICMP Time Exceeded sent
      from the receiver when the sender sent out 1/2 fragmented
      IPv6 packet.
      Signed-off-by: default avatarHaibo Xi <haibbo@gmail.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      97cf00e9
    • Florent Fourcot's avatar
      d7a769ff
    • Andrew Collins's avatar
      netfilter: nf_nat: Also handle non-ESTABLISHED routing changes in MASQUERADE · c65ef8dc
      Andrew Collins authored
      Since (a0ecb85a netfilter: nf_nat: Handle routing changes in MASQUERADE
      target), the MASQUERADE target handles routing changes which affect
      the output interface of a connection, but only for ESTABLISHED
      connections.  It is also possible for NEW connections which
      already have a conntrack entry to be affected by routing changes.
      
      This adds a check to drop entries in the NEW+conntrack state
      when the oif has changed.
      Signed-off-by: default avatarAndrew Collins <bsderandrew@gmail.com>
      Acked-by: default avatarJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      c65ef8dc
    • Mukund Jampala's avatar
      netfilter: ip[6]t_REJECT: fix wrong transport header pointer in TCP reset · c6f40899
      Mukund Jampala authored
      The problem occurs when iptables constructs the tcp reset packet.
      It doesn't initialize the pointer to the tcp header within the skb.
      When the skb is passed to the ixgbe driver for transmit, the ixgbe
      driver attempts to access the tcp header and crashes.
      Currently, other drivers (such as our 1G e1000e or igb drivers) don't
      access the tcp header on transmit unless the TSO option is turned on.
      
      <1>BUG: unable to handle kernel NULL pointer dereference at 0000000d
      <1>IP: [<d081621c>] ixgbe_xmit_frame_ring+0x8cc/0x2260 [ixgbe]
      <4>*pdpt = 0000000085e5d001 *pde = 0000000000000000
      <0>Oops: 0000 [#1] SMP
      [...]
      <4>Pid: 0, comm: swapper Tainted: P            2.6.35.12 #1 Greencity/Thurley
      <4>EIP: 0060:[<d081621c>] EFLAGS: 00010246 CPU: 16
      <4>EIP is at ixgbe_xmit_frame_ring+0x8cc/0x2260 [ixgbe]
      <4>EAX: c7628820 EBX: 00000007 ECX: 00000000 EDX: 00000000
      <4>ESI: 00000008 EDI: c6882180 EBP: dfc6b000 ESP: ced95c48
      <4> DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
      <0>Process swapper (pid: 0, ti=ced94000 task=ced73bd0 task.ti=ced94000)
      <0>Stack:
      <4> cbec7418 c779e0d8 c77cc888 c77cc8a8 0903010a 00000000 c77c0008 00000002
      <4><0> cd4997c0 00000010 dfc6b000 00000000 d0d176c9 c77cc8d8 c6882180 cbec7318
      <4><0> 00000004 00000004 cbec7230 cbec7110 00000000 cbec70c0 c779e000 00000002
      <0>Call Trace:
      <4> [<d0d176c9>] ? 0xd0d176c9
      <4> [<d0d18a4d>] ? 0xd0d18a4d
      <4> [<411e243e>] ? dev_hard_start_xmit+0x218/0x2d7
      <4> [<411f03d7>] ? sch_direct_xmit+0x4b/0x114
      <4> [<411f056a>] ? __qdisc_run+0xca/0xe0
      <4> [<411e28b0>] ? dev_queue_xmit+0x2d1/0x3d0
      <4> [<411e8120>] ? neigh_resolve_output+0x1c5/0x20f
      <4> [<411e94a1>] ? neigh_update+0x29c/0x330
      <4> [<4121cf29>] ? arp_process+0x49c/0x4cd
      <4> [<411f80c9>] ? nf_hook_slow+0x3f/0xac
      <4> [<4121ca8d>] ? arp_process+0x0/0x4cd
      <4> [<4121ca8d>] ? arp_process+0x0/0x4cd
      <4> [<4121c6d5>] ? T.901+0x38/0x3b
      <4> [<4121c918>] ? arp_rcv+0xa3/0xb4
      <4> [<4121ca8d>] ? arp_process+0x0/0x4cd
      <4> [<411e1173>] ? __netif_receive_skb+0x32b/0x346
      <4> [<411e19e1>] ? netif_receive_skb+0x5a/0x5f
      <4> [<411e1ea9>] ? napi_skb_finish+0x1b/0x30
      <4> [<d0816eb4>] ? ixgbe_xmit_frame_ring+0x1564/0x2260 [ixgbe]
      <4> [<41013468>] ? lapic_next_event+0x13/0x16
      <4> [<410429b2>] ? clockevents_program_event+0xd2/0xe4
      <4> [<411e1b03>] ? net_rx_action+0x55/0x127
      <4> [<4102da1a>] ? __do_softirq+0x77/0xeb
      <4> [<4102dab1>] ? do_softirq+0x23/0x27
      <4> [<41003a67>] ? do_IRQ+0x7d/0x8e
      <4> [<41002a69>] ? common_interrupt+0x29/0x30
      <4> [<41007bcf>] ? mwait_idle+0x48/0x4d
      <4> [<4100193b>] ? cpu_idle+0x37/0x4c
      <0>Code: df 09 d7 0f 94 c2 0f b6 d2 e9 e7 fb ff ff 31 db 31 c0 e9 38
      ff ff ff 80 78 06 06 0f 85 3e fb ff ff 8b 7c 24 38 8b 8f b8 00 00 00
      <0f> b6 51 0d f6 c2 01 0f 85 27 fb ff ff 80 e2 02 75 0d 8b 6c 24
      <0>EIP: [<d081621c>] ixgbe_xmit_frame_ring+0x8cc/0x2260 [ixgbe] SS:ESP
      Signed-off-by: default avatarMukund Jampala <jbmukund@gmail.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      c6f40899
    • Simon Arlott's avatar
      ipv6: Fix Makefile offload objects · df484191
      Simon Arlott authored
      The following commit breaks IPv6 TCP transmission for me:
      	Commit 75fe83c3
      	Author: Vlad Yasevich <vyasevic@redhat.com>
      	Date:   Fri Nov 16 09:41:21 2012 +0000
      	ipv6: Preserve ipv6 functionality needed by NET
      
      This patch fixes the typo "ipv6_offload" which should be
      "ipv6-offload".
      
      I don't know why not including the offload modules should
      break TCP. Disabling all offload options on the NIC didn't
      help. Outgoing pulseaudio traffic kept stalling.
      Signed-off-by: default avatarSimon Arlott <simon@fire.lp0.eu>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      df484191
    • Daniel Borkmann's avatar
      sctp: jsctp_sf_eat_sack: fix jprobes function signature mismatch · 4cb9d6ea
      Daniel Borkmann authored
      Commit 24cb81a6 (sctp: Push struct net down into all of the
      state machine functions) introduced the net structure into all
      state machine functions, but jsctp_sf_eat_sack was not updated,
      hence when SCTP association probing is enabled in the kernel,
      any simple SCTP client/server program from userspace will panic
      the kernel.
      
      Cc: Vlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4cb9d6ea
    • Amerigo Wang's avatar
      bridge: add flags to distinguish permanent mdb entires · ccb1c31a
      Amerigo Wang authored
      This patch adds a flag to each mdb entry, so that we can distinguish
      permanent entries with temporary entries.
      
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Stephen Hemminger <shemminger@vyatta.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: default avatarCong Wang <amwang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ccb1c31a
    • Amerigo Wang's avatar
      bridge: update selinux perm table for RTM_NEWMDB and RTM_DELMDB · 9dd9ff99
      Amerigo Wang authored
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Stephen Hemminger <shemminger@vyatta.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: default avatarCong Wang <amwang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9dd9ff99
    • Neil Horman's avatar
      sctp: Change defaults on cookie hmac selection · 0d0863b0
      Neil Horman authored
      Recently I posted commit 3c68198e which made selection of the cookie hmac
      algorithm selectable.  This is all well and good, but Linus noted that it
      changes the default config:
      http://marc.info/?l=linux-netdev&m=135536629004808&w=2
      
      I've modified the sctp Kconfig file to reflect the recommended way of making
      this choice, using the thermal driver example specified, and brought the
      defaults back into line with the way they were prior to my origional patch
      
      Also, on Linus' suggestion, re-adding ability to select default 'none' hmac
      algorithm, so we don't needlessly bloat the kernel by forcing a non-none
      default.  This also led me to note that we won't honor the default none
      condition properly because of how sctp_net_init is encoded.  Fix that up as
      well.
      
      Tested by myself (allbeit fairly quickly).  All configuration combinations seems
      to work soundly.
      Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      CC: David Miller <davem@davemloft.net>
      CC: Linus Torvalds <torvalds@linux-foundation.org>
      CC: Vlad Yasevich <vyasevich@gmail.com>
      CC: linux-sctp@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0d0863b0
    • Dan Williams's avatar
      i2400m: add Intel 6150 device IDs · 999a7c57
      Dan Williams authored
      Add device IDs for WiMAX function of Intel 6150 cards.
      Signed-off-by: default avatarDan Williams <dcbw@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      999a7c57
    • Marc Kleine-Budde's avatar
      can: sja1000: fix compilation on x86 · 50077cd2
      Marc Kleine-Budde authored
      Since commit:
      04df2510 can: sja1000: Make sja1000_of_platform selectable and compilable on SPARC
      the driver can be activated on non powerpc platform like x86 or sparc. Without
      this patch the driver fails to compile on platform that don't define NO_IRQ,
      like x86.
      Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Andreas Larsson <andreas@gaisler.com>
      Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      50077cd2
  5. 14 Dec, 2012 19 commits
    • Tony Lindgren's avatar
      cpts: Fix build error caused by include of plat/clock.h · e133b539
      Tony Lindgren authored
      Commit 87c0e764 (cpts: introduce time stamping code and a PTP hardware clock)
      mistakenly included plat/clock.h that should not be included by drivers
      even if it exists.
      
      Otherwise we get the following error with at least omap2plus_defconfig:
      
      drivers/net/ethernet/ti/cpts.c:30:24: error: plat/clock.h: No such file or directory
      
      Signed-off-by: Tony Lindgren <tony@atomide.com
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e133b539
    • Christoph Paasch's avatar
      inet: Fix kmemleak in tcp_v4/6_syn_recv_sock and dccp_v4/6_request_recv_sock · e337e24d
      Christoph Paasch authored
      If in either of the above functions inet_csk_route_child_sock() or
      __inet_inherit_port() fails, the newsk will not be freed:
      
      unreferenced object 0xffff88022e8a92c0 (size 1592):
        comm "softirq", pid 0, jiffies 4294946244 (age 726.160s)
        hex dump (first 32 bytes):
          0a 01 01 01 0a 01 01 02 00 00 00 00 a7 cc 16 00  ................
          02 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
        backtrace:
          [<ffffffff8153d190>] kmemleak_alloc+0x21/0x3e
          [<ffffffff810ab3e7>] kmem_cache_alloc+0xb5/0xc5
          [<ffffffff8149b65b>] sk_prot_alloc.isra.53+0x2b/0xcd
          [<ffffffff8149b784>] sk_clone_lock+0x16/0x21e
          [<ffffffff814d711a>] inet_csk_clone_lock+0x10/0x7b
          [<ffffffff814ebbc3>] tcp_create_openreq_child+0x21/0x481
          [<ffffffff814e8fa5>] tcp_v4_syn_recv_sock+0x3a/0x23b
          [<ffffffff814ec5ba>] tcp_check_req+0x29f/0x416
          [<ffffffff814e8e10>] tcp_v4_do_rcv+0x161/0x2bc
          [<ffffffff814eb917>] tcp_v4_rcv+0x6c9/0x701
          [<ffffffff814cea9f>] ip_local_deliver_finish+0x70/0xc4
          [<ffffffff814cec20>] ip_local_deliver+0x4e/0x7f
          [<ffffffff814ce9f8>] ip_rcv_finish+0x1fc/0x233
          [<ffffffff814cee68>] ip_rcv+0x217/0x267
          [<ffffffff814a7bbe>] __netif_receive_skb+0x49e/0x553
          [<ffffffff814a7cc3>] netif_receive_skb+0x50/0x82
      
      This happens, because sk_clone_lock initializes sk_refcnt to 2, and thus
      a single sock_put() is not enough to free the memory. Additionally, things
      like xfrm, memcg, cookie_values,... may have been initialized.
      We have to free them properly.
      
      This is fixed by forcing a call to tcp_done(), ending up in
      inet_csk_destroy_sock, doing the final sock_put(). tcp_done() is necessary,
      because it ends up doing all the cleanup on xfrm, memcg, cookie_values,
      xfrm,...
      
      Before calling tcp_done, we have to set the socket to SOCK_DEAD, to
      force it entering inet_csk_destroy_sock. To avoid the warning in
      inet_csk_destroy_sock, inet_num has to be set to 0.
      As inet_csk_destroy_sock does a dec on orphan_count, we first have to
      increase it.
      
      Calling tcp_done() allows us to remove the calls to
      tcp_clear_xmit_timer() and tcp_cleanup_congestion_control().
      
      A similar approach is taken for dccp by calling dccp_done().
      
      This is in the kernel since 093d2823 (tproxy: fix hash locking issue
      when using port redirection in __inet_inherit_port()), thus since
      version >= 2.6.37.
      Signed-off-by: default avatarChristoph Paasch <christoph.paasch@uclouvain.be>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e337e24d
    • Duan Jiong's avatar
      ipv6: Change skb->data before using icmpv6_notify() to propagate redirect · 093d04d4
      Duan Jiong authored
      In function ndisc_redirect_rcv(), the skb->data points to the transport
      header, but function icmpv6_notify() need the skb->data points to the
      inner IP packet. So before using icmpv6_notify() to propagate redirect,
      change skb->data to point the inner IP packet that triggered the sending
      of the Redirect, and introduce struct rd_msg to make it easy.
      Signed-off-by: default avatarDuan Jiong <djduanjiong@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      093d04d4
    • Konstantin Khlebnikov's avatar
      mac802154: fix destructon ordering for ieee802154 devices · 1e9f9545
      Konstantin Khlebnikov authored
      mutex_destroy() must be called before wpan_phy_free(), because it puts the last
      reference and frees memory. Catched as overwritten poison in kmalloc-2048.
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
      Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: linux-zigbee-devel@lists.sourceforge.net
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1e9f9545
    • Konstantin Khlebnikov's avatar
      bonding: do not cancel works in bond_uninit() · cfb6f99d
      Konstantin Khlebnikov authored
      Bonding initializes these works in bond_open() and cancels in bond_close(),
      thus in bond_uninit() they are already canceled but may be unitialized yet.
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Nikolay Aleksandrov <nikolay@redhat.com>
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Cc: Andy Gospodarek <andy@greyhouse.net>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cfb6f99d
    • Konstantin Khlebnikov's avatar
      stmmac: fix platform driver unregistering · 493682b8
      Konstantin Khlebnikov authored
      This patch fixes platform device drivers unregistering and adds proper error
      handing on module loading.
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      493682b8
    • Konstantin Khlebnikov's avatar
      mISDN: fix race in timer canceling on module unloading · 4a0ae7b0
      Konstantin Khlebnikov authored
      Using timer_pending() without additional syncronization is racy,
      del_timer_sync() must be used here for waiting in-flight handler.
      Bug caught with help from "debug-objects" during random insmod/rmmod.
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Karsten Keil <isdn@linux-pingi.de>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: netdev <netdev@vger.kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4a0ae7b0
    • Jason Wang's avatar
      tuntap: fix ambigious multiqueue API · 4008e97f
      Jason Wang authored
      The current multiqueue API is ambigious which may confuse both user and LSM to
      do things correctly:
      
      - Both TUNSETIFF and TUNSETQUEUE could be used to create the queues of a tuntap
        device.
      - TUNSETQUEUE were used to disable and enable a specific queue of the
        device. But since the state of tuntap were completely removed from the queue,
        it could be used to attach to another device (there's no such kind of
        requirement currently, and it needs new kind of LSM policy.
      - TUNSETQUEUE could be used to attach to a persistent device without any
        queues. This kind of attching bypass the necessary checking during TUNSETIFF
        and may lead unexpected result.
      
      So this patch tries to make a cleaner and simpler API by:
      
      - Only allow TUNSETIFF to create queues.
      - TUNSETQUEUE could be only used to disable and enabled the queues of a device,
        and the state of the tuntap device were not detachd from the queues when it
        was disabled, so TUNSETQUEUE could be only used after TUNSETIFF and with the
         same device.
      
      This is done by introducing a list which keeps track of all queues which were
      disabled. The queue would be moved between this list and tfiles[] array when it
      was enabled/disabled. A pointer of the tun_struct were also introdued to track
      the device it belongs to when it was disabled.
      
      After the change, the isolation between management and application could be done
      through: TUNSETIFF were only called by management software and TUNSETQUEUE were
      only called by application.For LSM/SELinux, the things left is to do proper
      check during tun_set_queue() if needed.
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4008e97f
    • Ang Way Chuang's avatar
      bridge: remove temporary variable for MLDv2 maximum response code computation · 8fa45a70
      Ang Way Chuang authored
      As suggested by Stephen Hemminger, this remove the temporary variable
      introduced in commit eca2a43b
      ("bridge: fix icmpv6 endian bug and other sparse warnings")
      Signed-off-by: default avatarAng Way Chuang <wcang@sfc.wide.ad.jp>
      Acked-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8fa45a70
    • Linus Torvalds's avatar
      Revert "sched: Update_cfs_shares at period edge" · 17bc14b7
      Linus Torvalds authored
      This reverts commit f269ae04.
      
      It turns out it causes a very noticeable interactivity regression with
      CONFIG_SCHED_AUTOGROUP (test-case: "make -j32" of the kernel in a
      terminal window, while scrolling in a browser - the autogrouping means
      that the two end up in separate cgroups, and the browser should be
      smooth as silk despite the high load).
      
      Says Paul Turner:
       "It seems that the update-throttling on the wake-side is reducing the
        interactive tasks' ability to preempt.  While I suspect the right
        longer term answer here is force these updates only in the
        cross-cgroup case; this is less trivial.  For this release I believe
        the right answer is either going to be a revert or restore the updates
        on the enqueue-side."
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Bisected-by: default avatarMike Galbraith <efault@gmx.de>
      Acked-by: default avatarPaul Turner <pjt@google.com>
      Acked-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      17bc14b7
    • Linus Torvalds's avatar
      Merge tag 'for-v3.8-merged' of git://git.infradead.org/battery-2.6 · 7313264b
      Linus Torvalds authored
      Pull battery subsystem updates from Anton Vorontsov:
       "Highlights:
      
         - Two new drivers from Pali Rohár and N900 hackers: rx51_battery and
           bq2415x_charger.  The drivers are a part of a solution to replace
           the proprietary Nokia BME stack
      
         - Power supply core now registers devices with a thermal cooling
           subsystem, so we can now automatically throttle charging.  Thanks
           to Ramakrishna Pallala!
      
         - Device tree support for ab8500 and max8925_power drivers
      
         - Random fixups and enhancements for a bunch of drivers."
      
      * tag 'for-v3.8-merged' of git://git.infradead.org/battery-2.6: (22 commits)
        max8925_power: Add support for device-tree initialization
        ab8500: Add devicetree support for chargalg
        ab8500: Add devicetree support for charger
        ab8500: Add devicetree support for btemp
        ab8500: Add devicetree support for fuelgauge
        twl4030_charger: Change TWL4030_MODULE_* ids to TWL_MODULE_*
        jz4740-battery: Use devm_request_and_ioremap
        jz4740-battery: Use devm_kzalloc
        bq27x00_battery: Fixup nominal available capacity reporting
        bq2415x_charger: Fix style issues
        bq2415x_charger: Add Kconfig/Makefile entries
        power_supply: Add bq2415x charger driver
        power_supply: Add new Nokia RX-51 (N900) power supply battery driver
        max17042_battery: Fix missing verify_model_lock() return value check
        ds2782_battery: Fix signedness bug in ds278x_read_reg16()
        lp8788-charger: Fix ADC channel names
        lp8788-charger: Fix wrong ADC conversion
        lp8788-charger: Use consumer device name on setting IIO channels
        power_supply: Register power supply for thermal cooling device
        power_supply: Add support for CHARGE_CONTROL_* attributes
        ...
      7313264b
    • Linus Torvalds's avatar
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · d8c532c4
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - Missing MAINTAINERS entries were added for several drivers
      
       - Adds V4L2 support for DMABUF handling, allowing zero-copy buffer
         sharing between V4L2 devices and GPU
      
       - Got rid of all warnings when compiling with W=1 on x86
      
       - Add a new driver for Exynos hardware (s3c-camif)
      
       - Several bug fixes, cleanups and driver improvements
      
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (243 commits)
        [media] omap3isp: Replace cpu_is_omap3630() with ISP revision check
        [media] omap3isp: Prepare/unprepare clocks before/after enable/disable
        [media] omap3isp: preview: Add support for 8-bit formats at the sink pad
        [media] omap3isp: Replace printk with dev_*
        [media] omap3isp: Find source pad from external entity
        [media] omap3isp: Configure CSI-2 phy based on platform data
        [media] omap3isp: Add PHY routing configuration
        [media] omap3isp: Add CSI configuration registers from control block to ISP resources
        [media] omap3isp: Remove unneeded module memory address definitions
        [media] omap3isp: Use monotonic timestamps for statistics buffers
        [media] uvcvideo: Fix control value clamping for unsigned integer controls
        [media] uvcvideo: Mark first output terminal as default video node
        [media] uvcvideo: Add VIDIOC_[GS]_PRIORITY support
        [media] uvcvideo: Return -ENOTTY for unsupported ioctls
        [media] uvcvideo: Set device_caps in VIDIOC_QUERYCAP
        [media] uvcvideo: Don't fail when an unsupported format is requested
        [media] uvcvideo: Return -EACCES when trying to access a read/write-only control
        [media] uvcvideo: Set error_idx properly for extended controls API failures
        [media] rtl28xxu: add NOXON DAB/DAB+ USB dongle rev 2
        [media] fc2580: write some registers conditionally
        ...
      d8c532c4
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · e777d192
      Linus Torvalds authored
      Pull first round of SCSI updates from James Bottomley:
       "This patch set includes two large new drivers: mpt3sas (for the next
        gen fusion SAS hardware) and csiostor a FCoE offload driver for the
        Chelsio converged network cards (this includes some net changes which
        I've OK'd with DaveM).
      
        The rest of the patch is driver updates (qla2xxx, lpfc, hptiop,
        be2iscsi) plus a few assorted updates and bug fixes.
      
        We also have a Power Management rework in the Upper Layer Drivers
        preparatory to doing ACPI zero power optical devices, but the actual
        enabler is still being worked on.
      
        Signed-off-by: James Bottomley <JBottomley@Parallels.com>"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (72 commits)
        [SCSI] mpt3sas: add new driver supporting 12GB SAS
        [SCSI] scsi_transport_sas: add 12GB definitions for mpt3sas
        [SCSI] miscdevice: Adding support for MPT3SAS_MINOR(222)
        [SCSI] csiostor: remove unneeded memset()
        [SCSI] csiostor: Fix sparse warnings.
        [SCSI] qla2xxx: Display that driver is operating in legacy interrupt mode.
        [SCSI] qla2xxx: Dont clear drv active on iospace config failure.
        [SCSI] qla2xxx: Fix typo in qla2xxx driver.
        [SCSI] qla2xxx: Update ql2xextended_error_logging parameter description with new option.
        [SCSI] qla2xxx: Parameterize the link speed of hba rather than fcport.
        [SCSI] qla2xxx: Add 16Gb/s case to get port speed capability.
        [SCSI] qla2xxx: Move marking fcport online ahead of setting iiDMA speed.
        [SCSI] qla2xxx: Add acquiring of risc semaphore before doing ISP reset.
        [SCSI] qla2xxx: Ignore driver ack bit if corresponding presence bit is not set.
        [SCSI] qla2xxx: Fix typo in qla83xx_fw_dump function.
        [SCSI] qla2xxx: Add Gen3 PCIe speed 8GT/s to the log message.
        [SCSI] qla2xxx: Use correct Request-Q-Out register during bidirectional request processing
        [SCSI] qla2xxx: Move noisy Start scsi failed messages to verbose logging level.
        [SCSI] qla2xxx: Fix coccinelle warnings in qla2x00_relogin.
        [SCSI] qla2xxx: No fcport FC-4 type assignment in GA_NXT response.
        ...
      e777d192
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · f132c54e
      Linus Torvalds authored
      Pull infiniband upate from Roland Dreier:
       "First batch of InfiniBand/RDMA changes for the 3.8 merge window:
         - A good chunk of Bart Van Assche's SRP fixes
         - UAPI disintegration from David Howells
         - mlx4 support for "64-byte CQE" hardware feature from Or Gerlitz
         - Other miscellaneous fixes"
      
      Fix up trivial conflict in mellanox/mlx4 driver.
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (33 commits)
        RDMA/nes: Fix for crash when registering zero length MR for CQ
        RDMA/nes: Fix for terminate timer crash
        RDMA/nes: Fix for BUG_ON due to adding already-pending timer
        IB/srp: Allow SRP disconnect through sysfs
        srp_transport: Document sysfs attributes
        srp_transport: Simplify attribute initialization code
        srp_transport: Fix attribute registration
        IB/srp: Document sysfs attributes
        IB/srp: send disconnect request without waiting for CM timewait exit
        IB/srp: destroy and recreate QP and CQs when reconnecting
        IB/srp: Eliminate state SRP_TARGET_DEAD
        IB/srp: Introduce the helper function srp_remove_target()
        IB/srp: Suppress superfluous error messages
        IB/srp: Process all error completions
        IB/srp: Introduce srp_handle_qp_err()
        IB/srp: Simplify SCSI error handling
        IB/srp: Keep processing commands during host removal
        IB/srp: Eliminate state SRP_TARGET_CONNECTING
        IB/srp: Increase block layer timeout
        RDMA/cm: Change return value from find_gid_port()
        ...
      f132c54e
    • Linus Torvalds's avatar
      Merge tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6 · d3b43e12
      Linus Torvalds authored
      Pull SPI updates from Grant Likely:
       "Primarily SPI device driver bug fixes, one removal of an old driver,
        and some new tegra support.  There is some core code change too, but
        all in all pretty small stuff.
      
        The new features to note are:
         - Common code for describing GPIO CS lines in the device tree
         - Remove the SPI_BUFSIZ limitation on spi_write_the_read()
         - core spi ensures bits_per_word is set correctly
         - SPARC can now use SPI"
      
      * tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6: (36 commits)
        spi/sparc: Allow of_register_spi_devices for sparc
        spi: Remove HOTPLUG section attributes
        spi: Add support for specifying 3-wire mode via device tree
        spi: Fix comparison of different integer types
        spi/orion: Add SPI_CHPA and SPI_CPOL support to kirkwood driver.
        spi/sh: Add SH Mobile series as dependency to MSIOF controller
        spi/sh-msiof: Remove unneeded clock name
        spi: Remove SPI_BUFSIZ restriction on spi_write_then_read()
        spi/stmp: remove obsolete driver
        spi/clps711x: New SPI master driver
        spi: omap2-mcspi: remove duplicate inclusion of linux/err.h
        spi: omap2-mcspi: Fix the redifine warning
        spi/sh-hspi: add CS manual control support
        of_spi: add generic binding support to specify cs gpio
        spi: omap2-mcspi: remove duplicated include from spi-omap2-mcspi.c
        spi/bitbang: (cosmetic) simplify list manipulation
        spi/bitbang: avoid needless loop flow manipulations
        spi/omap: fix D0/D1 direction confusion
        spi: tegra: add spi driver for sflash controller
        spi: Dont call master->setup if not populated
        ...
      d3b43e12
    • Linus Torvalds's avatar
      Merge branch 'autofs' (patches from Ian Kent) · 15de0599
      Linus Torvalds authored
      Merge emailed autofs cleanup/fix patches from Ian Kent
      
      * autofs:
        autofs4 - use simple_empty() for empty directory check
        autofs4 - dont clear DCACHE_NEED_AUTOMOUNT on rootless mount
      15de0599
    • Ian Kent's avatar
      autofs4 - use simple_empty() for empty directory check · 0259cb02
      Ian Kent authored
      For direct (and offset) mounts, if an automounted mount is manually
      umounted the trigger mount dentry can appear non-empty causing it to
      not trigger mounts. This can also happen if there is a file handle
      leak in a user space automounting application.
      
      This happens because, when a ioctl control file handle is opened
      on the mount, a cursor dentry is created which causes list_empty()
      to see the dentry as non-empty. Since there is a case where listing
      the directory of these dentrys is needed, the use of dcache_dir_*()
      functions for .open() and .release() is needed.
      
      Consequently simple_empty() must be used instead of list_empty()
      when checking for an empty directory.
      Signed-off-by: default avatarIan Kent <raven@themaw.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0259cb02
    • Ian Kent's avatar
      autofs4 - dont clear DCACHE_NEED_AUTOMOUNT on rootless mount · f55fb0c2
      Ian Kent authored
      The DCACHE_NEED_AUTOMOUNT flag is cleared on mount and set on expire
      for autofs rootless multi-mount dentrys to prevent unnecessary calls
      to ->d_automount().
      
      Since DCACHE_MANAGE_TRANSIT is always set on autofs dentrys ->d_managed()
      is always called so the check can be done in ->d_manage() without the
      need to change the flag. This still avoids unnecessary calls to
      ->d_automount(), adds negligible overhead and eliminates a seriously
      ugly check in the expire code.
      Signed-off-by: default avatarIan Kent <raven@themaw.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f55fb0c2
    • Linus Torvalds's avatar
      Merge tag 'ktest-v3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · e05a1c63
      Linus Torvalds authored
      Pull ktest update from Steven Rostedt:
       "fixes and updated for new boot loaders"
      
      * tag 'ktest-v3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: Test if target machine is up before install
        ktest: Fix breakage from change of oldnoconfig to olddefconfig
        ktest: Add native support for syslinux boot loader
        ktest: Sync before reboot
        ktest: Add support for grub2
      e05a1c63
  6. 13 Dec, 2012 4 commits
    • Linus Torvalds's avatar
      Merge tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 66cdd0ce
      Linus Torvalds authored
      Pull KVM updates from Marcelo Tosatti:
       "Considerable KVM/PPC work, x86 kvmclock vsyscall support,
        IA32_TSC_ADJUST MSR emulation, amongst others."
      
      Fix up trivial conflict in kernel/sched/core.c due to cross-cpu
      migration notifier added next to rq migration call-back.
      
      * tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (156 commits)
        KVM: emulator: fix real mode segment checks in address linearization
        VMX: remove unneeded enable_unrestricted_guest check
        KVM: VMX: fix DPL during entry to protected mode
        x86/kexec: crash_vmclear_local_vmcss needs __rcu
        kvm: Fix irqfd resampler list walk
        KVM: VMX: provide the vmclear function and a bitmap to support VMCLEAR in kdump
        x86/kexec: VMCLEAR VMCSs loaded on all cpus if necessary
        KVM: MMU: optimize for set_spte
        KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface
        KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation
        KVM: PPC: bookehv: Add guest computation mode for irq delivery
        KVM: PPC: Make EPCR a valid field for booke64 and bookehv
        KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit
        KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation
        KVM: PPC: Mask ea's high 32-bits in 32/64 instr emulation
        KVM: PPC: e500: Add emulation helper for getting instruction ea
        KVM: PPC: bookehv64: Add support for interrupt handling
        KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler
        KVM: PPC: booke: Fix get_tb() compile error on 64-bit
        KVM: PPC: e500: Silence bogus GCC warning in tlb code
        ...
      66cdd0ce
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.8-rc0-tag' of... · 896ea17d
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.8-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull Xen updates from Konrad Rzeszutek Wilk:
       - Add necessary infrastructure to make balloon driver work under ARM.
       - Add /dev/xen/privcmd interfaces to work with ARM and PVH.
       - Improve Xen PCIBack wild-card parsing.
       - Add Xen ACPI PAD (Processor Aggregator) support - so can offline/
         online sockets depending on the power consumption.
       - PVHVM + kexec = use an E820_RESV region for the shared region so we
         don't overwrite said region during kexec reboot.
       - Cleanups, compile fixes.
      
      Fix up some trivial conflicts due to the balloon driver now working on
      ARM, and there were changes next to the previous work-arounds that are
      now gone.
      
      * tag 'stable/for-linus-3.8-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/PVonHVM: fix compile warning in init_hvm_pv_info
        xen: arm: implement remap interfaces needed for privcmd mappings.
        xen: correctly use xen_pfn_t in remap_domain_mfn_range.
        xen: arm: enable balloon driver
        xen: balloon: allow PVMMU interfaces to be compiled out
        xen: privcmd: support autotranslated physmap guests.
        xen: add pages parameter to xen_remap_domain_mfn_range
        xen/acpi: Move the xen_running_on_version_or_later function.
        xen/xenbus: Remove duplicate inclusion of asm/xen/hypervisor.h
        xen/acpi: Fix compile error by missing decleration for xen_domain.
        xen/acpi: revert pad config check in xen_check_mwait
        xen/acpi: ACPI PAD driver
        xen-pciback: reject out of range inputs
        xen-pciback: simplify and tighten parsing of device IDs
        xen PVonHVM: use E820_Reserved area for shared_info
      896ea17d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · c7708fac
      Linus Torvalds authored
      Pull s390 update from Martin Schwidefsky:
       "Add support to generate code for the latest machine zEC12, MOD and XOR
        instruction support for the BPF jit compiler, the dasd safe offline
        feature and the big one: the s390 architecture gets PCI support!!
        Right before the world ends on the 21st ;-)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (41 commits)
        s390/qdio: rename the misleading PCI flag of qdio devices
        s390/pci: remove obsolete email addresses
        s390/pci: speed up __iowrite64_copy by using pci store block insn
        s390/pci: enable NEED_DMA_MAP_STATE
        s390/pci: no msleep in potential IRQ context
        s390/pci: fix potential NULL pointer dereference in dma_free_seg_table()
        s390/pci: use kmem_cache_zalloc instead of kmem_cache_alloc/memset
        s390/bpf,jit: add support for XOR instruction
        s390/bpf,jit: add support MOD instruction
        s390/cio: fix pgid reserved check
        vga: compile fix, disable vga for s390
        s390/pci: add PCI Kconfig options
        s390/pci: s390 specific PCI sysfs attributes
        s390/pci: PCI hotplug support via SCLP
        s390/pci: CHSC PCI support for error and availability events
        s390/pci: DMA support
        s390/pci: PCI adapter interrupts for MSI/MSI-X
        s390/bitops: find leftmost bit instruction support
        s390/pci: CLP interface
        s390/pci: base support
        ...
      c7708fac
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 3127f23f
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven.
      
      Fix up trivial conflict (m68k switched to generic version of
      uapi/asm/socket.h, net tree updated the old one) as per Geert.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/sun3: Fix instruction faults
        m68k/sun3: Get interrupts working again
        m68k: move to a single instance of free_initmem()
        m68k: merge MMU and non-MMU versions of mm/init.c
        m68k: switch to using the asm-generic termios.h
        m68k: switch to using the asm-generic termbits.h
        m68k: switch to using the asm-generic sockios.h
        m68k: switch to using the asm-generic socket.h
        m68k: switch to using the asm-generic shmbuf.h
        m68k: switch to using the asm-generic sembuf.h
        m68k: switch to using the asm-generic msgbuf.h
        m68k: switch to using the asm-generic auxvec.h
        m68k: switch to using the asm-generic shmparam.h
        m68k: switch to using the asm-generic spinlock.h
        m68k: switch to using the asm-generic hw_irq.h
        arch/m68k: remove CONFIG_EXPERIMENTAL
      3127f23f