Bug 2209 - USB scanner driver broken in 2.4.20-alt1
: USB scanner driver broken in 2.4.20-alt1
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/kernel24-up)
: unstable
: all Linux
: P5 critical
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2003-02-10 15:31 by
Modified: 2003-08-25 15:18 (History)


Attachments
0002209-linux-2.4.20-alt-usb_scanner_fix.patch (3.90 KB, application/octet-stream)
2003-02-10 15:31, Sergey Vlasov
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2003-02-10 15:31:43
В 2.4.20-alt1 драйвер сканера был заменён на новую версию из 2.4.21-pre - в
этой версии есть большая часть багов, исправлявшихся ранее патчем
scanner-0.4.7-fix.patch.

1. close_scanner: race при проверке p_scn_table[scn_minor] -  проверка
выполнялась без захвата scn_mutex, что могло привести к oops, если указатель в
этот момент обнулялся в
disconnect_scanner.

2. probe_scanner: при занятости всех 16 номеров устройств происходило обращение
за пределы массива p_scn_table.

3. disconnect_scanner: при уничтожении структуры scn_usb_data не проверялось
наличие ссылок на нее в file->private_data; если после этого программа
пыталась выполнить read/write/ioctl, происходило обращение к освобожденной
памяти.

Рецепт для Oops: отключить сканер в процессе сканирования. Можно просто
несколько раз запустить cat /proc/usb/scanner0 & , после чего отключить
сканер.

Обновлённый патч прилагается.
---

---
------- Comment #1 From 2003-02-10 19:49:39 -------
fixed (2.4.20-alt3, coming soon)
------- Comment #2 From 2003-02-10 19:49:39 -------
fixed (2.4.20-alt3, coming soon)