* [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