Re: [PATCH wpan] mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

On 04.12.22 23:49, Alexander Aring wrote:
Hi,

On Wed, Nov 30, 2022 at 4:19 AM Wei Yongjun <weiyongjun@xxxxxxxxxxxxxxx> wrote:

From: Wei Yongjun <weiyongjun1@xxxxxxxxxx>

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@xxxxxxxxxx>

Nice catch. :)

Acked-by: Alexander Aring <aahringo@xxxxxxxxxx>


This patch has been applied to the wpan tree and will be
part of the next pull request to net. Thanks!

regards
Stefan Schmidt



[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux