Bug 2209 - USB scanner driver broken in 2.4.20-alt1
Summary: USB scanner driver broken in 2.4.20-alt1
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel24-up (show other bugs)
Version: unstable
Hardware: all Linux
: P5 critical
Assignee: Peter 'Nidd' Novodvorsky
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-10 15:31 MSK by Sergey Vlasov
Modified: 2003-08-25 15:18 MSD (History)
0 users

See Also:


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

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Vlasov 2003-02-10 15:31:43 MSK
В 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 Anton Farygin 2003-02-10 19:49:39 MSK
fixed (2.4.20-alt3, coming soon)
Comment 2 Anton Farygin 2003-02-10 19:49:39 MSK
fixed (2.4.20-alt3, coming soon)