mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
pstore/zone: Use GFP_ATOMIC to allocate zone buffer
commit99b3b83785upstream. There is a case found when triggering a panic_on_oom, pstore fails to dump kmsg. Because psz_kmsg_write_record can't get the new buffer. Handle this by using GFP_ATOMIC to allocate a buffer at lower watermark. Signed-off-by: Qiujun Huang <hqjagain@gmail.com> Fixes:335426c6dc("pstore/zone: Provide way to skip "broken" zone for MTD devices") Cc: WeiXiong Liao <gmpy.liaowx@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/CAJRQjofRCF7wjrYmw3D7zd5QZnwHQq+F8U-mJDJ6NZ4bddYdLA@mail.gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5c3a4cdc53
commit
23ac2a31c5
|
|
@ -761,7 +761,7 @@ static inline int notrace psz_kmsg_write_record(struct psz_context *cxt,
|
|||
/* avoid destroying old data, allocate a new one */
|
||||
len = zone->buffer_size + sizeof(*zone->buffer);
|
||||
zone->oldbuf = zone->buffer;
|
||||
zone->buffer = kzalloc(len, GFP_KERNEL);
|
||||
zone->buffer = kzalloc(len, GFP_ATOMIC);
|
||||
if (!zone->buffer) {
|
||||
zone->buffer = zone->oldbuf;
|
||||
return -ENOMEM;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user