Subject: [syzbot] memory leak in ipv6_renew_options

From: syzbot <[email-masked]>
Date: Sun, 17 Jul 2022 11:21:36 -0700

Hello,

syzbot found the following issue on:

HEAD commit:    b047602d579b Merge tag 'trace-v5.19-rc5' of git://git.kern..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1129c37c080000
kernel config:  https://syzkaller.appspot.com/x/.config?x=689b5fe7168a1260
dashboard link: https://syzkaller.appspot.com/bug?extid=a8430774139ec3ab7176
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=1349421c080000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=120fcc1c080000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: [email-masked]

executing program
executing program
BUG: memory leak
unreferenced object 0xffff88810b810f00 (size 96):
  comm "syz-executor113", pid 3606, jiffies 4294944081 (age 12.460s)
  hex dump (first 32 bytes):
    01 00 00 00 48 00 00 00 00 00 08 00 00 00 00 00  ....H...........
    00 00 00 00 00 00 00 00 40 0f 81 0b 81 88 ff ff  ........@.......
  backtrace:
    [<ffffffff83855781>] kmalloc include/linux/slab.h:605 [inline]
    [<ffffffff83855781>] sock_kmalloc net/core/sock.c:2563 [inline]
    [<ffffffff83855781>] sock_kmalloc+0x61/0x90 net/core/sock.c:2554
    [<ffffffff83d3fa60>] ipv6_renew_options+0x120/0x440 net/ipv6/exthdrs.c:1318
    [<ffffffff83d138ad>] ipv6_set_opt_hdr net/ipv6/ipv6_sockglue.c:354 [inline]
    [<ffffffff83d138ad>] do_ipv6_setsockopt.constprop.0+0x49d/0x24d0 net/ipv6/ipv6_sockglue.c:668
    [<ffffffff83d1599e>] ipv6_setsockopt+0xbe/0x120 net/ipv6/ipv6_sockglue.c:1021
    [<ffffffff838517d0>] __sys_setsockopt+0x1b0/0x390 net/socket.c:2254
    [<ffffffff838519d2>] __do_sys_setsockopt net/socket.c:2265 [inline]
    [<ffffffff838519d2>] __se_sys_setsockopt net/socket.c:2262 [inline]
    [<ffffffff838519d2>] __x64_sys_setsockopt+0x22/0x30 net/socket.c:2262
    [<ffffffff845ad915>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
    [<ffffffff845ad915>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
    [<ffffffff84600087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

---
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 [email-masked].

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