lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 4 Dec 2022 17:49:34 -0500
From:   Alexander Aring <aahringo@...hat.com>
To:     Wei Yongjun <weiyongjun@...weicloud.com>
Cc:     Alexander Aring <alex.aring@...il.com>,
        Stefan Schmidt <stefan@...enfreihafen.org>,
        "David S. Miller" <davem@...emloft.net>,
        Eric Dumazet <edumazet@...gle.com>,
        Jakub Kicinski <kuba@...nel.org>,
        Paolo Abeni <pabeni@...hat.com>,
        Marcel Holtmann <marcel@...tmann.org>,
        Wei Yongjun <weiyongjun1@...wei.com>,
        linux-wpan@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH wpan] mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add()

Hi,

On Wed, Nov 30, 2022 at 4:19 AM Wei Yongjun <weiyongjun@...weicloud.com> wrote:
>
> From: Wei Yongjun <weiyongjun1@...wei.com>
>
> Kernel fault injection test reports null-ptr-deref as follows:
>
> BUG: kernel NULL pointer dereference, address: 0000000000000008
> RIP: 0010:cfg802154_netdev_notifier_call+0x120/0x310 include/linux/list.h:114
> Call Trace:
>  <TASK>
>  raw_notifier_call_chain+0x6d/0xa0 kernel/notifier.c:87
>  call_netdevice_notifiers_info+0x6e/0xc0 net/core/dev.c:1944
>  unregister_netdevice_many_notify+0x60d/0xcb0 net/core/dev.c:1982
>  unregister_netdevice_queue+0x154/0x1a0 net/core/dev.c:10879
>  register_netdevice+0x9a8/0xb90 net/core/dev.c:10083
>  ieee802154_if_add+0x6ed/0x7e0 net/mac802154/iface.c:659
>  ieee802154_register_hw+0x29c/0x330 net/mac802154/main.c:229
>  mcr20a_probe+0xaaa/0xcb1 drivers/net/ieee802154/mcr20a.c:1316
>
> ieee802154_if_add() allocates wpan_dev as netdev's private data, but not
> init the list in struct wpan_dev. cfg802154_netdev_notifier_call() manage
> the list when device register/unregister, and may lead to null-ptr-deref.
>
> Use INIT_LIST_HEAD() on it to initialize it correctly.
>
> Fixes: fcf39e6e88e9 ("ieee802154: add wpan_dev_list")
> Signed-off-by: Wei Yongjun <weiyongjun1@...wei.com>

Nice catch. :)

Acked-by: Alexander Aring <aahringo@...hat.com>

- Alex

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ