Activity log
- Created & dismissed (max. allowed matches exceeded) suggestion
ipmi: fix refcount leak in i_ipmi_request()
In the Linux kernel, the following vulnerability has been resolved: ipmi: fix refcount leak in i_ipmi_request() When a caller provides a `supplied_recv` message to i_ipmi_request(), the function increments the user's `nr_msgs` reference count. If an error occurs later, the out_err cleanup path only frees the recv_msg if the function allocated it itself (i.e., !supplied_recv). In the supplied_recv case the cleanup is skipped, leaving the reference count elevated. The caller ipmi_request_supply_msgs() does not release the supplied_recv on error, so the reference is permanently leaked. Fix this by explicitly reverting the reference count operations when a supplied recv_msg with a valid user pointer is present in the error path: decrement nr_msgs and drop the user's kref.
References
Affected products
- <e2a3b77df6aef031455dd83ea8ed4344b7dca1f9
- <f5c5065963024390ddad51bd455d1adc710de575
- <6.18
- <9409e18ffe7378d202efe1cf69989df9f67b0369
- <a3f3859cecacb64f18fd446271ece9a3b3f2d4de
- ==0ed73be9a2547ffb9b5c1d879ad9bfab73d920b5
- <6.12.101
- <6.2
- <6.18
- <0fd23994ec8c5436d9f0b50848deb87ed933e6b3
- ==6.18
- <6.6.148
- =<6.6.*
- =<*
- =<6.18.*
- =<6.12.*
- =<7.1.*
- ==f63723ca7d7623f9dae1990973cd158671f03c56