In the Linux kernel, the following vulnerability has been resolved:
crypto: hisilicon/debugfs - Fix debugfs uninit process issue
During the zip probe process, the debugfs failure does not stop the probe. When debugfs initialization fails, jumping to the error branch will also release regs, in addition to its own rollback operation.
As a result, it may be released repeatedly during the regs uninit process. Therefore, the null check needs to be added to the regs uninit process.
[ { "signature_type": "Function", "id": "CVE-2024-42147-04bac263", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8be0913389718e8d27c4f1d4537b5e1b99ed7739", "signature_version": "v1", "target": { "function": "qm_diff_regs_init", "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "function_hash": "35703629144489886956803555293238147848", "length": 541.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42147-0ddf691c", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e0a2d2df9ba7bd6bd7e0a9b6a5e3894f7e8445b3", "signature_version": "v1", "target": { "function": "qm_diff_regs_uninit", "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "function_hash": "193286691062048157972471768143123497565", "length": 200.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42147-0ff6f7ff", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eda60520cfe3aba9f088c68ebd5bcbca9fc6ac3c", "signature_version": "v1", "target": { "function": "dfx_regs_uninit", "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "function_hash": "73767518548006752881268779196340298509", "length": 215.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-42147-24bef975", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eda60520cfe3aba9f088c68ebd5bcbca9fc6ac3c", "signature_version": "v1", "target": { "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "232340504639594904694362267301640237137", "110212493917971130782194288884938112425", "246497121902239084876984431425885550725", "197655532122027894272962731145555101836", "122120474006610283553038954233396644587", "100666572523657000639079794924947380439", "99177572957753239230931418116204134959", "82712225969997223090443883765853619274", "338622593103736098789008596831066029921", "338479222197861957521091765546364041987", "315383729982177324752631186268678830717", "37901749298932534763322831517860064120", "216322048938751382460594534796656226124", "263106065178271509545076133690015293830", "12487069443195532293111930538961335528", "38991608401444165476967911086083256718", "234744899870854361991569275344083927406", "2729144575541913401035546323466343414", "134430182965398534074894881592915340463", "80419391009556801297460037897023205073" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42147-68d9ed9a", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eda60520cfe3aba9f088c68ebd5bcbca9fc6ac3c", "signature_version": "v1", "target": { "function": "qm_diff_regs_init", "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "function_hash": "35703629144489886956803555293238147848", "length": 541.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-42147-6aac76f5", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e0a2d2df9ba7bd6bd7e0a9b6a5e3894f7e8445b3", "signature_version": "v1", "target": { "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "232340504639594904694362267301640237137", "110212493917971130782194288884938112425", "246497121902239084876984431425885550725", "197655532122027894272962731145555101836", "122120474006610283553038954233396644587", "100666572523657000639079794924947380439", "99177572957753239230931418116204134959", "82712225969997223090443883765853619274", "338622593103736098789008596831066029921", "338479222197861957521091765546364041987", "315383729982177324752631186268678830717", "37901749298932534763322831517860064120", "216322048938751382460594534796656226124", "263106065178271509545076133690015293830", "12487069443195532293111930538961335528", "38991608401444165476967911086083256718", "234744899870854361991569275344083927406", "2729144575541913401035546323466343414", "134430182965398534074894881592915340463", "80419391009556801297460037897023205073" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42147-77166bc9", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8be0913389718e8d27c4f1d4537b5e1b99ed7739", "signature_version": "v1", "target": { "function": "qm_diff_regs_uninit", "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "function_hash": "193286691062048157972471768143123497565", "length": 200.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42147-7e1e2140", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e0a2d2df9ba7bd6bd7e0a9b6a5e3894f7e8445b3", "signature_version": "v1", "target": { "function": "qm_diff_regs_init", "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "function_hash": "35703629144489886956803555293238147848", "length": 541.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42147-7fd499a5", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8be0913389718e8d27c4f1d4537b5e1b99ed7739", "signature_version": "v1", "target": { "function": "dfx_regs_uninit", "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "function_hash": "73767518548006752881268779196340298509", "length": 215.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-42147-ac3156e9", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8be0913389718e8d27c4f1d4537b5e1b99ed7739", "signature_version": "v1", "target": { "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "232340504639594904694362267301640237137", "110212493917971130782194288884938112425", "246497121902239084876984431425885550725", "197655532122027894272962731145555101836", "122120474006610283553038954233396644587", "100666572523657000639079794924947380439", "99177572957753239230931418116204134959", "82712225969997223090443883765853619274", "338622593103736098789008596831066029921", "338479222197861957521091765546364041987", "315383729982177324752631186268678830717", "37901749298932534763322831517860064120", "216322048938751382460594534796656226124", "263106065178271509545076133690015293830", "12487069443195532293111930538961335528", "38991608401444165476967911086083256718", "234744899870854361991569275344083927406", "2729144575541913401035546323466343414", "134430182965398534074894881592915340463", "80419391009556801297460037897023205073" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42147-d7e85063", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e0a2d2df9ba7bd6bd7e0a9b6a5e3894f7e8445b3", "signature_version": "v1", "target": { "function": "dfx_regs_uninit", "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "function_hash": "73767518548006752881268779196340298509", "length": 215.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42147-ddb2cc5d", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eda60520cfe3aba9f088c68ebd5bcbca9fc6ac3c", "signature_version": "v1", "target": { "function": "qm_diff_regs_uninit", "file": "drivers/crypto/hisilicon/debugfs.c" }, "digest": { "function_hash": "193286691062048157972471768143123497565", "length": 200.0 }, "deprecated": false } ]