public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [syzbot] [netfs?] KMSAN: uninit-value in netfs_clear_buffer
@ 2024-09-20 17:00 syzbot
  2024-09-21  0:23 ` [syzbot] [PATCH] netfs: Fix a KMSAN uninit-value error " syzbot
  2024-10-01  5:46 ` [syzbot] [PATCH v2] " syzbot
  0 siblings, 2 replies; 3+ messages in thread
From: syzbot @ 2024-09-20 17:00 UTC (permalink / raw)
  To: dhowells, jlayton, linux-fsdevel, linux-kernel, netfs,
	syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    2f27fce67173 Merge tag 'sound-6.12-rc1' of git://git.kerne..
git tree:       upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=10da7500580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=5d864366be695947
dashboard link: https://syzkaller.appspot.com/bug?extid=921873345a95f4dae7e9
compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=12bdbfc7980000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=17acc69f980000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/c167a07d047b/disk-2f27fce6.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/a68ac6093374/vmlinux-2f27fce6.xz
kernel image: https://storage.googleapis.com/syzbot-assets/72a53f77d2bc/bzImage-2f27fce6.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+921873345a95f4dae7e9@syzkaller.appspotmail.com

=====================================================
BUG: KMSAN: uninit-value in netfs_clear_buffer+0x216/0x4e0 fs/netfs/misc.c:75
 netfs_clear_buffer+0x216/0x4e0 fs/netfs/misc.c:75
 netfs_free_request+0x51f/0x890 fs/netfs/objects.c:146
 netfs_put_request+0x161/0x360 fs/netfs/objects.c:170
 netfs_write_collection_worker+0x7337/0x7c20
 process_one_work kernel/workqueue.c:3231 [inline]
 process_scheduled_works+0xae0/0x1c40 kernel/workqueue.c:3312
 worker_thread+0xea7/0x14f0 kernel/workqueue.c:3393
 kthread+0x3e2/0x540 kernel/kthread.c:389
 ret_from_fork+0x6d/0x90 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

Uninit was created at:
 slab_post_alloc_hook mm/slub.c:3995 [inline]
 slab_alloc_node mm/slub.c:4038 [inline]
 __kmalloc_cache_noprof+0x4f0/0xb00 mm/slub.c:4185
 kmalloc_noprof include/linux/slab.h:690 [inline]
 netfs_buffer_append_folio+0x2cf/0x8b0 fs/netfs/misc.c:25
 netfs_write_folio+0x1120/0x3050 fs/netfs/write_issue.c:421
 netfs_writepages+0xe60/0x1670 fs/netfs/write_issue.c:541
 do_writepages+0x427/0xc30 mm/page-writeback.c:2683
 filemap_fdatawrite_wbc+0x1d8/0x270 mm/filemap.c:397
 __filemap_fdatawrite_range mm/filemap.c:430 [inline]
 __filemap_fdatawrite mm/filemap.c:436 [inline]
 filemap_fdatawrite+0xbf/0xf0 mm/filemap.c:441
 v9fs_dir_release+0x1f2/0x810 fs/9p/vfs_dir.c:219
 __fput+0x32c/0x1120 fs/file_table.c:431
 ____fput+0x25/0x30 fs/file_table.c:459
 task_work_run+0x268/0x310 kernel/task_work.c:228
 exit_task_work include/linux/task_work.h:40 [inline]
 do_exit+0xd88/0x4050 kernel/exit.c:882
 do_group_exit+0x2fe/0x390 kernel/exit.c:1031
 __do_sys_exit_group kernel/exit.c:1042 [inline]
 __se_sys_exit_group kernel/exit.c:1040 [inline]
 __x64_sys_exit_group+0x3c/0x50 kernel/exit.c:1040
 x64_sys_call+0x3b9a/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:232
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

CPU: 0 UID: 0 PID: 2945 Comm: kworker/u8:9 Not tainted 6.11.0-syzkaller-04557-g2f27fce67173 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
Workqueue: events_unbound netfs_write_collection_worker
=====================================================


---
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@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [syzbot] [PATCH] netfs: Fix a KMSAN uninit-value error in netfs_clear_buffer
  2024-09-20 17:00 [syzbot] [netfs?] KMSAN: uninit-value in netfs_clear_buffer syzbot
@ 2024-09-21  0:23 ` syzbot
  2024-10-01  5:46 ` [syzbot] [PATCH v2] " syzbot
  1 sibling, 0 replies; 3+ messages in thread
From: syzbot @ 2024-09-21  0:23 UTC (permalink / raw)
  To: linux-kernel

For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org.

***

Subject: [PATCH] netfs: Fix a KMSAN uninit-value error in netfs_clear_buffer
Author: marcus.yu.56@gmail.com

#syz test

Use kzalloc instead of kmalloc in netfs_buffer_append_folio to fix a KMSAN uninit-value error in netfs_clear_buffer

Signed-off-by: Chang Yu <marcus.yu.56@gmail.com>
---
 fs/netfs/misc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/netfs/misc.c b/fs/netfs/misc.c
index 0ad0982ce0e2..6f967b6d30b6 100644
--- a/fs/netfs/misc.c
+++ b/fs/netfs/misc.c
@@ -22,7 +22,7 @@ int netfs_buffer_append_folio(struct netfs_io_request *rreq, struct folio *folio
 		return -EIO;
 
 	if (!tail || folioq_full(tail)) {
-		tail = kmalloc(sizeof(*tail), GFP_NOFS);
+		tail = kzalloc(sizeof(*tail), GFP_NOFS);
 		if (!tail)
 			return -ENOMEM;
 		netfs_stat(&netfs_n_folioq);
-- 
2.46.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [syzbot] [PATCH v2] netfs: Fix a KMSAN uninit-value error in netfs_clear_buffer
  2024-09-20 17:00 [syzbot] [netfs?] KMSAN: uninit-value in netfs_clear_buffer syzbot
  2024-09-21  0:23 ` [syzbot] [PATCH] netfs: Fix a KMSAN uninit-value error " syzbot
@ 2024-10-01  5:46 ` syzbot
  1 sibling, 0 replies; 3+ messages in thread
From: syzbot @ 2024-10-01  5:46 UTC (permalink / raw)
  To: linux-kernel

For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org.

***

Subject: [PATCH v2] netfs: Fix a KMSAN uninit-value error in netfs_clear_buffer
Author: marcus.yu.56@gmail.com

#syz test

Use folioq_count instead of folioq_nr_slots to fix a KMSAN uninit-value
error in netfs_clear_buffer

Signed-off-by: Chang Yu <marcus.yu.56@gmail.com>
Reported-by: syzbot+921873345a95f4dae7e9@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=921873345a95f4dae7e9
Fixes: cd0277ed0c18 ("netfs: Use new folio_queue data type and iterator instead of xarray iter")
---
Changes since v2:
  - Use folioq_count when putting pointers. This avoids touching
    uninitialized pointer and is a deeper fix than just using
    kzalloc.


 fs/netfs/misc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/netfs/misc.c b/fs/netfs/misc.c
index 63280791de3b..78fe5796b2b2 100644
--- a/fs/netfs/misc.c
+++ b/fs/netfs/misc.c
@@ -102,7 +102,7 @@ void netfs_clear_buffer(struct netfs_io_request *rreq)
 
 	while ((p = rreq->buffer)) {
 		rreq->buffer = p->next;
-		for (int slot = 0; slot < folioq_nr_slots(p); slot++) {
+		for (int slot = 0; slot < folioq_count(p); slot++) {
 			struct folio *folio = folioq_folio(p, slot);
 			if (!folio)
 				continue;
-- 
2.46.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-10-01  5:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-20 17:00 [syzbot] [netfs?] KMSAN: uninit-value in netfs_clear_buffer syzbot
2024-09-21  0:23 ` [syzbot] [PATCH] netfs: Fix a KMSAN uninit-value error " syzbot
2024-10-01  5:46 ` [syzbot] [PATCH v2] " syzbot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox