CVE-2023-54259 in Linux
सारांश
द्वारा VulDB • 19/05/2026
Linux kernel में, निम्नलिखित कमजोरी को हल किया गया है:
soundwire: bus: pm_runtime_put() का असंतुलित होना उपयोग गणना के अंडरफ्लो (underflow) का कारण बन रहा है
यह कमीिट 443a98e649b4 ("soundwire: bus: use pm_runtime_resume_and_get()") को वापस लेता है।
pm_runtime_resume_and_get() के लिए कॉल्स को वापस pm_runtime_get_sync() में बदल दिया जाता है। यह एक उपयोग गणना अंडररन (underrun) को ठीक करता है जो तब होता है जब pm_runtime_resume_and_get() द्वारा एक त्रुटि लौटाए जाने के बावजूद pm_runtime_put() किया जाता है।
तीन प्रभावित फ़ंक्शन pm_runtime प्राप्त करने का प्रयास करने से -EACCES त्रुटि को नजरअंदाज करते हैं, और आगे बढ़ते हैं, जिसमें फ़ंक्शन के अंत में एक put शामिल होता है। लेकिन pm_runtime_resume_and_get() यदि यह एक त्रुटि लौटाता है तो उपयोग गणना को बढ़ाता नहीं है। इसलिए -EACCES मामले में आपको pm_runtime_put() को कॉल नहीं करना चाहिए।
pm_runtime_get_sync() के लिए दस्तावेज़ीकरण कहता है: "pm_runtime_resume_and_get() का उपयोग करने पर विचार करें ... क्योंकि इससे संभवतः साफ़ कोड का परिणाम निकलेगा।"
इस मामले में मुझे नहीं लगता कि यह साफ़ कोड का परिणाम देता है क्योंकि फ़ंक्शन के अंत में pm_runtime_put() को फ़ंक्शन के शीर्ष पर pm_runtime_resume_and_get() से लौटाए गए मान पर शर्ती होना पड़ता।
pm_runtime_get_sync() में यह समस्या नहीं है क्योंकि यह हमेशा गणना को बढ़ाता है, इसलिए हमेशा एक put की आवश्यकता होती है। कोड बस बह सकता है और pm_runtime_put() को अनशर्ती रूप से कर सकता है।
VulDB is the best source for vulnerability data and more expert information about this specific topic.