Messages in this thread | | | Date | Tue, 6 Sep 2022 13:18:57 -0700 | From | Kees Cook <> | Subject | Re: [PATCH] pstore/zone: Use GFP_ATOMIC to allocate zone buffer |
| |
On Sun, Sep 04, 2022 at 11:17:13PM +0800, Qiujun Huang wrote: > 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> > --- > fs/pstore/zone.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/pstore/zone.c b/fs/pstore/zone.c > index 017d0d4ad329..2770746bb7aa 100644 > --- a/fs/pstore/zone.c > +++ b/fs/pstore/zone.c > @@ -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;
This patch appears to be whitespace damaged, but I've manually applied it. Thank you!
https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?h=for-next/pstore&id=27001e611bb642287eddf93227bd72d295a35453
-- Kees Cook
| |