syzbot


KASAN: null-ptr-deref Write in linear_transfer

Status: fixed on 2018/05/13 11:01
Subsystems: sound
[Documentation on labels]
Reported-by: syzbot+a8f5641f452c7e6abf03@syzkaller.appspotmail.com
Fix commit: 02a5d6925cd3 ALSA: pcm: Avoid potential races between OSS ioctls and read/write
First crash: 2305d, last: 2219d
Discussions (1)
Title Replies (including bot) Last reply
KASAN: null-ptr-deref Write in linear_transfer 4 (5) 2018/05/13 07:37

Sample crash report:
==================================================================
BUG: KASAN: null-ptr-deref in memcpy include/linux/string.h:344 [inline]
BUG: KASAN: null-ptr-deref in do_convert sound/core/oss/linear.c:52 [inline]
BUG: KASAN: null-ptr-deref in convert sound/core/oss/linear.c:81 [inline]
BUG: KASAN: null-ptr-deref in linear_transfer+0x634/0x900 sound/core/oss/linear.c:110
Write of size 2 at addr           (null) by task syzkaller360172/7860

CPU: 0 PID: 7860 Comm: syzkaller360172 Not tainted 4.15.0-rc6+ #155
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:17 [inline]
 dump_stack+0x194/0x257 lib/dump_stack.c:53
 kasan_report_error mm/kasan/report.c:349 [inline]
 kasan_report+0x13b/0x340 mm/kasan/report.c:409
 check_memory_region_inline mm/kasan/kasan.c:260 [inline]
 check_memory_region+0x137/0x190 mm/kasan/kasan.c:267
 memcpy+0x37/0x50 mm/kasan/kasan.c:303
 memcpy include/linux/string.h:344 [inline]
 do_convert sound/core/oss/linear.c:52 [inline]
 convert sound/core/oss/linear.c:81 [inline]
 linear_transfer+0x634/0x900 sound/core/oss/linear.c:110
 snd_pcm_plug_write_transfer+0x22d/0x420 sound/core/oss/pcm_plugin.c:611
 snd_pcm_oss_write2+0x260/0x420 sound/core/oss/pcm_oss.c:1311
 snd_pcm_oss_sync1+0x1cc/0x550 sound/core/oss/pcm_oss.c:1530
 snd_pcm_oss_sync+0x5b6/0x830 sound/core/oss/pcm_oss.c:1604
 snd_pcm_oss_release+0x20b/0x280 sound/core/oss/pcm_oss.c:2431
 __fput+0x327/0x7e0 fs/file_table.c:210
 ____fput+0x15/0x20 fs/file_table.c:244
 task_work_run+0x199/0x270 kernel/task_work.c:113
 exit_task_work include/linux/task_work.h:22 [inline]
 do_exit+0x9bb/0x1ad0 kernel/exit.c:865
 do_group_exit+0x149/0x400 kernel/exit.c:968
 get_signal+0x73f/0x16c0 kernel/signal.c:2335
 do_signal+0x90/0x1eb0 arch/x86/kernel/signal.c:809
 exit_to_usermode_loop+0x214/0x310 arch/x86/entry/common.c:158
 prepare_exit_to_usermode arch/x86/entry/common.c:195 [inline]
 syscall_return_slowpath arch/x86/entry/common.c:264 [inline]
 do_syscall_32_irqs_on arch/x86/entry/common.c:333 [inline]
 do_fast_syscall_32+0xbfd/0xf9d arch/x86/entry/common.c:389
 entry_SYSENTER_compat+0x54/0x63 arch/x86/entry/entry_64_compat.S:129
RIP: 0023:0xf7fcac79
RSP: 002b:00000000f7f8412c EFLAGS: 00000292 ORIG_RAX: 00000000000000f0
RAX: fffffffffffffe00 RBX: 00000000080fd024 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00000000080fd024
RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
==================================================================
Kernel panic - not syncing: panic_on_warn set ...

CPU: 0 PID: 7860 Comm: syzkaller360172 Tainted: G    B            4.15.0-rc6+ #155
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:17 [inline]
 dump_stack+0x194/0x257 lib/dump_stack.c:53
 panic+0x1e4/0x41c kernel/panic.c:183
 kasan_end_report+0x50/0x50 mm/kasan/report.c:176
 kasan_report_error mm/kasan/report.c:356 [inline]
 kasan_report+0x144/0x340 mm/kasan/report.c:409
 check_memory_region_inline mm/kasan/kasan.c:260 [inline]
 check_memory_region+0x137/0x190 mm/kasan/kasan.c:267
 memcpy+0x37/0x50 mm/kasan/kasan.c:303
 memcpy include/linux/string.h:344 [inline]
 do_convert sound/core/oss/linear.c:52 [inline]
 convert sound/core/oss/linear.c:81 [inline]
 linear_transfer+0x634/0x900 sound/core/oss/linear.c:110
 snd_pcm_plug_write_transfer+0x22d/0x420 sound/core/oss/pcm_plugin.c:611
 snd_pcm_oss_write2+0x260/0x420 sound/core/oss/pcm_oss.c:1311
 snd_pcm_oss_sync1+0x1cc/0x550 sound/core/oss/pcm_oss.c:1530
 snd_pcm_oss_sync+0x5b6/0x830 sound/core/oss/pcm_oss.c:1604
 snd_pcm_oss_release+0x20b/0x280 sound/core/oss/pcm_oss.c:2431
 __fput+0x327/0x7e0 fs/file_table.c:210
 ____fput+0x15/0x20 fs/file_table.c:244
 task_work_run+0x199/0x270 kernel/task_work.c:113
 exit_task_work include/linux/task_work.h:22 [inline]
 do_exit+0x9bb/0x1ad0 kernel/exit.c:865
 do_group_exit+0x149/0x400 kernel/exit.c:968
 get_signal+0x73f/0x16c0 kernel/signal.c:2335
 do_signal+0x90/0x1eb0 arch/x86/kernel/signal.c:809
 exit_to_usermode_loop+0x214/0x310 arch/x86/entry/common.c:158
 prepare_exit_to_usermode arch/x86/entry/common.c:195 [inline]
 syscall_return_slowpath arch/x86/entry/common.c:264 [inline]
 do_syscall_32_irqs_on arch/x86/entry/common.c:333 [inline]
 do_fast_syscall_32+0xbfd/0xf9d arch/x86/entry/common.c:389
 entry_SYSENTER_compat+0x54/0x63 arch/x86/entry/entry_64_compat.S:129
RIP: 0023:0xf7fcac79
RSP: 002b:00000000f7f8412c EFLAGS: 00000292 ORIG_RAX: 00000000000000f0
RAX: fffffffffffffe00 RBX: 00000000080fd024 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00000000080fd024
RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
Dumping ftrace buffer:
   (ftrace buffer empty)
Kernel Offset: disabled
Rebooting in 86400 seconds..

Crashes (116):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/01/02 16:54 upstream 30a7acd57389 00193447 .config console log report syz C ci-upstream-kasan-gce-386
2018/01/04 23:45 linux-next 73005e1a35fd 00193447 .config console log report syz C ci-upstream-next-kasan-gce
2018/01/02 16:52 linux-next e0e99813fb1d 00193447 .config console log report syz C ci-upstream-next-kasan-gce
2018/03/29 06:48 upstream a2601d78b77a bf5e585c .config console log report ci-upstream-kasan-gce-root
2018/03/08 20:12 upstream 1b88accf6a65 acd0caa5 .config console log report ci-upstream-kasan-gce
2018/02/01 11:07 upstream 255442c93843 02553e22 .config console log report ci-upstream-kasan-gce
2018/01/30 09:23 upstream 6304672b7f0a 08d47756 .config console log report ci-upstream-kasan-gce
2018/01/29 20:53 upstream d8a5b80568a9 08d47756 .config console log report ci-upstream-kasan-gce
2018/01/29 17:07 upstream d8a5b80568a9 08d47756 .config console log report ci-upstream-kasan-gce
2018/01/28 13:28 upstream c4e0ca7fa241 08d47756 .config console log report ci-upstream-kasan-gce
2018/01/26 21:37 upstream 993ca2068b04 1d18b112 .config console log report ci-upstream-kasan-gce
2018/01/11 12:32 upstream 5f615b97cdea 9dc808a6 .config console log report ci-upstream-kasan-gce
2018/03/04 22:10 upstream e64b9562ba28 2c6f473e .config console log report ci-upstream-kasan-gce-386
2018/01/10 23:43 mmots 69eed2290e1d 02a19b64 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 22:29 mmots 69eed2290e1d 02a19b64 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 22:01 mmots 69eed2290e1d 02a19b64 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 17:36 mmots 69eed2290e1d 02a19b64 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 15:22 mmots 69eed2290e1d 02a19b64 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 14:42 mmots 69eed2290e1d 02a19b64 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 13:16 mmots 69eed2290e1d 02a19b64 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 12:16 mmots 69eed2290e1d 02a19b64 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 10:45 mmots 69eed2290e1d 02a19b64 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 09:24 mmots 69eed2290e1d 02a19b64 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 07:54 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 05:25 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 04:42 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 02:53 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 02:39 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 02:26 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 02:11 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 01:46 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 00:48 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/10 00:41 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 23:10 mmots 69eed2290e1d 1f60c828 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 20:03 mmots 69eed2290e1d a7899a58 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 19:30 mmots 69eed2290e1d a7899a58 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 18:22 mmots 69eed2290e1d a7899a58 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 14:18 mmots 69eed2290e1d 11dc42f6 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 14:11 mmots 69eed2290e1d 11dc42f6 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 13:01 mmots 69eed2290e1d 11dc42f6 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 11:05 mmots 69eed2290e1d 11dc42f6 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 11:04 mmots 69eed2290e1d 11dc42f6 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 07:13 mmots 69eed2290e1d 11dc42f6 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 04:46 mmots 69eed2290e1d 11dc42f6 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 04:04 mmots 69eed2290e1d 11dc42f6 .config console log report ci-upstream-mmots-kasan-gce
2018/01/09 02:31 mmots 69eed2290e1d 11dc42f6 .config console log report ci-upstream-mmots-kasan-gce
* Struck through repros no longer work on HEAD.