[lvc-project] [PATCH 6.1 v2 3/3] scsi: aic79xx: check for non-NULL scb in ahd_linux_queue_abort_cmd

Fedor Pchelkin pchelkin at ispras.ru
Fri Apr 25 19:51:15 MSK 2025


On Fri, 25. Apr 09:52, Boris Belyavtsev wrote:
> Также пришло письмо в ответ на патч отправленный в linux-scsi от
> "James Bottomley" <James.Bottomley at HansenPartnership.com>
> 
> On Mon Apr 21, 2025 at 7:12 PM +07, James Bottomley wrote:
> > On Mon, 2025-04-21 at 15:16 +0700, Boris Belyavtsev wrote:
> > > Add non-NULL checks for ahd_lookup_scb return value.
> > >
> > > scb could be NULL if faulty hardware return certain incorrect values
> > > to the driver.
> >
> > It's a general principle that we trust values coming from the card ...
> > you are, after all, trusting it with your data.  If there's a fault in
> > the way the card is operating, we can work around that, so if you have
> > a card which is producing these NULLs, can you provide details so we
> > can investigate?
> >
> > Regards,
> >
> > James

Во-первых, отвечать и реагировать на вопросы сообщества конечно стоит.
Иначе в отсутствие фидбэка они могут перестать реагировать на отправителя
в дальнейшем. Здесь Вы правы, что ответить надо.

> 
> На самом деле, действительно, получение нулевого scb является
> неожиданным и у меня нет такой карты, которая могла быть имитировать
> подобнно поведение(возвращение scb равных NULL). Что стоит отвечать в
> таких случаях?

Так и сказать, что реальной карты, которая к тому же ещё и ведёт себя
неподобающим образом, в распоряжении нет. Проверки предлагается добавить в
качестве защитного программирования, в том числе от потенциального faulty
hardware.

Под этим я имею ввиду нормальное оборудование (не модифицированное
злоумышленником, в адекватных условиях влиять на работу PCI-X SCSI
контроллера у него возможности конечно быть не может), которое вследствие
тех или иных ошибок или ещё каких-то нюансов начинает шалить - такое
бывает.

Джеймс же похоже воспринял faulty hardware как-то *вектор атаки* через
злонамеренно модифицированное устройство.


Ещё можно добавить, что результат работы ahd_lookup_scb() проверяется во
многих частях кода драйвера и это является неплохой практикой. Но, в целом,
думаю, что свой ответ можно закончить выводом-вопросом к мэйнтейнеру,
каково его видение этой описанной ситуации - вопрос специфический, зависит
от конкретной подсистемы и мэйнтейнеров: какие-то соглашаются с
добавлением проверок как защитного программирования и улучшением кода,
какие-то считают это лишь тратой времени и отказываются рассматривать
подобные вещи без наличия реальных док-в на руках.



More information about the lvc-project mailing list