diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 12:38:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 12:38:18 -0500 |
commit | 024e4ec1856d57bb78c06ec903d29dcf716f5f47 (patch) | |
tree | 72c89ea735f2aad2f63f64444ec056d7da8e06ff /include/linux | |
parent | 850cb82b754c931c570c9cb7f10c9f2181bac617 (diff) | |
parent | fb0af3f2b1b613e5ea75426d454c7e5b1d1eef49 (diff) |
Merge tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux
Pull pstore patches from Tony Luck:
"A few fixes to reduce places where pstore might hang a system in the
crash path. Plus a new mountpoint (/sys/fs/pstore ... makes more
sense then /dev/pstore)."
Fix up trivial conflict in drivers/firmware/efivars.c
* tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
pstore: Create a convenient mount point for pstore
efi_pstore: Introducing workqueue updating sysfs
efivars: Disable external interrupt while holding efivars->lock
efi_pstore: Avoid deadlock in non-blocking paths
pstore: Avoid deadlock in panic and emergency-restart path
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/efi.h | 3 | ||||
-rw-r--r-- | include/linux/pstore.h | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/efi.h b/include/linux/efi.h index 7a9498ab3c2d..9bf2f1fcae27 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h | |||
@@ -740,7 +740,8 @@ struct efivars { | |||
740 | * 1) ->list - adds, removals, reads, writes | 740 | * 1) ->list - adds, removals, reads, writes |
741 | * 2) ops.[gs]et_variable() calls. | 741 | * 2) ops.[gs]et_variable() calls. |
742 | * It must not be held when creating sysfs entries or calling kmalloc. | 742 | * It must not be held when creating sysfs entries or calling kmalloc. |
743 | * ops.get_next_variable() is only called from register_efivars(), | 743 | * ops.get_next_variable() is only called from register_efivars() |
744 | * or efivar_update_sysfs_entries(), | ||
744 | * which is protected by the BKL, so that path is safe. | 745 | * which is protected by the BKL, so that path is safe. |
745 | */ | 746 | */ |
746 | spinlock_t lock; | 747 | spinlock_t lock; |
diff --git a/include/linux/pstore.h b/include/linux/pstore.h index 1788909d9a99..75d01760c911 100644 --- a/include/linux/pstore.h +++ b/include/linux/pstore.h | |||
@@ -68,12 +68,18 @@ struct pstore_info { | |||
68 | 68 | ||
69 | #ifdef CONFIG_PSTORE | 69 | #ifdef CONFIG_PSTORE |
70 | extern int pstore_register(struct pstore_info *); | 70 | extern int pstore_register(struct pstore_info *); |
71 | extern bool pstore_cannot_block_path(enum kmsg_dump_reason reason); | ||
71 | #else | 72 | #else |
72 | static inline int | 73 | static inline int |
73 | pstore_register(struct pstore_info *psi) | 74 | pstore_register(struct pstore_info *psi) |
74 | { | 75 | { |
75 | return -ENODEV; | 76 | return -ENODEV; |
76 | } | 77 | } |
78 | static inline bool | ||
79 | pstore_cannot_block_path(enum kmsg_dump_reason reason) | ||
80 | { | ||
81 | return false; | ||
82 | } | ||
77 | #endif | 83 | #endif |
78 | 84 | ||
79 | #endif /*_LINUX_PSTORE_H*/ | 85 | #endif /*_LINUX_PSTORE_H*/ |