[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220925115503.43dd5b4530ab40be88795630@linux-foundation.org>
Date: Sun, 25 Sep 2022 11:55:03 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Hugh Dickins <hughd@...gle.com>
Cc: Mike Kravetz <mike.kravetz@...cle.com>,
Peter Xu <peterx@...hat.com>,
Axel Rasmussen <axelrasmussen@...gle.com>,
Yang Shi <shy828301@...il.com>,
Matthew Wilcox <willy@...radead.org>,
syzbot <syzbot+152d76c44ba142f8992b@...kaller.appspotmail.com>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
llvm@...ts.linux.dev, nathan@...nel.org, ndesaulniers@...gle.com,
songmuchun@...edance.com, syzkaller-bugs@...glegroups.com,
trix@...hat.com
Subject: Re: [syzbot] general protection fault in PageHeadHuge
On Fri, 23 Sep 2022 17:14:38 -0700 (PDT) Hugh Dickins <hughd@...gle.com> wrote:
> --- a/mm/shmem.c
> +++ b/mm/shmem.c
> @@ -2060,7 +2060,7 @@ static vm_fault_t shmem_fault(struct vm_fault *vmf)
> struct vm_area_struct *vma = vmf->vma;
> struct inode *inode = file_inode(vma->vm_file);
> gfp_t gfp = mapping_gfp_mask(inode->i_mapping);
> - struct folio *folio;
> + struct folio *folio = NULL;
> int err;
> vm_fault_t ret = VM_FAULT_LOCKED;
>
> @@ -2127,7 +2127,8 @@ static vm_fault_t shmem_fault(struct vm_fault *vmf)
> gfp, vma, vmf, &ret);
> if (err)
> return vmf_error(err);
> - vmf->page = folio_file_page(folio, vmf->pgoff);
> + if (folio)
> + vmf->page = folio_file_page(folio, vmf->pgoff);
> return ret;
> }
I grabbed this as a fix against
shmem-convert-shmem_fault-to-use-shmem_get_folio_gfp.patch. Hopefully
someone can send along something more formal when ready.
Powered by blists - more mailing lists