linux/drivers/net/bonding
Johannes Berg 35d96e6318 bonding: init notify_work earlier to avoid uninitialized use
If bond_kobj_init() or later kzalloc() in bond_alloc_slave() fail,
then we call kobject_put() on the slave->kobj. This in turn calls
the release function slave_kobj_release() which will always try to
cancel_delayed_work_sync(&slave->notify_work), which shouldn't be
done on an uninitialized work struct.

Always initialize the work struct earlier to avoid problems here.

Syzbot bisected this down to a completely pointless commit, some
fault injection may have been at work here that caused the alloc
failure in the first place, which may interact badly with bisect.

Reported-by: syzbot+bfda097c12a00c8cae67@syzkaller.appspotmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Jay Vosburgh <jay.vosburgh@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-05-17 15:24:20 -07:00
..
bond_3ad.c bonding: 3ad: Print an error for unknown speeds 2021-02-11 14:28:21 -08:00
bond_alb.c net: bonding: remove repeated word 2021-03-30 16:56:39 -07:00
bond_debugfs.c bonding: no need to print a message if debugfs_create_dir() fails 2019-08-10 15:25:47 -07:00
bond_main.c bonding: init notify_work earlier to avoid uninitialized use 2021-05-17 15:24:20 -07:00
bond_netlink.c bonding: check return value of register_netdevice() in bond_newlink() 2020-07-23 15:17:04 -07:00
bond_options.c bonding: Added -ENODEV interpret for slaves option 2021-03-15 12:40:01 -07:00
bond_procfs.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
bond_sysfs_slave.c bonding: wait for sysfs kobject destruction before freeing struct slave 2020-11-21 13:07:00 -08:00
bond_sysfs.c bonding: add an option to specify a delay between peer notifications 2019-07-04 12:30:48 -07:00
bonding_priv.h drivers: Remove inclusion of vermagic header 2020-04-21 13:27:37 -07:00
Makefile