[syzbot] memory leak in xas_create

From: syzbot
Date: Sat Jul 09 2022 - 03:14:53 EST


Hello,

syzbot found the following issue on:

HEAD commit: c1084b6c5620 Merge tag 'soc-fixes-5.19-2' of git://git.ker..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=14967ccc080000
kernel config: https://syzkaller.appspot.com/x/.config?x=916233b7694a38ff
dashboard link: https://syzkaller.appspot.com/bug?extid=a785d07959bc94837d51
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=122ae834080000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+a785d07959bc94837d51@xxxxxxxxxxxxxxxxxxxxxxxxx

2022/07/05 05:22:17 executed programs: 828
2022/07/05 05:22:23 executed programs: 846
2022/07/05 05:22:30 executed programs: 866
2022/07/05 05:22:37 executed programs: 875
BUG: memory leak
unreferenced object 0xffff888113662480 (size 576):
comm "khugepaged", pid 32, jiffies 4295002751 (age 22.940s)
hex dump (first 32 bytes):
06 15 08 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
58 08 46 1d 81 88 ff ff 98 24 66 13 81 88 ff ff X.F......$f.....
backtrace:
[<ffffffff824aa006>] xas_alloc+0xf6/0x120 lib/xarray.c:377
[<ffffffff824acc55>] xas_create+0x395/0x820 lib/xarray.c:679
[<ffffffff824ad180>] xas_create_range+0xa0/0x1c0 lib/xarray.c:719
[<ffffffff815957f3>] collapse_file+0x283/0x2870 mm/khugepaged.c:1670
[<ffffffff8159b52c>] khugepaged_scan_file mm/khugepaged.c:2072 [inline]
[<ffffffff8159b52c>] khugepaged_scan_mm_slot mm/khugepaged.c:2167 [inline]
[<ffffffff8159b52c>] khugepaged_do_scan mm/khugepaged.c:2251 [inline]
[<ffffffff8159b52c>] khugepaged+0x227c/0x43a0 mm/khugepaged.c:2296
[<ffffffff8127b8b5>] kthread+0x125/0x160 kernel/kthread.c:376
[<ffffffff8100222f>] ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302

BUG: memory leak
unreferenced object 0xffff8881136e2900 (size 576):
comm "khugepaged", pid 32, jiffies 4295002751 (age 22.940s)
hex dump (first 32 bytes):
00 07 00 00 00 00 00 00 80 24 66 13 81 88 ff ff .........$f.....
58 08 46 1d 81 88 ff ff 18 29 6e 13 81 88 ff ff X.F......)n.....
backtrace:
[<ffffffff824aa006>] xas_alloc+0xf6/0x120 lib/xarray.c:377
[<ffffffff824acc55>] xas_create+0x395/0x820 lib/xarray.c:679
[<ffffffff824ad180>] xas_create_range+0xa0/0x1c0 lib/xarray.c:719
[<ffffffff815957f3>] collapse_file+0x283/0x2870 mm/khugepaged.c:1670
[<ffffffff8159b52c>] khugepaged_scan_file mm/khugepaged.c:2072 [inline]
[<ffffffff8159b52c>] khugepaged_scan_mm_slot mm/khugepaged.c:2167 [inline]
[<ffffffff8159b52c>] khugepaged_do_scan mm/khugepaged.c:2251 [inline]
[<ffffffff8159b52c>] khugepaged+0x227c/0x43a0 mm/khugepaged.c:2296
[<ffffffff8127b8b5>] kthread+0x125/0x160 kernel/kthread.c:376
[<ffffffff8100222f>] ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302

BUG: memory leak
unreferenced object 0xffff8881136e0480 (size 576):
comm "khugepaged", pid 32, jiffies 4295002751 (age 22.940s)
hex dump (first 32 bytes):
00 06 00 00 00 00 00 00 80 24 66 13 81 88 ff ff .........$f.....
58 08 46 1d 81 88 ff ff 98 04 6e 13 81 88 ff ff X.F.......n.....
backtrace:
[<ffffffff824aa006>] xas_alloc+0xf6/0x120 lib/xarray.c:377
[<ffffffff824acc55>] xas_create+0x395/0x820 lib/xarray.c:679
[<ffffffff824ad180>] xas_create_range+0xa0/0x1c0 lib/xarray.c:719
[<ffffffff815957f3>] collapse_file+0x283/0x2870 mm/khugepaged.c:1670
[<ffffffff8159b52c>] khugepaged_scan_file mm/khugepaged.c:2072 [inline]
[<ffffffff8159b52c>] khugepaged_scan_mm_slot mm/khugepaged.c:2167 [inline]
[<ffffffff8159b52c>] khugepaged_do_scan mm/khugepaged.c:2251 [inline]
[<ffffffff8159b52c>] khugepaged+0x227c/0x43a0 mm/khugepaged.c:2296
[<ffffffff8127b8b5>] kthread+0x125/0x160 kernel/kthread.c:376
[<ffffffff8100222f>] ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302

BUG: memory leak
unreferenced object 0xffff8881136de900 (size 576):
comm "khugepaged", pid 32, jiffies 4295002751 (age 22.940s)
hex dump (first 32 bytes):
00 05 00 00 00 00 00 00 80 24 66 13 81 88 ff ff .........$f.....
58 08 46 1d 81 88 ff ff 18 e9 6d 13 81 88 ff ff X.F.......m.....
backtrace:
[<ffffffff824aa006>] xas_alloc+0xf6/0x120 lib/xarray.c:377
[<ffffffff824acc55>] xas_create+0x395/0x820 lib/xarray.c:679
[<ffffffff824ad180>] xas_create_range+0xa0/0x1c0 lib/xarray.c:719
[<ffffffff815957f3>] collapse_file+0x283/0x2870 mm/khugepaged.c:1670
[<ffffffff8159b52c>] khugepaged_scan_file mm/khugepaged.c:2072 [inline]
[<ffffffff8159b52c>] khugepaged_scan_mm_slot mm/khugepaged.c:2167 [inline]
[<ffffffff8159b52c>] khugepaged_do_scan mm/khugepaged.c:2251 [inline]
[<ffffffff8159b52c>] khugepaged+0x227c/0x43a0 mm/khugepaged.c:2296
[<ffffffff8127b8b5>] kthread+0x125/0x160 kernel/kthread.c:376
[<ffffffff8100222f>] ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302

BUG: memory leak
unreferenced object 0xffff88811371b6c0 (size 576):
comm "khugepaged", pid 32, jiffies 4295002751 (age 22.940s)
hex dump (first 32 bytes):
00 04 00 00 00 00 00 00 80 24 66 13 81 88 ff ff .........$f.....
58 08 46 1d 81 88 ff ff d8 b6 71 13 81 88 ff ff X.F.......q.....
backtrace:
[<ffffffff824aa006>] xas_alloc+0xf6/0x120 lib/xarray.c:377
[<ffffffff824acc55>] xas_create+0x395/0x820 lib/xarray.c:679
[<ffffffff824ad180>] xas_create_range+0xa0/0x1c0 lib/xarray.c:719
[<ffffffff815957f3>] collapse_file+0x283/0x2870 mm/khugepaged.c:1670
[<ffffffff8159b52c>] khugepaged_scan_file mm/khugepaged.c:2072 [inline]
[<ffffffff8159b52c>] khugepaged_scan_mm_slot mm/khugepaged.c:2167 [inline]
[<ffffffff8159b52c>] khugepaged_do_scan mm/khugepaged.c:2251 [inline]
[<ffffffff8159b52c>] khugepaged+0x227c/0x43a0 mm/khugepaged.c:2296
[<ffffffff8127b8b5>] kthread+0x125/0x160 kernel/kthread.c:376
[<ffffffff8100222f>] ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302

BUG: memory leak
unreferenced object 0xffff888113666d80 (size 576):
comm "khugepaged", pid 32, jiffies 4295002751 (age 22.940s)
hex dump (first 32 bytes):
00 03 00 00 00 00 00 00 80 24 66 13 81 88 ff ff .........$f.....
58 08 46 1d 81 88 ff ff 98 6d 66 13 81 88 ff ff X.F......mf.....
backtrace:
[<ffffffff824aa006>] xas_alloc+0xf6/0x120 lib/xarray.c:377
[<ffffffff824acc55>] xas_create+0x395/0x820 lib/xarray.c:679
[<ffffffff824ad180>] xas_create_range+0xa0/0x1c0 lib/xarray.c:719
[<ffffffff815957f3>] collapse_file+0x283/0x2870 mm/khugepaged.c:1670
[<ffffffff8159b52c>] khugepaged_scan_file mm/khugepaged.c:2072 [inline]
[<ffffffff8159b52c>] khugepaged_scan_mm_slot mm/khugepaged.c:2167 [inline]
[<ffffffff8159b52c>] khugepaged_do_scan mm/khugepaged.c:2251 [inline]
[<ffffffff8159b52c>] khugepaged+0x227c/0x43a0 mm/khugepaged.c:2296
[<ffffffff8127b8b5>] kthread+0x125/0x160 kernel/kthread.c:376
[<ffffffff8100222f>] ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302



---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches