In the Linux kernel, the following vulnerability has been resolved:
ice: fix Tx scheduler error handling in XDP callback
When the XDP program is loaded, the XDP callback adds new Tx queues. This means that the callback must update the Tx scheduler with the new queue number. In the event of a Tx scheduler failure, the XDP callback should also fail and roll back any changes previously made for XDP preparation.
The previous implementation had a bug that not all changes made by the XDP callback were rolled back. This caused the crash with the following call trace:
[ +9.549584] ice 0000:ca:00.0: Failed VSI LAN queue config for XDP, error: -5 [ +0.382335] Oops: general protection fault, probably for non-canonical address 0x50a2250a90495525: 0000 [#1] SMP NOPTI [ +0.010710] CPU: 103 UID: 0 PID: 0 Comm: swapper/103 Not tainted 6.14.0-net-next-mar-31+ #14 PREEMPT(voluntary) [ +0.010175] Hardware name: Intel Corporation M50CYP2SBSTD/M50CYP2SBSTD, BIOS SE5C620.86B.01.01.0005.2202160810 02/16/2022 [ +0.010946] RIP: 0010:_iceupdate_sample+0x39/0xe0 [ice]
[...]
[ +0.002715] Call Trace: [ +0.002452] <IRQ> [ +0.002021] ? _diebody.cold+0x19/0x29 [ +0.003922] ? dieaddr+0x3c/0x60 [ +0.003319] ? excgeneralprotection+0x17c/0x400 [ +0.004707] ? asmexcgeneralprotection+0x26/0x30 [ +0.004879] ? _iceupdatesample+0x39/0xe0 [ice] [ +0.004835] icenapipoll+0x665/0x680 [ice] [ +0.004320] _napipoll+0x28/0x190 [ +0.003500] netrxaction+0x198/0x360 [ +0.003752] ? updaterqclock+0x39/0x220 [ +0.004013] handlesoftirqs+0xf1/0x340 [ +0.003840] ? schedclockcpu+0xf/0x1f0 [ +0.003925] _irqexitrcu+0xc2/0xe0 [ +0.003665] commoninterrupt+0x85/0xa0 [ +0.003839] </IRQ> [ +0.002098] <TASK> [ +0.002106] asmcommoninterrupt+0x26/0x40 [ +0.004184] RIP: 0010:cpuidleenterstate+0xd3/0x690
Fix this by performing the missing unmapping of XDP queues from q_vectors and setting the XDP rings pointer back to NULL after all those queues are released. Also, add an immediate exit from the XDP callback in case of ring preparation failure.
[
{
"target": {
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-0378420a",
"digest": {
"threshold": 0.9,
"line_hashes": [
"159989548782034719116429347273317913445",
"103997743908422483698914019673334049021",
"188177940933510009275748363669476091660",
"233491756208279718529459869357293045657",
"180029766815858453832751503589448775805",
"322124805490262112576202732721568724784",
"226614744368656179197428339345508383740",
"43967726119194690066777267490561550359",
"261336056677916035493869032376397613585",
"83746390627062472071843992862671563261",
"288641544139206122925488456304021985725",
"210199552503391077105411321831459712088",
"176996328892452348350786855956682588060",
"24857487334005284338655932156972958988",
"53217031662464530584216136303880959002",
"178979164892906269492724261494210673624",
"133143442202883558032497940327852447254",
"260554058524703747173368786766729963320",
"301617013032217979683927174256175326983",
"277584124875352732483769895008703426746",
"86396548107834184909102722941664817759",
"151464846945577034088335385258374728230",
"241732401097223608545926653914803642899",
"168532335884794355022282446670722605924",
"322621399263624530348621086884915627671",
"310150783526432621805076563638763170683",
"212639169690559076359370346559738197827",
"104097834178744208897194206524577140694",
"103283131487512197085536209250884853502",
"306106889765815985909353383779869017487",
"218108950867307112199295102943088769789",
"173805134500383455473646211365969013917",
"134930655459406734970623272934281663767",
"212011273859714431415628516674240696439",
"287582579909208252851068764787929988660",
"187032893855843358192537956110827847439",
"11810144799333586078678965739046139628",
"301918766268021503012448124756744697894",
"275891160906771094843596068461794449887",
"10020254918352022888784465258665904607",
"208939718409136034557415727664241066826"
]
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e061abaad1498c5b76c10c594d4359ceb6b9145",
"signature_type": "Line"
},
{
"target": {
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-062ae89c",
"digest": {
"threshold": 0.9,
"line_hashes": [
"188122849320982444863984069389148820431",
"33776859282993000824388010040880861011",
"188177940933510009275748363669476091660",
"233491756208279718529459869357293045657",
"180029766815858453832751503589448775805",
"322124805490262112576202732721568724784",
"226614744368656179197428339345508383740",
"43967726119194690066777267490561550359",
"261336056677916035493869032376397613585",
"83746390627062472071843992862671563261",
"288641544139206122925488456304021985725",
"210199552503391077105411321831459712088",
"176996328892452348350786855956682588060",
"24857487334005284338655932156972958988",
"53217031662464530584216136303880959002",
"178979164892906269492724261494210673624",
"133143442202883558032497940327852447254",
"260554058524703747173368786766729963320",
"301617013032217979683927174256175326983",
"277584124875352732483769895008703426746",
"86396548107834184909102722941664817759",
"151464846945577034088335385258374728230",
"241732401097223608545926653914803642899",
"168532335884794355022282446670722605924",
"322621399263624530348621086884915627671",
"310150783526432621805076563638763170683",
"212639169690559076359370346559738197827",
"104097834178744208897194206524577140694",
"103283131487512197085536209250884853502",
"306106889765815985909353383779869017487",
"218108950867307112199295102943088769789",
"173805134500383455473646211365969013917",
"134930655459406734970623272934281663767",
"212011273859714431415628516674240696439",
"287582579909208252851068764787929988660",
"187032893855843358192537956110827847439",
"11810144799333586078678965739046139628",
"301918766268021503012448124756744697894",
"275891160906771094843596068461794449887",
"10020254918352022888784465258665904607",
"208939718409136034557415727664241066826"
]
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1d3c5d0dec6797eca3a861dab0816fa9505d9c3e",
"signature_type": "Line"
},
{
"target": {
"function": "ice_xdp_setup_prog",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-1155fef1",
"digest": {
"function_hash": "315595906858597864088475675854471459002",
"length": 1577.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0153f36041b8e52019ebfa8629c13bf8f9b0a951",
"signature_type": "Function"
},
{
"target": {
"function": "ice_xdp_setup_prog",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-34edd1ae",
"digest": {
"function_hash": "315595906858597864088475675854471459002",
"length": 1577.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e061abaad1498c5b76c10c594d4359ceb6b9145",
"signature_type": "Function"
},
{
"target": {
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-387662c0",
"digest": {
"threshold": 0.9,
"line_hashes": [
"159989548782034719116429347273317913445",
"103997743908422483698914019673334049021",
"188177940933510009275748363669476091660",
"233491756208279718529459869357293045657",
"180029766815858453832751503589448775805",
"322124805490262112576202732721568724784",
"226614744368656179197428339345508383740",
"43967726119194690066777267490561550359",
"261336056677916035493869032376397613585",
"83746390627062472071843992862671563261",
"288641544139206122925488456304021985725",
"210199552503391077105411321831459712088",
"176996328892452348350786855956682588060",
"24857487334005284338655932156972958988",
"53217031662464530584216136303880959002",
"178979164892906269492724261494210673624",
"133143442202883558032497940327852447254",
"260554058524703747173368786766729963320",
"301617013032217979683927174256175326983",
"277584124875352732483769895008703426746",
"86396548107834184909102722941664817759",
"151464846945577034088335385258374728230",
"241732401097223608545926653914803642899",
"168532335884794355022282446670722605924",
"322621399263624530348621086884915627671",
"310150783526432621805076563638763170683",
"212639169690559076359370346559738197827",
"104097834178744208897194206524577140694",
"103283131487512197085536209250884853502",
"306106889765815985909353383779869017487",
"218108950867307112199295102943088769789",
"173805134500383455473646211365969013917",
"134930655459406734970623272934281663767",
"212011273859714431415628516674240696439",
"287582579909208252851068764787929988660",
"187032893855843358192537956110827847439",
"11810144799333586078678965739046139628",
"301918766268021503012448124756744697894",
"275891160906771094843596068461794449887",
"10020254918352022888784465258665904607",
"208939718409136034557415727664241066826"
]
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0153f36041b8e52019ebfa8629c13bf8f9b0a951",
"signature_type": "Line"
},
{
"target": {
"function": "ice_prepare_xdp_rings",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-3d679ca9",
"digest": {
"function_hash": "110750885830145502144863229466697816495",
"length": 1936.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e061abaad1498c5b76c10c594d4359ceb6b9145",
"signature_type": "Function"
},
{
"target": {
"function": "ice_destroy_xdp_rings",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-480b93ba",
"digest": {
"function_hash": "256493034726641997520961581346609407438",
"length": 1505.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@276849954d7cbe6eec827b21fe2df43f9bf07011",
"signature_type": "Function"
},
{
"target": {
"function": "ice_prepare_xdp_rings",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-48b12065",
"digest": {
"function_hash": "69134349036917755756790613807696573955",
"length": 2745.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1d3c5d0dec6797eca3a861dab0816fa9505d9c3e",
"signature_type": "Function"
},
{
"target": {
"function": "ice_prepare_xdp_rings",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-5432379f",
"digest": {
"function_hash": "110750885830145502144863229466697816495",
"length": 1936.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@276849954d7cbe6eec827b21fe2df43f9bf07011",
"signature_type": "Function"
},
{
"target": {
"function": "ice_xdp_setup_prog",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-771242e3",
"digest": {
"function_hash": "315595906858597864088475675854471459002",
"length": 1577.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@276849954d7cbe6eec827b21fe2df43f9bf07011",
"signature_type": "Function"
},
{
"target": {
"function": "ice_destroy_xdp_rings",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-8e6636ba",
"digest": {
"function_hash": "256493034726641997520961581346609407438",
"length": 1505.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0153f36041b8e52019ebfa8629c13bf8f9b0a951",
"signature_type": "Function"
},
{
"target": {
"function": "ice_destroy_xdp_rings",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-994664a4",
"digest": {
"function_hash": "256493034726641997520961581346609407438",
"length": 1505.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e061abaad1498c5b76c10c594d4359ceb6b9145",
"signature_type": "Function"
},
{
"target": {
"function": "ice_prepare_xdp_rings",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-9d08dd0d",
"digest": {
"function_hash": "110750885830145502144863229466697816495",
"length": 1936.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0153f36041b8e52019ebfa8629c13bf8f9b0a951",
"signature_type": "Function"
},
{
"target": {
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-a0f988bb",
"digest": {
"threshold": 0.9,
"line_hashes": [
"159989548782034719116429347273317913445",
"103997743908422483698914019673334049021",
"188177940933510009275748363669476091660",
"233491756208279718529459869357293045657",
"180029766815858453832751503589448775805",
"322124805490262112576202732721568724784",
"226614744368656179197428339345508383740",
"43967726119194690066777267490561550359",
"261336056677916035493869032376397613585",
"83746390627062472071843992862671563261",
"288641544139206122925488456304021985725",
"210199552503391077105411321831459712088",
"176996328892452348350786855956682588060",
"24857487334005284338655932156972958988",
"53217031662464530584216136303880959002",
"178979164892906269492724261494210673624",
"133143442202883558032497940327852447254",
"260554058524703747173368786766729963320",
"301617013032217979683927174256175326983",
"277584124875352732483769895008703426746",
"86396548107834184909102722941664817759",
"151464846945577034088335385258374728230",
"241732401097223608545926653914803642899",
"168532335884794355022282446670722605924",
"322621399263624530348621086884915627671",
"310150783526432621805076563638763170683",
"212639169690559076359370346559738197827",
"104097834178744208897194206524577140694",
"103283131487512197085536209250884853502",
"306106889765815985909353383779869017487",
"218108950867307112199295102943088769789",
"173805134500383455473646211365969013917",
"134930655459406734970623272934281663767",
"212011273859714431415628516674240696439",
"287582579909208252851068764787929988660",
"187032893855843358192537956110827847439",
"11810144799333586078678965739046139628",
"301918766268021503012448124756744697894",
"275891160906771094843596068461794449887",
"10020254918352022888784465258665904607",
"208939718409136034557415727664241066826"
]
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@276849954d7cbe6eec827b21fe2df43f9bf07011",
"signature_type": "Line"
},
{
"target": {
"function": "ice_xdp_setup_prog",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-a1953bbe",
"digest": {
"function_hash": "315595906858597864088475675854471459002",
"length": 1577.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1d3c5d0dec6797eca3a861dab0816fa9505d9c3e",
"signature_type": "Function"
},
{
"target": {
"function": "ice_destroy_xdp_rings",
"file": "drivers/net/ethernet/intel/ice/ice_main.c"
},
"id": "CVE-2025-38127-ea2995ef",
"digest": {
"function_hash": "256493034726641997520961581346609407438",
"length": 1505.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1d3c5d0dec6797eca3a861dab0816fa9505d9c3e",
"signature_type": "Function"
}
]