Re: KMSAN: uninit-value in __inet6_bind

From: Eric Dumazet
Date: Fri Dec 14 2018 - 10:14:55 EST




On 12/14/2018 07:04 AM, Jon Maloy wrote:
>
>
>> -----Original Message-----
>> From: Cong Wang <xiyou.wangcong@xxxxxxxxx>
>> Sent: 12-Dec-18 01:17
>> To: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
>> Cc: syzbot+c56449ed3652e6720f30@xxxxxxxxxxxxxxxxxxxxxxxxx; Jon Maloy
>> <jon.maloy@xxxxxxxxxxxx>; Ying Xue <ying.xue@xxxxxxxxxxxxx>; tipc-
>> discussion@xxxxxxxxxxxxxxxxxxxxx; David Miller <davem@xxxxxxxxxxxxx>;
>> Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx>; LKML <linux-
>> kernel@xxxxxxxxxxxxxxx>; Linux Kernel Network Developers
>> <netdev@xxxxxxxxxxxxxxx>; syzkaller-bugs@xxxxxxxxxxxxxxxx; Hideaki
>> YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx>
>> Subject: Re: KMSAN: uninit-value in __inet6_bind
>>
>> On Tue, Dec 11, 2018 at 1:04 AM Dmitry Vyukov <dvyukov@xxxxxxxxxx>
>> wrote:
>>>
>>> On Tue, Dec 11, 2018 at 1:41 AM syzbot
>>> <syzbot+c56449ed3652e6720f30@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>>>>
>>>> Hello,
>>>>
>>>> syzbot found the following crash on:
>>>>
>>>> HEAD commit: 3f06bda61398 kmsan: remove excessive KMSAN
>> wrappers from a..
>>>> git tree: https://github.com/google/kmsan.git/master
>>>> console output:
>>>> https://syzkaller.appspot.com/x/log.txt?x=13ca6b05400000
>>>> kernel config:
>>>> https://syzkaller.appspot.com/x/.config?x=9b071100dcf8e641
>>>> dashboard link:
>> https://syzkaller.appspot.com/bug?extid=c56449ed3652e6720f30
>>>> compiler: clang version 8.0.0 (trunk 348261)
>>>>
>>>> Unfortunately, I don't have any reproducer for this crash yet.
>>>>
>>>> IMPORTANT: if you fix the bug, please add the following tag to the
>> commit:
>>>> Reported-by: syzbot+c56449ed3652e6720f30@xxxxxxxxxxxxxxxxxxxxxxxxx
>>>
>>> This looks like a bug in TIPC, +TIPC maintainers.
>>>
>>
>> It looks more like udp_sock_create6() doesn't initialize
>> udp6_addr.sin6_scope_id.
>
> Unfortunately udp_sock_create6() has no way of knowing this value, because struct udp_port_cfg is missing a field sin6_scope_id.
> So this has to be fixed first by adding this field to the struct, and then setting it correctly in all current users.
>

Do we reasons to believe values other than 0 are needed ?