]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: dc395x: Fix a missing check on list iterator
authorXiaomeng Tong <xiam0nd.tong@gmail.com>
Thu, 14 Apr 2022 04:02:31 +0000 (12:02 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 26 Apr 2022 12:51:56 +0000 (08:51 -0400)
commit48d7f9193007b54cc5ab3626ebe9bd721b41de33
treee3087deb2d87155d478a64e0b8be10837e1ddb17
parente3e28d52c1b04ebca75edb7028632d7f9c332c8c
scsi: dc395x: Fix a missing check on list iterator

The bug is here:

p->target_id, p->target_lun);

The list iterator 'p' will point to a bogus position containing HEAD if the
list is empty or no element is found. This case must be checked before any
use of the iterator, otherwise it will lead to an invalid memory access.

To fix this bug, add a check. Use a new variable 'iter' as the list
iterator, and use the original variable 'p' as a dedicated pointer to point
to the found element.

Link: https://lore.kernel.org/r/20220414040231.2662-1-xiam0nd.tong@gmail.com
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable@vger.kernel.org
Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/dc395x.c