In the Linux kernel, the following vulnerability has been resolved:
bonding: fix NULL deref in bondrrgenslaveid
Fix a NULL dereference of the struct bonding.rrtxcounter member because if a bond is initially created with an initial mode != zero (Round Robin) the memory required for the counter is never created and when the mode is changed there is never any attempt to verify the memory is allocated upon switching modes.
This causes the following Oops on an aarch64 machine: [ 334.686773] Unable to handle kernel paging request at virtual address ffff2c91ac905000 [ 334.694703] Mem abort info: [ 334.697486] ESR = 0x0000000096000004 [ 334.701234] EC = 0x25: DABT (current EL), IL = 32 bits [ 334.706536] SET = 0, FnV = 0 [ 334.709579] EA = 0, S1PTW = 0 [ 334.712719] FSC = 0x04: level 0 translation fault [ 334.717586] Data abort info: [ 334.720454] ISV = 0, ISS = 0x00000004 [ 334.724288] CM = 0, WnR = 0 [ 334.727244] swapper pgtable: 4k pages, 48-bit VAs, pgdp=000008044d662000 [ 334.733944] [ffff2c91ac905000] pgd=0000000000000000, p4d=0000000000000000 [ 334.740734] Internal error: Oops: 96000004 [#1] SMP [ 334.745602] Modules linked in: bonding tls veth rfkill sunrpc armspepmu vfat fat acpiipmi ipmissif ixgbe igb i40e mdio ipmidevintf ipmimsghandler armcmn armdsupmu cppccpufreq acpitad fuse zram crct10difce ast ghashce sbsagwdt nvme drmvramhelper drmttmhelper nvmecore ttm xgenehwmon [ 334.772217] CPU: 7 PID: 2214 Comm: ping Not tainted 6.0.0-rc4-00133-g64ae13ed4784 #4 [ 334.779950] Hardware name: GIGABYTE R272-P31-00/MP32-AR1-00, BIOS F18v (SCP: 1.08.20211002) 12/01/2021 [ 334.789244] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 334.796196] pc : bondrrgenslaveid+0x40/0x124 [bonding] [ 334.801691] lr : bondxmitroundrobinslaveget+0x38/0xdc [bonding] [ 334.807962] sp : ffff8000221733e0 [ 334.811265] x29: ffff8000221733e0 x28: ffffdbac8572d198 x27: ffff80002217357c [ 334.818392] x26: 000000000000002a x25: ffffdbacb33ee000 x24: ffff07ff980fa000 [ 334.825519] x23: ffffdbacb2e398ba x22: ffff07ff98102000 x21: ffff07ff981029c0 [ 334.832646] x20: 0000000000000001 x19: ffff07ff981029c0 x18: 0000000000000014 [ 334.839773] x17: 0000000000000000 x16: ffffdbacb1004364 x15: 0000aaaabe2f5a62 [ 334.846899] x14: ffff07ff8e55d968 x13: ffff07ff8e55db30 x12: 0000000000000000 [ 334.854026] x11: ffffdbacb21532e8 x10: 0000000000000001 x9 : ffffdbac857178ec [ 334.861153] x8 : ffff07ff9f6e5a28 x7 : 0000000000000000 x6 : 000000007c2b3742 [ 334.868279] x5 : ffff2c91ac905000 x4 : ffff2c91ac905000 x3 : ffff07ff9f554400 [ 334.875406] x2 : ffff2c91ac905000 x1 : 0000000000000001 x0 : ffff07ff981029c0 [ 334.882532] Call trace: [ 334.884967] bondrrgenslaveid+0x40/0x124 [bonding] [ 334.890109] bondxmitroundrobinslaveget+0x38/0xdc [bonding] [ 334.896033] _bondstartxmit+0x128/0x3a0 [bonding] [ 334.901001] bondstartxmit+0x54/0xb0 [bonding] [ 334.905622] devhardstartxmit+0xb4/0x220 [ 334.909798] _devqueuexmit+0x1a0/0x720 [ 334.913799] arpxmit+0x3c/0xbc [ 334.916932] arpsenddst+0x98/0xd0 [ 334.920410] arpsolicit+0xe8/0x230 [ 334.923888] neighprobe+0x60/0xb0 [ 334.927279] _neigheventsend+0x3b0/0x470 [ 334.931453] neighresolveoutput+0x70/0x90 [ 334.935626] ipfinishoutput2+0x158/0x514 [ 334.939714] _ipfinishoutput+0xac/0x1a4 [ 334.943800] ipfinishoutput+0x40/0xfc [ 334.947626] ipoutput+0xf8/0x1a4 [ 334.950931] ipsendskb+0x5c/0x100 [ 334.954410] ippushpendingframes+0x3c/0x60 [ 334.958758] rawsendmsg+0x458/0x6d0 [ 334.962325] inetsendmsg+0x50/0x80 [ 334.965805] socksendmsg+0x60/0x6c [ 334.969286] _syssendto+0xc8/0x134 [ 334.972853] _arm64syssendto+0x34/0x4c ---truncated---