"value":"In the Linux kernel, the following vulnerability has been resolved:\n\nice: Fix race condition during interface enslave\n\nCommit 5dbbbd01cbba83 (\"ice: Avoid RTNL lock when re-creating\nauxiliary device\")changesaprocessofre-creationofauxdevice\nsoice_plug_aux_dev()iscalledfromice_service_task()context.\nThisunfortunatelyopensaracewindowthatcanresultindead-lock\nwheninterfacehasleftLAGandimmediatelyentersLAGagain.\n\nReproducer:\n```\n#!/bin/sh\n\niplinkaddlag0typebondmode1miimon100\niplinksetlag0\n\nfornin{1..10};do\nechoCycle:$n\niplinksetens7f0masterlag0\nsleep1\niplinksetens7f0nomaster\ndone\n```\n\nThisresultsin:\n[20976.208697]Workqueue:iceice_service_task[ice]\n[20976.213422]CallTrace:\n[20976.215871]__schedule+0x2d1/0x830\n[20976.219364]schedule+0x35/0xa0\n[20976.222510]schedule_preempt_disabled+0xa/0x10\n[20976.227043]__mutex_lock.isra.7+0x310/0x420\n[20976.235071]enum_all_gids_of_dev_cb+0x1c/0x100[ib_core]\n[20976.251215]ib_enum_roce_netdev+0xa4/0xe0[ib_core]\n[20976.256192]ib_cache_setup_one+0x33/0xa0[ib_core]\n[20976.261079]ib_register_device+0x40d/0x580[ib_core]\n[20976.266139]irdma_ib_register_device+0x129/0x250[irdma]\n[20976.281409]irdma_probe+0x2c1/0x360[irdma]\n[20976.285691]auxiliary_bus_probe+0x45/0x70\n[20976.289790]really_probe+0x1f2/0x480\n[20976.298509]driver_probe_device+0x49/0xc0\n[20976.302609]bus_for_each_drv+0x79/0xc0\n[20976.306448]__device_attach+0xdc/0x160\n[20976.310286]bus_probe_device+0x9d/0xb0\n[20976.314128]device_add+0x43c/0x890\n[20976.321287]__auxiliary_device_add+0x43/0x60\n[20976.325644]ice_plug_aux_dev+0xb2/0x100[ice]\n[20976.330109]ice_service_task+0xd0c/0xed0[ice]\n[20976.342591]process_one_work+0x1a7/0x360\n[20976.350536]worker_thread+0x30/0x390\n[20976.358128]kthread+0x10a/0x120\n[20976.365547]ret_from_fork+0x1f/0x40\n...\n[20976.438030]task:ipstate:Dstack:0pid:213658ppid:213627flags:0x00004084\n[20976.446469]CallTrace:\n[20976.448921]__schedule+0x2d1/0x830\n[20976.452414]schedule+0x35/0xa0\n[20976.455559]schedule_preempt_disabled+0xa/0x10\n[20976.460090]__mutex_lock.isra.7+0x310/0x420\n[20976.464364]device_del+0x36/0x3c0\n[20976.467772]ice_unplug_aux_dev+0x1a/0x40[ice]\n[20976.472313]ice_lag_event_handler+0x2a2/0x520[ice]\n[20976.477288]notifier_call_chain+0x47/0x70\n[20976.481386]__netdev_upper_dev_link+0x18b/0x280\n[20976.489845]bond_enslave+0xe05/0x1790[bonding]\n[20976.494475]do_setlink+0x336/0xf50\n[20976.502517]__rtnl_newlink+0x529/0x8b0\n[20976.543441]rtnl_newlink+0x43/0x60\n[20976.546934]rtnetlink_rcv_msg+0x2b1/0x360\n[20976.559238]netlink_rcv_skb+0x4c/0x120\n[20976.563079]netlink_unicast+0x196/0x230\n[20976.567005]netlink_sendmsg+0x204/0x3d0\n[20976.570930]sock_sendmsg+0x4c/0x50\n[20976.574423]____sys_sendmsg+0x1eb/0x250\n[20976.586807]___sys_sendmsg+0x7c/0xc0\n[20976.606353]__sys_sendmsg+0x57/0xa0\n[20976.609930]do_syscall_64+0x5b/0x1a0\n[20976.613598]entry_SYSCALL_64_after_hwframe+0x65/0xca\n\n1.Command'iplink...setnomaster'causesthatice_plug_aux_dev()\niscalledfromice_service_task()context,auxdeviceiscreated\nandassociateddevice->lockistaken.\n2.Command'iplink...setmaster...'callsice'snotifierunder\nRTNLlockandthatnotifiercallsice_unplug_aux_dev().That\nfunctiontriestotakeauxdevice->lockbutthisisalreadytaken\nbyice_plug_aux_dev()instep1\n3.Laterice_plug_aux_dev()triestotakeRTNLlockbutthisisalready\ntakeninstep2\n4.Dead-lock\n\nThepatchfixesthisissuebyfollowingchanges:\n-BitICE_FLAG_PLUG_AUX_DEViskepttobesetduringice_plug_aux_dev()\ncallinice_service_task()\n-Thebitischeckedinice_clear_rdma_cap()andonlyifitisnotset\nthenice_unplug_aux_dev()iscalled.Ifitisset(inotherwords\npluggingofauxdevicewasrequestedandice_plug_aux_dev()is\npotentiallyrunning)thenthefunctiononly