1. 30 10月, 2012 11 次提交
  2. 11 9月, 2012 1 次提交
  3. 31 7月, 2012 2 次提交
  4. 25 7月, 2012 1 次提交
  5. 04 5月, 2012 1 次提交
  6. 01 5月, 2012 1 次提交
    • M
      efi: Validate UEFI boot variables · fec6c20b
      Matthew Garrett 提交于
      A common flaw in UEFI systems is a refusal to POST triggered by a malformed
      boot variable. Once in this state, machines may only be restored by
      reflashing their firmware with an external hardware device. While this is
      obviously a firmware bug, the serious nature of the outcome suggests that
      operating systems should filter their variable writes in order to prevent
      a malicious user from rendering the machine unusable.
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fec6c20b
  7. 04 1月, 2012 1 次提交
  8. 13 12月, 2011 1 次提交
    • Y
      ibft: Fix finding IBFT ACPI table on UEFI · 935a9fee
      Yinghai Lu 提交于
      Found one system with UEFI/iBFT, kernel does not detect the iBFT during
      iscsi_ibft module loading.
      
      Root cause: on x86 (UEFI), we are calling of find_ibft_region() much earlier
      - specifically in setup_arch() before ACPI is enabled.
      
      Try to split acpi checking code out and call that later
      
      At that time ACPI iBFT already get permanent mapped with ioremap.
      So isa_virt_to_bus() will get wrong phys from right virt address.
      We could just skip that phys address printing.
      
      For legacy one, print the found address early.
      
      -v2: update comments and description according to Konrad.
      -v3: fix problem about module use case that is found by Konrad.
      -v4: use acpi_get_table() instead of acpi_table_parse() to handle module use case that is found by Konrad again..
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad@kernel.org>
      935a9fee
  9. 10 12月, 2011 1 次提交
  10. 29 11月, 2011 5 次提交
  11. 18 11月, 2011 2 次提交
    • K
      pstore: pass reason to backend write callback · 3d6d8d20
      Kees Cook 提交于
      This allows a backend to filter on the dmesg reason as well as the pstore
      reason. When ramoops is switched to pstore, this is needed since it has
      no interest in storing non-crash dmesg details.
      
      Drop pstore_write() as it has no users, and handling the "reason" here
      has no obviously correct value.
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      3d6d8d20
    • K
      pstore: pass allocated memory region back to caller · f6f82851
      Kees Cook 提交于
      The buf_lock cannot be held while populating the inodes, so make the backend
      pass forward an allocated and filled buffer instead. This solves the following
      backtrace. The effect is that "buf" is only ever used to notify the backends
      that something was written to it, and shouldn't be used in the read path.
      
      To replace the buf_lock during the read path, isolate the open/read/close
      loop with a separate mutex to maintain serialized access to the backend.
      
      Note that is is up to the pstore backend to cope if the (*write)() path is
      called in the middle of the read path.
      
      [   59.691019] BUG: sleeping function called from invalid context at .../mm/slub.c:847
      [   59.691019] in_atomic(): 0, irqs_disabled(): 1, pid: 1819, name: mount
      [   59.691019] Pid: 1819, comm: mount Not tainted 3.0.8 #1
      [   59.691019] Call Trace:
      [   59.691019]  [<810252d5>] __might_sleep+0xc3/0xca
      [   59.691019]  [<810a26e6>] kmem_cache_alloc+0x32/0xf3
      [   59.691019]  [<810b53ac>] ? __d_lookup_rcu+0x6f/0xf4
      [   59.691019]  [<810b68b1>] alloc_inode+0x2a/0x64
      [   59.691019]  [<810b6903>] new_inode+0x18/0x43
      [   59.691019]  [<81142447>] pstore_get_inode.isra.1+0x11/0x98
      [   59.691019]  [<81142623>] pstore_mkfile+0xae/0x26f
      [   59.691019]  [<810a2a66>] ? kmem_cache_free+0x19/0xb1
      [   59.691019]  [<8116c821>] ? ida_get_new_above+0x140/0x158
      [   59.691019]  [<811708ea>] ? __init_rwsem+0x1e/0x2c
      [   59.691019]  [<810b67e8>] ? inode_init_always+0x111/0x1b0
      [   59.691019]  [<8102127e>] ? should_resched+0xd/0x27
      [   59.691019]  [<8137977f>] ? _cond_resched+0xd/0x21
      [   59.691019]  [<81142abf>] pstore_get_records+0x52/0xa7
      [   59.691019]  [<8114254b>] pstore_fill_super+0x7d/0x91
      [   59.691019]  [<810a7ff5>] mount_single+0x46/0x82
      [   59.691019]  [<8114231a>] pstore_mount+0x15/0x17
      [   59.691019]  [<811424ce>] ? pstore_get_inode.isra.1+0x98/0x98
      [   59.691019]  [<810a8199>] mount_fs+0x5a/0x12d
      [   59.691019]  [<810b9174>] ? alloc_vfsmnt+0xa4/0x14a
      [   59.691019]  [<810b9474>] vfs_kern_mount+0x4f/0x7d
      [   59.691019]  [<810b9d7e>] do_kern_mount+0x34/0xb2
      [   59.691019]  [<810bb15f>] do_mount+0x5fc/0x64a
      [   59.691019]  [<810912fb>] ? strndup_user+0x2e/0x3f
      [   59.691019]  [<810bb3cb>] sys_mount+0x66/0x99
      [   59.691019]  [<8137b537>] sysenter_do_call+0x12/0x26
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      f6f82851
  12. 16 11月, 2011 1 次提交
    • J
      drivers/firmware/dmi_scan.c: make dmi_name_in_vendors more focused · 66e13e66
      Jean Delvare 提交于
      The current implementation of dmi_name_in_vendors() is an invitation to
      lazy coding and false positives [1].  Searching for a string in 8 know
      what you're looking for, so you should know where to look.  strstr isn't
      fast, especially when it fails, so we should avoid calling it when it
      just can't succeed.
      
      Looking at the current users of the function, it seems clear to me that
      they are looking for a system or board vendor name, so let's limit
      dmi_name_in_vendors to these two DMI fields.  This much better matches
      the function name, BTW.
      
      [1] We currently have code looking for short names in DMI data, such as
      "IBM", "ASUS" or "Acer".  I let you guess what will happen the day other
      vendors ship products named, for example, "SCHREIBMEISTER", "PEGASUS" or
      "Acerola".
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      66e13e66
  13. 01 11月, 2011 1 次提交
  14. 31 10月, 2011 1 次提交
  15. 13 10月, 2011 1 次提交
  16. 17 8月, 2011 1 次提交
    • D
      pstore: change mutex locking to spin_locks · abd4d558
      Don Zickus 提交于
      pstore was using mutex locking to protect read/write access to the
      backend plug-ins.  This causes problems when pstore is executed in
      an NMI context through panic() -> kmsg_dump().
      
      This patch changes the mutex to a spin_lock_irqsave then also checks to
      see if we are in an NMI context.  If we are in an NMI and can't get the
      lock, just print a message stating that and blow by the locking.
      
      All this is probably a hack around the bigger locking problem but it
      solves my current situation of trying to sleep in an NMI context.
      
      Tested by loading the lkdtm module and executing a HARDLOCKUP which
      will cause the machine to panic inside the nmi handler.
      Signed-off-by: NDon Zickus <dzickus@redhat.com>
      Acked-by: NMatthew Garrett <mjg@redhat.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      abd4d558
  17. 09 8月, 2011 1 次提交
  18. 03 8月, 2011 1 次提交
  19. 26 7月, 2011 1 次提交
  20. 23 7月, 2011 5 次提交