1. 28 9月, 2017 14 次提交
  2. 22 8月, 2017 1 次提交
  3. 30 6月, 2017 1 次提交
  4. 29 6月, 2017 2 次提交
  5. 27 6月, 2017 2 次提交
  6. 20 6月, 2017 4 次提交
    • I
      sched/wait: Rename wait_queue_t => wait_queue_entry_t · ac6424b9
      Ingo Molnar 提交于
      Rename:
      
      	wait_queue_t		=>	wait_queue_entry_t
      
      'wait_queue_t' was always a slight misnomer: its name implies that it's a "queue",
      but in reality it's a queue *entry*. The 'real' queue is the wait queue head,
      which had to carry the name.
      
      Start sorting this out by renaming it to 'wait_queue_entry_t'.
      
      This also allows the real structure name 'struct __wait_queue' to
      lose its double underscore and become 'struct wait_queue_entry',
      which is the more canonical nomenclature for such data types.
      
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      ac6424b9
    • C
      ipmi: Convert DMI handling over to a platform device · 0944d889
      Corey Minyard 提交于
      Now that the IPMI DMI code creates a platform device for IPMI devices
      in the firmware, use that instead of handling all the DMI work
      in the IPMI drivers themselves.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      0944d889
    • C
      ipmi: Create a platform device for a DMI-specified IPMI interface · 9f88145f
      Corey Minyard 提交于
      Create a platform device for each IPMI device in the DMI table,
      a separate kind of device for SSIF types and for KCS, BT, and
      SMIC types.  This is so auto-loading IPMI devices will work
      from just SMBIOS tables.
      
      This also adds the ability to extract the slave address from
      the SMBIOS tables, so that when the driver uses ACPI-specified
      interfaces, it can still extract the slave address from SMBIOS.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      9f88145f
    • T
      ipmi: use rcu lock around call to intf->handlers->sender() · cdea4656
      Tony Camuso 提交于
      A vendor with a system having more than 128 CPUs occasionally encounters
      the following crash during shutdown. This is not an easily reproduceable
      event, but the vendor was able to provide the following analysis of the
      crash, which exhibits the same footprint each time.
      
      crash> bt
      PID: 0      TASK: ffff88017c70ce70  CPU: 5   COMMAND: "swapper/5"
       #0 [ffff88085c143ac8] machine_kexec at ffffffff81059c8b
       #1 [ffff88085c143b28] __crash_kexec at ffffffff811052e2
       #2 [ffff88085c143bf8] crash_kexec at ffffffff811053d0
       #3 [ffff88085c143c10] oops_end at ffffffff8168ef88
       #4 [ffff88085c143c38] no_context at ffffffff8167ebb3
       #5 [ffff88085c143c88] __bad_area_nosemaphore at ffffffff8167ec49
       #6 [ffff88085c143cd0] bad_area_nosemaphore at ffffffff8167edb3
       #7 [ffff88085c143ce0] __do_page_fault at ffffffff81691d1e
       #8 [ffff88085c143d40] do_page_fault at ffffffff81691ec5
       #9 [ffff88085c143d70] page_fault at ffffffff8168e188
          [exception RIP: unknown or invalid address]
          RIP: ffffffffa053c800  RSP: ffff88085c143e28  RFLAGS: 00010206
          RAX: ffff88017c72bfd8  RBX: ffff88017a8dc000  RCX: ffff8810588b5ac8
          RDX: ffff8810588b5a00  RSI: ffffffffa053c800  RDI: ffff8810588b5a00
          RBP: ffff88085c143e58   R8: ffff88017c70d408   R9: ffff88017a8dc000
          R10: 0000000000000002  R11: ffff88085c143da0  R12: ffff8810588b5ac8
          R13: 0000000000000100  R14: ffffffffa053c800  R15: ffff8810588b5a00
          ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
          <IRQ stack>
          [exception RIP: cpuidle_enter_state+82]
          RIP: ffffffff81514192  RSP: ffff88017c72be50  RFLAGS: 00000202
          RAX: 0000001e4c3c6f16  RBX: 000000000000f8a0  RCX: 0000000000000018
          RDX: 0000000225c17d03  RSI: ffff88017c72bfd8  RDI: 0000001e4c3c6f16
          RBP: ffff88017c72be78   R8: 000000000000237e   R9: 0000000000000018
          R10: 0000000000002494  R11: 0000000000000001  R12: ffff88017c72be20
          R13: ffff88085c14f8e0  R14: 0000000000000082  R15: 0000001e4c3bb400
          ORIG_RAX: ffffffffffffff10  CS: 0010  SS: 0018
      
      This is the corresponding stack trace
      
      It has crashed because the area pointed with RIP extracted from timer
      element is already removed during a shutdown process.
      
      The function is smi_timeout().
      
      And we think ffff8810588b5a00 in RDX is a parameter struct smi_info
      
      crash> rd ffff8810588b5a00 20
      ffff8810588b5a00:  ffff8810588b6000 0000000000000000   .`.X............
      ffff8810588b5a10:  ffff880853264400 ffffffffa05417e0   .D&S......T.....
      ffff8810588b5a20:  24a024a000000000 0000000000000000   .....$.$........
      ffff8810588b5a30:  0000000000000000 0000000000000000   ................
      ffff8810588b5a30:  0000000000000000 0000000000000000   ................
      ffff8810588b5a40:  ffffffffa053a040 ffffffffa053a060   @.S.....`.S.....
      ffff8810588b5a50:  0000000000000000 0000000100000001   ................
      ffff8810588b5a60:  0000000000000000 0000000000000e00   ................
      ffff8810588b5a70:  ffffffffa053a580 ffffffffa053a6e0   ..S.......S.....
      ffff8810588b5a80:  ffffffffa053a4a0 ffffffffa053a250   ..S.....P.S.....
      ffff8810588b5a90:  0000000500000002 0000000000000000   ................
      
      Unfortunately the top of this area is already detroyed by someone.
      But because of two reasonns we think this is struct smi_info
       1) The address included in between  ffff8810588b5a70 and ffff8810588b5a80:
        are inside of ipmi_si_intf.c  see crash> module ffff88085779d2c0
      
       2) We've found the area which point this.
        It is offset 0x68 of  ffff880859df4000
      
      crash> rd  ffff880859df4000 100
      ffff880859df4000:  0000000000000000 0000000000000001   ................
      ffff880859df4010:  ffffffffa0535290 dead000000000200   .RS.............
      ffff880859df4020:  ffff880859df4020 ffff880859df4020    @.Y.... @.Y....
      ffff880859df4030:  0000000000000002 0000000000100010   ................
      ffff880859df4040:  ffff880859df4040 ffff880859df4040   @@.Y....@@.Y....
      ffff880859df4050:  0000000000000000 0000000000000000   ................
      ffff880859df4060:  0000000000000000 ffff8810588b5a00   .........Z.X....
      ffff880859df4070:  0000000000000001 ffff880859df4078   ........x@.Y....
      
       If we regards it as struct ipmi_smi in shutdown process
       it looks consistent.
      
      The remedy for this apparent race is affixed below.
      Signed-off-by: NTony Camuso <tcamuso@redhat.com>
      Cc: stable@vger.kernel.org # 3.19
      
      This was first introduced in 7ea0ed2b ipmi: Make the
      message handler easier to use for SMI interfaces
      where some code was moved outside of the rcu_read_lock()
      and the lock was not added.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      cdea4656
  7. 17 6月, 2017 1 次提交
  8. 10 6月, 2017 1 次提交
  9. 18 5月, 2017 1 次提交
  10. 09 5月, 2017 2 次提交
  11. 29 4月, 2017 1 次提交
  12. 20 4月, 2017 1 次提交
    • D
      Annotate hardware config module parameters in drivers/char/ipmi/ · 684497bf
      David Howells 提交于
      When the kernel is running in secure boot mode, we lock down the kernel to
      prevent userspace from modifying the running kernel image.  Whilst this
      includes prohibiting access to things like /dev/mem, it must also prevent
      access by means of configuring driver modules in such a way as to cause a
      device to access or modify the kernel image.
      
      To this end, annotate module_param* statements that refer to hardware
      configuration and indicate for future reference what type of parameter they
      specify.  The parameter parser in the core sees this information and can
      skip such parameters with an error message if the kernel is locked down.
      The module initialisation then runs as normal, but just sees whatever the
      default values for those parameters is.
      
      Note that we do still need to do the module initialisation because some
      drivers have viable defaults set in case parameters aren't specified and
      some drivers support automatic configuration (e.g. PNP or PCI) in addition
      to manually coded parameters.
      
      This patch annotates drivers in drivers/char/ipmi/.
      Suggested-by: NAlan Cox <gnomes@lxorguk.ukuu.org.uk>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Reviewed-by: NCorey Minyard <cminyard@mvista.com>
      cc: openipmi-developer@lists.sourceforge.net
      684497bf
  13. 11 4月, 2017 1 次提交
    • T
      ipmi_si: use smi_num for init_name · 3f724c40
      Tony Camuso 提交于
      Commit 1abf71ee moved the creation of new_smi->dev to earlier in the init
      sequence in order to provide infrastructure for log printing.
      
      However, the init_name was created with a hard-coded value of zero. This
      presents a problem in systems with more than one interface, producing a
      call trace in dmesg.
      
      To correct the problem, simply use smi_num instead of the hard-coded
      value of zero.
      
      Tested on a lenovo x3950.
      Signed-off-by: NTony Camuso <tcamuso@redhat.com>
      
      There was actually a more general problem, the platform device wasn't
      being set correctly, either, and there was a possible (though extremely
      unlikely) race on smi_num.  Add locks to clean up the race and use the
      proper value for the platform device, too.
      
      Tested on qemu in various configurations.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      3f724c40
  14. 08 4月, 2017 3 次提交
  15. 02 3月, 2017 1 次提交
  16. 21 2月, 2017 1 次提交
    • A
      ipmi: bt-bmc: Use a regmap for register access · eb994594
      Andrew Jeffery 提交于
      The registers for the bt-bmc device live under the Aspeed LPC
      controller. Devicetree bindings have recently been introduced for the
      LPC controller where the "host" portion of the LPC register space is
      described as a syscon device. Future devicetrees describing the bt-bmc
      device should nest its node under the appropriate "simple-mfd", "syscon"
      compatible node.
      
      This change allows the bt-bmc driver to function with both syscon and
      non-syscon- based devicetree descriptions by always using a regmap for
      register access, either retrieved from the parent syscon device or
      instantiated if none exists.
      Signed-off-by: NAndrew Jeffery <andrew@aj.id.au>
      Reviewed-by: NCédric Le Goater <clg@kaod.org>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      eb994594
  17. 09 2月, 2017 1 次提交
    • B
      char: ipmi: constify ipmi_smi_handlers structures · db3b7e13
      Bhumika Goyal 提交于
      Declare ipmi_smi_handlers structures as const as they are only passed as
      an argument to the function ipmi_register_smi. This argument is of type
      const, so ipmi_smi_handlers structures having similar properties can be
      declared const too.
      Done using Coccinelle:
      
      @r1 disable optional_qualifier@
      identifier i;
      position p;
      @@
      static struct ipmi_smi_handlers i@p={...};
      
      @ok1@
      identifier r1.i;
      position p;
      @@
      ipmi_register_smi(&i@p,...)
      
      @bad@
      position p!={r1.p,ok1.p};
      identifier r1.i;
      @@
      i@p
      
      @depends on !bad disable optional_qualifier@
      identifier r1.i;
      @@
      +const
      struct ipmi_smi_handlers i;
      
      Size details after cross compiling the .o file for powerpc architecture
      
      File size before:
        text	   data	    bss	    dec	    hex	filename
        2777	    288	      0	   3065	    bf9	drivers/char/ipmi/ipmi_powernv.o
      
      File size after:
        text	   data	    bss	    dec	    hex	filename
         2873	    192	      0	   3065	    bf9	drivers/char/ipmi/ipmi_powernv.o
      Signed-off-by: NBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      db3b7e13
  18. 06 1月, 2017 1 次提交
  19. 25 12月, 2016 1 次提交