1. 12 12月, 2014 12 次提交
  2. 09 12月, 2014 4 次提交
  3. 04 12月, 2014 1 次提交
  4. 13 11月, 2014 1 次提交
  5. 10 11月, 2014 1 次提交
    • T
      /dev/mem: Use more consistent data types · 4707a341
      Thierry Reding 提交于
      The xlate_dev_{kmem,mem}_ptr() functions take either a physical address
      or a kernel virtual address, so data types should be phys_addr_t and
      void *. They both return a kernel virtual address which is only ever
      used in calls to copy_{from,to}_user(), so make variables that store it
      void * rather than char * for consistency.
      
      Also only define a weak unxlate_dev_mem_ptr() function if architectures
      haven't overridden them in the asm/io.h header file.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      4707a341
  6. 06 11月, 2014 1 次提交
    • G
      hwrng: pseries - port to new read API and fix stack corruption · 24c65bc7
      Greg Kurz 提交于
      The add_early_randomness() function in drivers/char/hw_random/core.c passes
      a 16-byte buffer to pseries_rng_data_read(). Unfortunately, plpar_hcall()
      returns four 64-bit values and trashes 16 bytes on the stack.
      
      This bug has been lying around for a long time. It got unveiled by:
      
      commit d3cc7996
      Author: Amit Shah <amit.shah@redhat.com>
      Date:   Thu Jul 10 15:42:34 2014 +0530
      
          hwrng: fetch randomness only after device init
      
      It may trig a oops while loading or unloading the pseries-rng module for both
      PowerVM and PowerKVM guests.
      
      This patch does two things:
      - pass an intermediate well sized buffer to plpar_hcall(). This is acceptalbe
        since we're not on a hot path.
      - move to the new read API so that we know the return buffer size for sure.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NGreg Kurz <gkurz@linux.vnet.ibm.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      24c65bc7
  7. 31 10月, 2014 1 次提交
    • D
      Return short read or 0 at end of a raw device, not EIO · b2de525f
      David Jeffery 提交于
      Author: David Jeffery <djeffery@redhat.com>
      Changes to the basic direct I/O code have broken the raw driver when reading
      to the end of a raw device.  Instead of returning a short read for a read that
      extends partially beyond the device's end or 0 when at the end of the device,
      these reads now return EIO.
      
      The raw driver needs the same end of device handling as was added for normal
      block devices.  Using blkdev_read_iter, which has the needed size checks,
      prevents the EIO conditions at the end of the device.
      Signed-off-by: NDavid Jeffery <djeffery@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      b2de525f
  8. 17 10月, 2014 1 次提交
    • D
      random: add and use memzero_explicit() for clearing data · d4c5efdb
      Daniel Borkmann 提交于
      zatimend has reported that in his environment (3.16/gcc4.8.3/corei7)
      memset() calls which clear out sensitive data in extract_{buf,entropy,
      entropy_user}() in random driver are being optimized away by gcc.
      
      Add a helper memzero_explicit() (similarly as explicit_bzero() variants)
      that can be used in such cases where a variable with sensitive data is
      being cleared out in the end. Other use cases might also be in crypto
      code. [ I have put this into lib/string.c though, as it's always built-in
      and doesn't need any dependencies then. ]
      
      Fixes kernel bugzilla: 82041
      
      Reported-by: zatimend@hotmail.co.uk
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
      Cc: stable@vger.kernel.org
      d4c5efdb
  9. 15 10月, 2014 3 次提交
  10. 09 10月, 2014 1 次提交
  11. 08 10月, 2014 4 次提交
    • T
      ipmi: Clear drvdata when interface is removed · 567eded9
      Takao Indoh 提交于
      This patch fixes a bug on hotmod removing.
      
      After ipmi interface is removed using hotmod, kernel panic occurs when
      rmmod impi_si.  For example, try this:
      
       # echo "remove,"`cat /proc/ipmi/0/params` > \
       /sys/module/ipmi_si/parameters/hotmod
       # rmmod ipmi_si
      
      Then, rmmod fails with the following messages.
      
        ------------[ cut here ]------------
        WARNING: CPU: 12 PID: 10819 at /mnt/repos/linux/lib/list_debug.c:53 __list_del_entry+0x63/0xd0()
        CPU: 12 PID: 10819 Comm: rmmod Not tainted 3.17.0-rc1 #19
        Hardware name: FUJITSU-SV PRIMERGY BX920 S2/D3030, BIOS 080015 Rev.3D81.3030 02/10/2012
        Call Trace:
          dump_stack+0x45/0x56
          warn_slowpath_common+0x7d/0xa0
          warn_slowpath_fmt+0x4c/0x50
          __list_del_entry+0x63/0xd0
          list_del+0xd/0x30
          cleanup_one_si+0x2a/0x230 [ipmi_si]
          ipmi_pnp_remove+0x15/0x20 [ipmi_si]
          pnp_device_remove+0x24/0x40
          __device_release_driver+0x7f/0xf0
          driver_detach+0xb0/0xc0
          bus_remove_driver+0x55/0xd0
          driver_unregister+0x2c/0x50
          pnp_unregister_driver+0x12/0x20
          cleanup_ipmi_si+0xbc/0xf0 [ipmi_si]
          SyS_delete_module+0x132/0x1c0
          system_call_fastpath+0x16/0x1b
        ---[ end trace 70b4377268f85c23 ]---
      
      list_del in cleanup_one_si() fails because the smi_info is already
      removed when hotmod removing.
      
      When ipmi interface is removed by hotmod, smi_info is removed by
      cleanup_one_si(), but is is still set in drvdata.  Therefore when rmmod
      ipmi_si, ipmi_pnp_remove tries to remove it again and fails.
      
      By this patch, a pointer to smi_info in drvdata is cleared when hotmod
      removing so that it will be not accessed when rmmod.
      
      changelog:
      v2:
      - Clear drvdata in cleanup_one_si
      - Change subject
      
      v1:
      https://lkml.org/lkml/2014/9/8/741Signed-off-by: NTakao Indoh <indou.takao@jp.fujitsu.com>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      567eded9
    • A
      ipmi: work around gcc-4.9 build warning · cc4cbe90
      Arnd Bergmann 提交于
      Building ipmi on arm with gcc-4.9 results in this warning for an
      allmodconfig build:
      
        drivers/char/ipmi/ipmi_si_intf.c: In function 'ipmi_thread':
        include/linux/time.h:28:5: warning: 'busy_until.tv_sec' may be used uninitialized in this function [-Wmaybe-uninitialized]
          if (lhs->tv_sec > rhs->tv_sec)
             ^
        drivers/char/ipmi/ipmi_si_intf.c:1007:18: note: 'busy_until.tv_sec' was declared here
          struct timespec busy_until;
                          ^
      
      The warning is bogus and this case can not occur.  Apparently this is a
      false positive resulting from gcc getting a little smarter about
      tracking assignments but not smart enough.
      
      Marking the ipmi_thread_busy_wait function as inline gives the gcc
      optimization logic enough information to figure out for itself that the
      case cannot happen, which gets rid of the warning without adding any
      fake initialization.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cc4cbe90
    • B
      ipmi/of: Don't use unavailable interfaces · 08dc4169
      Benjamin Herrenschmidt 提交于
      If an IPMI controller is used by the firmware and as such marked with
      a reserved status, we shouldn't use it.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      08dc4169
    • C
      ipmi: Clean up the error handling for channel config errors · 1f668423
      Corey Minyard 提交于
      The code to send the channel config errors was missing an error report
      in one place and needed some more information in another, and had an
      extraneous bit of code.  Clean all that up.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1f668423
  12. 06 10月, 2014 1 次提交
  13. 02 10月, 2014 2 次提交
  14. 24 9月, 2014 3 次提交
  15. 11 9月, 2014 2 次提交
  16. 29 8月, 2014 1 次提交
  17. 27 8月, 2014 1 次提交