<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>2209</bug_id>
          
          <creation_ts>2003-02-10 15:31:43 +0300</creation_ts>
          <short_desc>USB scanner driver broken in 2.4.20-alt1</short_desc>
          <delta_ts>2003-08-25 15:18:43 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>kernel24-up</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey Vlasov">vsu</reporter>
          <assigned_to name="Peter &apos;Nidd&apos; Novodvorsky">nidd</assigned_to>
          
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2007</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey Vlasov">vsu</who>
    <bug_when>2003-02-10 15:31:43 +0300</bug_when>
    <thetext>В 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-&amp;gt;private_data; если после этого программа пыталась выполнить read/write/ioctl, происходило обращение к освобожденной памяти.

Рецепт для Oops: отключить сканер в процессе сканирования. Можно просто несколько раз запустить cat /proc/usb/scanner0 &amp;amp; , после чего отключить сканер.

Обновлённый патч прилагается.
---

---

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5170</commentid>
    <comment_count>1</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2003-02-10 19:49:39 +0300</bug_when>
    <thetext>fixed (2.4.20-alt3, coming soon)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8535</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2003-02-10 19:49:39 +0300</bug_when>
    <thetext>fixed (2.4.20-alt3, coming soon)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>196</attachid>
            <date>2003-02-10 15:31:43 +0300</date>
            <delta_ts>2003-02-10 15:31:43 +0300</delta_ts>
            <desc>0002209-linux-2.4.20-alt-usb_scanner_fix.patch</desc>
            <filename>0002209-linux-2.4.20-alt-usb_scanner_fix.patch</filename>
            <type>application/octet-stream</type>
            <size>3990</size>
            <attacher name="Sergey Vlasov">vsu</attacher>
            
              <data encoding="base64">LS0tIGxpbnV4LTIuNC4yMC9kcml2ZXJzL3VzYi9zY2FubmVyLmgudXNiX3NjYW5uZXJfZml4CVN1
biBGZWIgIDkgMTg6MDM6MDMgMjAwMworKysgbGludXgtMi40LjIwL2RyaXZlcnMvdXNiL3NjYW5u
ZXIuaAlTdW4gRmViICA5IDIwOjU2OjQ4IDIwMDMKQEAgLTI4NSw2ICsyODUsNyBAQAogc3RhdGlj
IERFQ0xBUkVfTVVURVggKHNjbl9tdXRleCk7IC8qIEluaXRpYWxpemVzIHRvIHVubG9ja2VkICov
CiAKIHN0cnVjdCBzY25fdXNiX2RhdGEgeworCWF0b21pY190IHVzZXJzOwkJLyogUmVmZXJlbmNl
IGNvdW50ICovCiAJc3RydWN0IHVzYl9kZXZpY2UgKnNjbl9kZXY7CiAJZGV2ZnNfaGFuZGxlX3Qg
ZGV2ZnM7CS8qIGRldmZzIGRldmljZSAqLwogCXN0cnVjdCB1cmIgc2NuX2lycTsKLS0tIGxpbnV4
LTIuNC4yMC9kcml2ZXJzL3VzYi9zY2FubmVyLmMudXNiX3NjYW5uZXJfZml4CVN1biBGZWIgIDkg
MTc6NDA6MTkgMjAwMworKysgbGludXgtMi40LjIwL2RyaXZlcnMvdXNiL3NjYW5uZXIuYwlTdW4g
RmViICA5IDIxOjExOjA4IDIwMDMKQEAgLTM2OCw2ICszNjgsMjUgQEAKICAqLyAKICNpbmNsdWRl
ICJzY2FubmVyLmgiCiAKK3N0YXRpYyB2b2lkIHNjYW5uZXJfZnJlZShzdHJ1Y3Qgc2NuX3VzYl9k
YXRhICpzY24pOworCisvKgorICogUmVmZXJlbmNlIGNvdW50aW5nIGZvciB0aGUgc2NuX3VzYl9k
YXRhIHN0cnVjdHVyZS4KKyAqLworCitzdGF0aWMgaW5saW5lIHZvaWQKK3NjYW5uZXJfaW5jX3Vz
ZShzdHJ1Y3Qgc2NuX3VzYl9kYXRhICpzY24pCit7CisJYXRvbWljX2luYygmc2NuLT51c2Vycyk7
Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc2Nhbm5lcl9kZWNfdXNlKHN0cnVjdCBzY25fdXNi
X2RhdGEgKnNjbikKK3sKKwlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmc2NuLT51c2VycykpCisJ
CXNjYW5uZXJfZnJlZShzY24pOworfQorCiBzdGF0aWMgdm9pZAogaXJxX3NjYW5uZXIoc3RydWN0
IHVyYiAqdXJiKQogewpAQCAtNDQ3LDYgKzQ2Niw4IEBACiAKIAlmaWxlLT5wcml2YXRlX2RhdGEg
PSBzY247IC8qIFVzZWQgYnkgdGhlIHJlYWQgYW5kIHdyaXRlIG1ldGhvZHMgKi8KIAorCXNjYW5u
ZXJfaW5jX3VzZShzY24pOyAvKiBNYWtlIHN1cmUgdGhlIHNjYW5uZXIgd29uJ3QgZ28gYXdheSAq
LworCiAKIG91dF9lcnJvcjoKIApAQCAtNDU4LDMwICs0NzksMjEgQEAKIHN0YXRpYyBpbnQKIGNs
b3NlX3NjYW5uZXIoc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSkKIHsK
LQlzdHJ1Y3Qgc2NuX3VzYl9kYXRhICpzY247CisJc3RydWN0IHNjbl91c2JfZGF0YSAqc2NuID0g
KHN0cnVjdCBzY25fdXNiX2RhdGEgKikgZmlsZS0+cHJpdmF0ZV9kYXRhOwogCi0Ja2Rldl90IHNj
bl9taW5vcjsKLQotCXNjbl9taW5vciA9IFVTQl9TQ05fTUlOT1IgKGlub2RlKTsKKwlrZGV2X3Qg
c2NuX21pbm9yID0gc2NuLT5zY25fbWlub3I7CiAKIAlkYmcoImNsb3NlX3NjYW5uZXI6IHNjbl9t
aW5vcjolZCIsIHNjbl9taW5vcik7CiAKLQlpZiAoIXBfc2NuX3RhYmxlW3Njbl9taW5vcl0pIHsK
LQkJZXJyKCJjbG9zZV9zY2FubmVyKCVkKTogaW52YWxpZCBzY25fbWlub3IiLCBzY25fbWlub3Ip
OwotCQlyZXR1cm4gLUVOT0RFVjsKLQl9Ci0KLQlkb3duKCZzY25fbXV0ZXgpOwotCi0Jc2NuID0g
cF9zY25fdGFibGVbc2NuX21pbm9yXTsKIAlkb3duKCYoc2NuLT5zZW0pKTsKIAlzY24tPmlzb3Bl
biA9IDA7CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBOVUxMOwogCi0JdXAoJnNjbl9tdXRleCk7
CiAJdXAoJihzY24tPnNlbSkpOwogCisJc2Nhbm5lcl9kZWNfdXNlKHNjbik7CisKIAlyZXR1cm4g
MDsKIH0KIApAQCAtNTA3LDYgKzUxOSwxMiBAQAogCiAJZG93bigmKHNjbi0+c2VtKSk7CiAKKwlp
ZiAoIXNjbi0+c2NuX2RldikgeworCQkvKiBUaGUgc2Nhbm5lciB3YXMgZGlzY29ubmVjdGVkICov
CisJCXVwKCYoc2NuLT5zZW0pKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCiAJaWYgKCFzY24t
PmJ1bGtfb3V0X2VwKSB7CiAJCS8qIFRoaXMgc2Nhbm5lciBkb2VzIG5vdCBoYXZlIGEgYnVsay1v
dXQgZW5kcG9pbnQgKi8KIAkJdXAoJihzY24tPnNlbSkpOwpAQCAtNjAxLDYgKzYxOSwxMiBAQAog
CiAJZG93bigmKHNjbi0+c2VtKSk7CiAKKwlpZiAoIXNjbi0+c2NuX2RldikgeworCQkvKiBUaGUg
c2Nhbm5lciB3YXMgZGlzY29ubmVjdGVkICovCisJCXVwKCYoc2NuLT5zZW0pKTsKKwkJcmV0dXJu
IC1FTk9ERVY7CisJfQorCiAJc2NuX21pbm9yID0gc2NuLT5zY25fbWlub3I7CiAKIAlpYnVmID0g
c2NuLT5pYnVmOwpAQCAtNzA4LDYgKzczMiwxMiBAQAogCXNjbiA9IGZpbGUtPnByaXZhdGVfZGF0
YTsKIAlkb3duKCYoc2NuLT5zZW0pKTsKIAorCWlmICghc2NuLT5zY25fZGV2KSB7CisJCS8qIFRo
ZSBzY2FubmVyIHdhcyBkaXNjb25uZWN0ZWQgKi8KKwkJdXAoJihzY24tPnNlbSkpOworCQlyZXR1
cm4gLUVOT0RFVjsKKwl9CisKIAlkZXYgPSBzY24tPnNjbl9kZXY7CiAKIAlzd2l0Y2ggKGNtZCkK
QEAgLTEwMDAsNyArMTAzMCw3IEBACiAJfQogCiAvKiBDaGVjayB0byBtYWtlIHN1cmUgdGhhdCB0
aGUgbGFzdCBzbG90IGlzbid0IGFscmVhZHkgdGFrZW4gKi8KLQlpZiAocF9zY25fdGFibGVbc2Nu
X21pbm9yXSkgeworCWlmIChzY25fbWlub3IgPj0gU0NOX01BWF9NTlIpIHsKIAkJZXJyKCJwcm9i
ZV9zY2FubmVyOiBObyBtb3JlIG1pbm9yIGRldmljZXMgcmVtYWluaW5nLiIpOwogCQl1cCgmc2Nu
X211dGV4KTsKIAkJcmV0dXJuIE5VTEw7CkBAIC0xMDE1LDYgKzEwNDUsNyBAQAogCX0KIAltZW1z
ZXQgKHNjbiwgMCwgc2l6ZW9mKHN0cnVjdCBzY25fdXNiX2RhdGEpKTsKIAorCWF0b21pY19zZXQo
JnNjbi0+dXNlcnMsIDEpOwogCWluaXRfTVVURVgoJihzY24tPnNlbSkpOyAvKiBJbml0aWFsaXpl
cyB0byB1bmxvY2tlZCAqLwogCiAJZGJnICgicHJvYmVfc2Nhbm5lciglZCk6IEFkZHJlc3Mgb2Yg
c2NuOiVwIiwgc2NuX21pbm9yLCBzY24pOwpAQCAtMTA4MCw2ICsxMTExLDcgQEAKIAlzY24tPmlu
dHJfZXAgPSBoYXZlX2ludHI7CiAJc2NuLT5wcmVzZW50ID0gMTsKIAlzY24tPnNjbl9kZXYgPSBk
ZXY7CisJdXNiX2luY19kZXZfdXNlKGRldik7CiAJc2NuLT5zY25fbWlub3IgPSBzY25fbWlub3I7
CiAJc2NuLT5pc29wZW4gPSAwOwogCkBAIC0xMTAxLDYgKzExMzMsMTcgQEAKIH0KIAogc3RhdGlj
IHZvaWQKK3NjYW5uZXJfZnJlZShzdHJ1Y3Qgc2NuX3VzYl9kYXRhICpzY24pCit7CisJZGJnKCJ1
c2Jfc2Nhbm5lcl9mcmVlKCVkKTogZnJlZWluZyBzY249JXAiLCBzY24tPnNjbl9taW5vciwgc2Nu
KTsKKworCWtmcmVlKHNjbi0+aWJ1Zik7CisJa2ZyZWUoc2NuLT5vYnVmKTsKKworCWtmcmVlKHNj
bik7Cit9CisKK3N0YXRpYyB2b2lkCiBkaXNjb25uZWN0X3NjYW5uZXIoc3RydWN0IHVzYl9kZXZp
Y2UgKmRldiwgdm9pZCAqcHRyKQogewogCXN0cnVjdCBzY25fdXNiX2RhdGEgKnNjbiA9IChzdHJ1
Y3Qgc2NuX3VzYl9kYXRhICopIHB0cjsKQEAgLTExMTUsMTUgKzExNTgsMTcgQEAKICAgICAgICAg
dXNiX2RyaXZlcl9yZWxlYXNlX2ludGVyZmFjZSgmc2Nhbm5lcl9kcml2ZXIsCiAgICAgICAgICAg
ICAgICAgJnNjbi0+c2NuX2Rldi0+YWN0Y29uZmlnLT5pbnRlcmZhY2Vbc2NuLT5pZm51bV0pOwog
Ci0Ja2ZyZWUoc2NuLT5pYnVmKTsKLQlrZnJlZShzY24tPm9idWYpOwotCiAJZGJnKCJkaXNjb25u
ZWN0X3NjYW5uZXI6IERlLWFsbG9jYXRpbmcgbWlub3I6JWQiLCBzY24tPnNjbl9taW5vcik7CiAJ
ZGV2ZnNfdW5yZWdpc3RlcihzY24tPmRldmZzKTsKIAlwX3Njbl90YWJsZVtzY24tPnNjbl9taW5v
cl0gPSBOVUxMOworCisJdXNiX2RlY19kZXZfdXNlKHNjbi0+c2NuX2Rldik7CisJc2NuLT5zY25f
ZGV2ID0gTlVMTDsKKwogCXVwICgmKHNjbi0+c2VtKSk7Ci0Ja2ZyZWUgKHNjbik7CiAJdXAgKCZz
Y25fbXV0ZXgpOworCisJc2Nhbm5lcl9kZWNfdXNlKHNjbik7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>