1. 19 4月, 2014 1 次提交
  2. 18 4月, 2014 12 次提交
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 87a54cae
      Linus Torvalds 提交于
      Pull timer fixes from Thomas Gleixner:
       "Viresh unearthed the following three hickups in the timer/timekeeping
        code:
      
         - Negated check for the result of a clock event selection
      
         - A missing early exit in the jiffies update path which causes
           update_wall_time to be called for nothing causing lock contention
           and wasted cycles in the timer interrupt
      
         - Checking a variable in the NOHZ code enable code for true which can
           only be set by that very code after the check succeeds.  That
           results in a rock solid runtime disablement of that feature"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tick-sched: Check tick_nohz_enabled in tick_nohz_switch_to_nohz()
        tick-sched: Don't call update_wall_time() when delta is lesser than tick_period
        tick-common: Fix wrong check in tick_check_replacement()
      87a54cae
    • L
      Merge branch 'parisc-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 81cef0fe
      Linus Torvalds 提交于
      Pull parisc updates from Helge Deller:
       "There are two major changes in this patchset:
      
        The major fix is that the epoll_pwait() syscall for 32bit userspace
        was not using the compat wrapper on a 64bit kernel.
      
        Secondly we changed the value of SHMLBA from 4MB to PAGE_SIZE to
        reflect that we can actually mmap to any multiple of PAGE_SIZE.  The
        only thing which needs care is that shared mmaps need to be mapped at
        the same offset inside the 4MB cache window"
      
      * 'parisc-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: fix epoll_pwait syscall on compat kernel
        parisc: change value of SHMLBA from 0x00400000 to PAGE_SIZE
        parisc: Replace __get_cpu_var uses for address calculation
      81cef0fe
    • L
      Merge branch 'ipmi' (emailed ipmi fixes) · c2896def
      Linus Torvalds 提交于
      Merge ipmi fixes from Corey Minyard:
       "Things collected since last kernel release.
      
        Some of these are pretty important.  The first three are bug fixes.
        The next two are to hopefully make everyone happy about allowing
        ACPI to be on all the time and not have IPMI have an effect on the
        system when not in use.  The last is a little cleanup"
      
      * emailed patches from Corey Minyard <cminyard@mvista.com>:
        ipmi: boolify some things
        ipmi: Turn off all activity on an idle ipmi interface
        ipmi: Turn off default probing of interfaces
        ipmi: Reset the KCS timeout when starting error recovery
        ipmi: Fix a race restarting the timer
        Char: ipmi_bt_sm, fix infinite loop
      c2896def
    • C
      ipmi: boolify some things · 7aefac26
      Corey Minyard 提交于
      Convert some ints to bools.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7aefac26
    • C
      ipmi: Turn off all activity on an idle ipmi interface · 89986496
      Corey Minyard 提交于
      The IPMI driver would wake up periodically looking for events and
      watchdog pretimeouts.  If there is nothing waiting for these events,
      it's really kind of pointless to be checking for them.  So modify the
      driver so the message handler can pass down if it needs the lower layer
      to be waiting for these.  Modify the system interface lower layer to
      turn off all timer and thread activity if the upper layer doesn't need
      anything and it is not currently handling messages.  And modify the
      message handler to not restart the timer if its timer is not needed.
      
      The timers and kthread will still be enabled if:
       - the SI interface is handling a message.
       - a user has enabled watching for events.
       - the IPMI watchdog timer is in use (since it uses pretimeouts).
       - the message handler is waiting on a remote response.
       - a user has registered to receive commands.
      
      This mostly affects interfaces without interrupts.  Interfaces with
      interrupts already don't use CPU in the system interface when the
      interface is idle.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      89986496
    • C
      ipmi: Turn off default probing of interfaces · 0dfe6e7e
      Corey Minyard 提交于
      The default probing can cause problems with some system, slow booting,
      extra CPU usages, etc.  Turn it off by default and give a config option
      to enable it.
      
      From: Matthew Garrett <matthew.garrett@nebula.com>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0dfe6e7e
    • C
      ipmi: Reset the KCS timeout when starting error recovery · eb6d78ec
      Corey Minyard 提交于
      The OBF timer in KCS was not reset in one situation when error recovery
      was started, resulting in an immediate timeout.
      Reported-by: NBodo Stroesser <bstroesser@ts.fujitsu.com>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      eb6d78ec
    • B
      ipmi: Fix a race restarting the timer · 48e8ac29
      Bodo Stroesser 提交于
      With recent changes it is possible for the timer handler to detect an
      idle interface and not start the timer, but the thread to start an
      operation at the same time.  The thread will not start the timer in that
      instance, resulting in the timer not running.
      
      Instead, move all timer operations under the lock and start the timer in
      the thread if it detect non-idle and the timer is not already running.
      Moving under locks allows the last timeout to be set in both the thread
      and the timer.  'Timer is not running' means that the timer is not
      pending and smi_timeout() is not running.  So we need a flag to detect
      this correctly.
      
      Also fix a few other timeout bugs: setting the last timeout when the
      interrupt has to be disabled and the timer started, and setting the last
      timeout in check_start_timer_thread possibly racing with the timer
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NBodo Stroesser <bstroesser@ts.fujitsu.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      48e8ac29
    • J
      Char: ipmi_bt_sm, fix infinite loop · a94cdd1f
      Jiri Slaby 提交于
      In read_all_bytes, we do
      
        unsigned char i;
        ...
        bt->read_data[0] = BMC2HOST;
        bt->read_count = bt->read_data[0];
        ...
        for (i = 1; i <= bt->read_count; i++)
          bt->read_data[i] = BMC2HOST;
      
      If bt->read_data[0] == bt->read_count == 255, we loop infinitely in the
      'for' loop.  Make 'i' an 'int' instead of 'char' to get rid of the
      overflow and finish the loop after 255 iterations every time.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Reported-and-debugged-by: NRui Hui Dian <rhdian@novell.com>
      Cc: Tomas Cech <tcech@suse.cz>
      Cc: Corey Minyard <minyard@acm.org>
      Cc: <openipmi-developer@lists.sourceforge.net>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a94cdd1f
    • L
      Merge tag 'stable/for-linus-3.15-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 88764e0a
      Linus Torvalds 提交于
      Pull Xen fixes from David Vrabel:
       "Xen regression and bug fixes for 3.15-rc1:
      
         - fix completely broken 32-bit PV guests caused by x86 refactoring
           32-bit thread_info.
         - only enable ticketlock slow path on Xen (not bare metal)
         - fix two bugs with PV guests not shutting down when requested
         - fix a minor memory leak in xen-pciback error path"
      
      * tag 'stable/for-linus-3.15-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/manage: Poweroff forcefully if user-space is not yet up.
        xen/xenbus: Avoid synchronous wait on XenBus stalling shutdown/restart.
        xen/spinlock: Don't enable them unconditionally.
        xen-pciback: silence an unwanted debug printk
        xen: fix memory leak in __xen_pcibk_add_pci_dev()
        x86/xen: Fix 32-bit PV guests's usage of kernel_stack
      88764e0a
    • L
      Merge tag '3.15-fixes' of git://neil.brown.name/md · 23c1a60e
      Linus Torvalds 提交于
      Pull md bugfix from Neil Brown:
       "One BUG fix for md for recent commit"
      
      * tag '3.15-fixes' of git://neil.brown.name/md:
        raid5: fix a race of stripe count check
      23c1a60e
    • L
      Merge tag 'fbdev-reorder-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · 09df694a
      Linus Torvalds 提交于
      Pull fbdev renaming patches from Tomi Valkeinen:
       "Reorder drivers/video/ directory so that all fbdev drivers are now
        located in drivers/video/fbdev/ and the fbdev framework core files are
        located in drivers/video/fbdev/core/
      
        The drivers/video/Kconfig is modified so that the DRM and the fbdev
        menu options are in separate submenus, instead of both being mixed in
        the same 'Graphics support' menu level"
      
      * tag 'fbdev-reorder-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
        video: Kconfig: move drm and fb into separate menus
        fbdev: move fbdev core files to separate directory
        video: move fbdev to drivers/video/fbdev
      09df694a
  3. 17 4月, 2014 15 次提交
  4. 16 4月, 2014 12 次提交
    • I
      x86: Remove the PCI reboot method from the default chain · 5be44a6f
      Ingo Molnar 提交于
      Steve reported a reboot hang and bisected it back to this commit:
      
        a4f1987e x86, reboot: Add EFI and CF9 reboot methods into the default list
      
      He heroically tested all reboot methods and found the following:
      
        reboot=t       # triple fault                  ok
        reboot=k       # keyboard ctrl                 FAIL
        reboot=b       # BIOS                          ok
        reboot=a       # ACPI                          FAIL
        reboot=e       # EFI                           FAIL   [system has no EFI]
        reboot=p       # PCI 0xcf9                     FAIL
      
      And I think it's pretty obvious that we should only try PCI 0xcf9 as a
      last resort - if at all.
      
      The other observation is that (on this box) we should never try
      the PCI reboot method, but close with either the 'triple fault'
      or the 'BIOS' (terminal!) reboot methods.
      
      Thirdly, CF9_COND is a total misnomer - it should be something like
      CF9_SAFE or CF9_CAREFUL, and 'CF9' should be 'CF9_FORCE' ...
      
      So this patch fixes the worst problems:
      
       - it orders the actual reboot logic to follow the reboot ordering
         pattern - it was in a pretty random order before for no good
         reason.
      
       - it fixes the CF9 misnomers and uses BOOT_CF9_FORCE and
         BOOT_CF9_SAFE flags to make the code more obvious.
      
       - it tries the BIOS reboot method before the PCI reboot method.
         (Since 'BIOS' is a terminal reboot method resulting in a hang
          if it does not work, this is essentially equivalent to removing
          the PCI reboot method from the default reboot chain.)
      
       - just for the miraculous possibility of terminal (resulting
         in hang) reboot methods of triple fault or BIOS returning
         without having done their job, there's an ordering between
         them as well.
      Reported-and-bisected-and-tested-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Li Aubrey <aubrey.li@linux.intel.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Link: http://lkml.kernel.org/r/20140404064120.GB11877@gmail.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      5be44a6f
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 10ec34fc
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fix BPF filter validation of netlink attribute accesses, from
          Mathias Kruase.
      
       2) Netfilter conntrack generation seqcount not initialized properly,
          from Andrey Vagin.
      
       3) Fix comparison mask computation on big-endian in nft_cmp_fast(),
          from Patrick McHardy.
      
       4) Properly limit MTU over ipv6, from Eric Dumazet.
      
       5) Fix seccomp system call argument population on 32-bit, from Daniel
          Borkmann.
      
       6) skb_network_protocol() should not use hard-coded ETH_HLEN, instead
          skb->mac_len needs to be used.  From Vlad Yasevich.
      
       7) We have several cases of using socket based communications to
          implement a tunnel.  For example, some tunnels are encapsulations
          over UDP so we use an internal kernel UDP socket to do the
          transmits.
      
          These tunnels should behave just like other software devices and
          pass the packets on down to the next layer.
      
          Most importantly we want the top-level socket (eg TCP) that created
          the traffic to be charged for the SKB memory.
      
          However, once you get into the IP output path, we have code that
          assumed that whatever was attached to skb->sk is an IP socket.
      
          To keep the top-level socket being charged for the SKB memory,
          whilst satisfying the needs of the IP output path, we now pass in an
          explicit 'sk' argument.
      
          From Eric Dumazet.
      
       8) ping_init_sock() leaks group info, from Xiaoming Wang.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (33 commits)
        cxgb4: use the correct max size for firmware flash
        qlcnic: Fix MSI-X initialization code
        ip6_gre: don't allow to remove the fb_tunnel_dev
        ipv4: add a sock pointer to dst->output() path.
        ipv4: add a sock pointer to ip_queue_xmit()
        driver/net: cosa driver uses udelay incorrectly
        at86rf230: fix __at86rf230_read_subreg function
        at86rf230: remove check if AVDD settled
        net: cadence: Add architecture dependencies
        net: Start with correct mac_len in skb_network_protocol
        Revert "net: sctp: Fix a_rwnd/rwnd management to reflect real state of the receiver's buffer"
        cxgb4: Save the correct mac addr for hw-loopback connections in the L2T
        net: filter: seccomp: fix wrong decoding of BPF_S_ANC_SECCOMP_LD_W
        seccomp: fix populating a0-a5 syscall args in 32-bit x86 BPF
        qlcnic: Do not disable SR-IOV when VFs are assigned to VMs
        qlcnic: Fix QLogic application/driver interface for virtual NIC configuration
        qlcnic: Fix PVID configuration on eSwitch port.
        qlcnic: Fix max ring count calculation
        qlcnic: Fix to send INIT_NIC_FUNC as first mailbox.
        qlcnic: Fix panic due to uninitialzed delayed_work struct in use.
        ...
      10ec34fc
    • S
      cxgb4: use the correct max size for firmware flash · 6f1d7210
      Steve Wise 提交于
      The wrong max fw size was being used and causing false
      "too big" errors running ethtool -f.
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6f1d7210
    • A
      qlcnic: Fix MSI-X initialization code · 8564ae09
      Alexander Gordeev 提交于
      Function qlcnic_setup_tss_rss_intr() might enter endless
      loop in case pci_enable_msix() contiguously returns a
      positive number of MSI-Xs that could have been allocated.
      Besides, the function contains 'err = -EIO;' assignment
      that never could be reached. This update fixes the
      aforementioned issues.
      
      Cc: Shahed Shaikh <shahed.shaikh@qlogic.com>
      Cc: Dept-HSGLinuxNICDev@qlogic.com
      Cc: netdev@vger.kernel.org
      Cc: linux-pci@vger.kernel.org
      Signed-off-by: NAlexander Gordeev <agordeev@redhat.com>
      Acked-by: NShahed Shaikh <shahed.shaikh@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8564ae09
    • N
      ip6_gre: don't allow to remove the fb_tunnel_dev · 54d63f78
      Nicolas Dichtel 提交于
      It's possible to remove the FB tunnel with the command 'ip link del ip6gre0' but
      this is unsafe, the module always supposes that this device exists. For example,
      ip6gre_tunnel_lookup() may use it unconditionally.
      
      Let's add a rtnl handler for dellink, which will never remove the FB tunnel (we
      let ip6gre_destroy_tunnels() do the job).
      
      Introduced by commit c12b395a ("gre: Support GRE over IPv6").
      
      CC: Dmitry Kozlov <xeb@mail.ru>
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      54d63f78
    • V
      tick-sched: Check tick_nohz_enabled in tick_nohz_switch_to_nohz() · 27630532
      Viresh Kumar 提交于
      Since commit d689fe22 (NOHZ: Check for nohz active instead of nohz
      enabled) the tick_nohz_switch_to_nohz() function returns because it
      checks for the tick_nohz_active flag. This can't be set, because the
      function itself sets it.
      
      Undo the change in tick_nohz_switch_to_nohz().
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      Cc: linaro-kernel@lists.linaro.org
      Cc: fweisbec@gmail.com
      Cc: Arvind.Chauhan@arm.com
      Cc: linaro-networking@linaro.org
      Cc: <stable@vger.kernel.org> # 3.13+
      Link: http://lkml.kernel.org/r/40939c05f2d65d781b92b20302b02243d0654224.1397537987.git.viresh.kumar@linaro.orgSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      27630532
    • V
      tick-sched: Don't call update_wall_time() when delta is lesser than tick_period · 03e6bdc5
      Viresh Kumar 提交于
      In tick_do_update_jiffies64() we are processing ticks only if delta is
      greater than tick_period. This is what we are supposed to do here and
      it broke a bit with this patch:
      
      commit 47a1b796 (tick/timekeeping: Call update_wall_time outside the
      jiffies lock)
      
      With above patch, we might end up calling update_wall_time() even if
      delta is found to be smaller that tick_period. Fix this by returning
      when the delta is less than tick period.
      
      [ tglx: Made it a 3 liner and massaged changelog ]
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      Cc: linaro-kernel@lists.linaro.org
      Cc: fweisbec@gmail.com
      Cc: Arvind.Chauhan@arm.com
      Cc: linaro-networking@linaro.org
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: <stable@vger.kernel.org> # v3.14+
      Link: http://lkml.kernel.org/r/80afb18a494b0bd9710975bcc4de134ae323c74f.1397537987.git.viresh.kumar@linaro.orgSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      03e6bdc5
    • V
      tick-common: Fix wrong check in tick_check_replacement() · 521c4299
      Viresh Kumar 提交于
      tick_check_replacement() returns if a replacement of clock_event_device is
      possible or not. It does this as the first check:
      
      	if (tick_check_percpu(curdev, newdev, smp_processor_id()))
      		return false;
      
      Thats wrong. tick_check_percpu() returns true when the device is
      useable. Check for false instead.
      
      [ tglx: Massaged changelog ]
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      Cc: <stable@vger.kernel.org> # v3.11+
      Cc: linaro-kernel@lists.linaro.org
      Cc: fweisbec@gmail.com
      Cc: Arvind.Chauhan@arm.com
      Cc: linaro-networking@linaro.org
      Link: http://lkml.kernel.org/r/486a02efe0246635aaba786e24b42d316438bf3b.1397537987.git.viresh.kumar@linaro.orgSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      521c4299
    • E
      ipv4: add a sock pointer to dst->output() path. · aad88724
      Eric Dumazet 提交于
      In the dst->output() path for ipv4, the code assumes the skb it has to
      transmit is attached to an inet socket, specifically via
      ip_mc_output() : The sk_mc_loop() test triggers a WARN_ON() when the
      provider of the packet is an AF_PACKET socket.
      
      The dst->output() method gets an additional 'struct sock *sk'
      parameter. This needs a cascade of changes so that this parameter can
      be propagated from vxlan to final consumer.
      
      Fixes: 8f646c92 ("vxlan: keep original skb ownership")
      Reported-by: Nlucien xin <lucien.xin@gmail.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aad88724
    • I
      Merge tag 'perf-urgent-for-mingo' of... · ad466db5
      Ingo Molnar 提交于
      Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf into perf/urgent
      
      Pull perf/urgent fixes from Jiri Olsa:
      
        * Instead of redirecting flex output, use -o (Cody P Schafer)
      
        * Fix double free in perf test 21 (Adrian Hunter)
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      ad466db5
    • E
      ipv4: add a sock pointer to ip_queue_xmit() · b0270e91
      Eric Dumazet 提交于
      ip_queue_xmit() assumes the skb it has to transmit is attached to an
      inet socket. Commit 31c70d59 ("l2tp: keep original skb ownership")
      changed l2tp to not change skb ownership and thus broke this assumption.
      
      One fix is to add a new 'struct sock *sk' parameter to ip_queue_xmit(),
      so that we do not assume skb->sk points to the socket used by l2tp
      tunnel.
      
      Fixes: 31c70d59 ("l2tp: keep original skb ownership")
      Reported-by: NZhan Jianyu <nasa4836@gmail.com>
      Tested-by: NZhan Jianyu <nasa4836@gmail.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b0270e91
    • K
      xen/manage: Poweroff forcefully if user-space is not yet up. · eb47f712
      Konrad Rzeszutek Wilk 提交于
      The user can launch the guest in this sequence:
      
      xl create -p /vm.cfg	[launch, but pause it]
      xl shutdown latest	[sets control/shutdown=poweroff]
      xl unpause latest
      xl console latest	[and see that the guest has completely
      ignored the shutdown request]
      
      In reality the guest hasn't ignored it. It registers a watch
      and gets a notification that there is value. It then calls
      the shutdown_handler which ends up calling orderly_shutdown.
      
      Unfortunately that is so early in the bootup that there
      are no user-space. Which means that the orderly_shutdown fails.
      But since the force flag was set to false it continues on without
      reporting.
      
      What we really want to is to use the force when we are in the
      SYSTEM_BOOTING state and not use the 'force' when SYSTEM_RUNNING.
      
      However, if we are in the running state - and the shutdown command
      has been given before the user-space has been setup, there is nothing
      we can do. Worst yet, we stop ignoring the 'xl shutdown' requests!
      
      As such, the other part of this patch is to only stop ignoring
      the 'xl shutdown' when we are truly in the power off sequence.
      
      That means the user can do multiple 'xl shutdown' and we will try
      to act on them instead of ignoring them.
      
      Fixes-Bug: http://bugs.xenproject.org/xen/bug/6Reported-by: NAlex Bligh <alex@alex.org.uk>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      eb47f712