Re: [linux-next:master] [mm] 480c454ff6: BUG:kernel_NULL_pointer_dereference

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 14 Mar 2023 10:10:42 +0800 kernel test robot <yujie.liu@xxxxxxxxx> wrote:

> Greeting,
> 
> Previous report:
> https://lore.kernel.org/oe-lkp/202303100947.9b421b1c-yujie.liu@xxxxxxxxx
> 
> FYI, we noticed BUG:kernel_NULL_pointer_dereference,address due to commit (built with gcc-11):
> 
> commit: 480c454ff64b734a35677ee4b239e32143a4235c ("mm: return an ERR_PTR from __filemap_get_folio")
> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
> 
> [test failed on linux-next/master 24469a0e5052ba01a35a15f104717a82b7a4798b]
> 
> in testcase: trinity
> version: trinity-x86_64-e63e4843-1_20220913
> with following parameters:
> 
> 	runtime: 300s
> 	group: group-04
> 
> test-description: Trinity is a linux system call fuzz tester.
> test-url: http://codemonkey.org.uk/projects/trinity/
> 
> on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
> 
> caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
> 
> 
> [   29.300153][ T6430] BUG: kernel NULL pointer dereference, address: 0000000000000000

Thanks, I expect this is fixed by

commit 151dff099e8e6d9c8efcc75ad0ad3b8eead58704
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Fri Mar 10 08:00:23 2023 +0100

    mm-return-an-err_ptr-from-__filemap_get_folio-fix
    
    fix null-pointer deref
    
    Link: https://lkml.kernel.org/r/20230310070023.GA13563@xxxxxx
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reported-by: Naoya Horiguchi <naoya.horiguchi@xxxxxxxxx>
      Link: https://lkml.kernel.org/r/20230310043137.GA1624890@u2004
    Cc: Andreas Gruenbacher <agruenba@xxxxxxxxxx>
    Cc: Hugh Dickins <hughd@xxxxxxxxxx>
    Cc: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
    Cc: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

diff --git a/mm/swap_state.c b/mm/swap_state.c
index c7160070b9da..b76a65ac28b3 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -390,6 +390,8 @@ struct folio *filemap_get_incore_folio(struct address_space *mapping,
 	struct swap_info_struct *si;
 	struct folio *folio = filemap_get_entry(mapping, index);
 
+	if (!folio)
+		return ERR_PTR(-ENOENT);
 	if (!xa_is_value(folio))
 		return folio;
 	if (!shmem_mapping(mapping))






[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux