Description
In the Linux kernel, the following vulnerability has been resolved: scsi: ibmvfc: Remove BUG_ON in the case of an empty event pool In practice the driver should never send more commands than are allocated to a queue's event pool. In the unlikely event that this happens, the code asserts a BUG_ON, and in the case that the kernel is not configured to crash on panic returns a junk event pointer from the empty event list causing things to spiral from there. This BUG_ON is a historical artifact of the ibmvfc driver first being upstreamed, and it is well known now that the use of BUG_ON is bad practice except in the most unrecoverable scenario. There is nothing about this scenario that prevents the driver from recovering and carrying on. Remove the BUG_ON in question from ibmvfc_get_event() and return a NULL pointer in the case of an empty event pool. Update all call sites to ibmvfc_get_event() to check for a NULL pointer and perfrom the appropriate failure or recovery action.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
072b91f9c6510d0ec4a49d07dbc318760c7da7b3 to < e1d1f79b1929dce470a5dc9281c574cd58e8c6c0affected072b91f9c6510d0ec4a49d07dbc318760c7da7b3 to < 88984ec4792766df5a9de7a2ff2b5f281f94c7d4affected072b91f9c6510d0ec4a49d07dbc318760c7da7b3 to < d2af4ef80601224b90630c1ddc7cd2c7c8ab4dd8affected072b91f9c6510d0ec4a49d07dbc318760c7da7b3 to < 8bbe784c2ff28d56ca0c548aaf3e584edc77052daffected072b91f9c6510d0ec4a49d07dbc318760c7da7b3 to < b39f2d10b86d0af353ea339e5815820026bca48faffected
Linux Linux
Default version status: affected
2.6.27affected0 to < 2.6.27unaffected5.15.140 to ≤ 5.15.*unaffected6.1.64 to ≤ 6.1.*unaffected6.5.13 to ≤ 6.5.*unaffected6.6.3 to ≤ 6.6.*unaffected6.7 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/e1d1f79b1929dce470a5dc9281c574cd58e8c6c0 ↗
- https://git.kernel.org/stable/c/88984ec4792766df5a9de7a2ff2b5f281f94c7d4 ↗
- https://git.kernel.org/stable/c/d2af4ef80601224b90630c1ddc7cd2c7c8ab4dd8 ↗
- https://git.kernel.org/stable/c/8bbe784c2ff28d56ca0c548aaf3e584edc77052d ↗
- https://git.kernel.org/stable/c/b39f2d10b86d0af353ea339e5815820026bca48f ↗