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

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

    <bug>
          <bug_id>15839</bug_id>
          
          <creation_ts>2008-05-30 00:24:05 +0400</creation_ts>
          <short_desc>subfs for 2.6.25</short_desc>
          <delta_ts>2008-06-02 15:18:23 +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>kernel-image-std-def</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>led</reporter>
          <assigned_to name="Vitaly Chikunov">vt</assigned_to>
          <cc>kernelbot</cc>
    
    <cc>placeholder</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>70969</commentid>
    <comment_count>0</comment_count>
    <who name="">led</who>
    <bug_when>2008-05-30 00:24:05 +0400</bug_when>
    <thetext>Предлагаю патч для ядра 2.6.25, включающий поддержку subfs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70970</commentid>
    <comment_count>1</comment_count>
      <attachid>2656</attachid>
    <who name="">led</who>
    <bug_when>2008-05-30 00:24:36 +0400</bug_when>
    <thetext>Created attachment 2656
linux-2.6.25.4-subfs-0.9.patch

Собственно, патч</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71211</commentid>
    <comment_count>2</comment_count>
    <who name="Michail Yakushin">silicium</who>
    <bug_when>2008-06-02 15:18:23 +0400</bug_when>
    <thetext>Собранно в отдельном пакете (см #15837)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2656</attachid>
            <date>2008-05-30 00:24:36 +0400</date>
            <delta_ts>2008-05-30 00:24:36 +0400</delta_ts>
            <desc>linux-2.6.25.4-subfs-0.9.patch</desc>
            <filename>linux-2.6.25.4-subfs-0.9.patch</filename>
            <type>text/plain</type>
            <size>17322</size>
            <attacher>led</attacher>
            
              <data encoding="base64">ZGlmZiAtdXJOIGxpbnV4LTIuNi4yNS40Lm9yaWcvZnMvS2NvbmZpZyBsaW51eC0yLjYuMjUuNC9m
cy9LY29uZmlnCi0tLSBsaW51eC0yLjYuMjUuNC5vcmlnL2ZzL0tjb25maWcJMjAwOC0wNC0xOCAw
MToyMDoxMCArMDMwMAorKysgbGludXgtMi42LjI1LjQvZnMvS2NvbmZpZwkyMDA4LTA1LTI1IDEw
OjA4OjAwICswMzAwCkBAIC01OTgsNiArNTk4LDE3IEBACiAJICBsb2NhbCBuZXR3b3JrLCB5b3Ug
cHJvYmFibHkgZG8gbm90IG5lZWQgYW4gYXV0b21vdW50ZXIsIGFuZCBjYW4gc2F5CiAJICBOIGhl
cmUuCiAKK2NvbmZpZyBTVUJGU19GUworCXRyaXN0YXRlICJLZXJuZWwgc3ViZnMgc3VwcG9ydCIK
KwloZWxwCisJICBUaGUgc3ViZnMgaXMgYSB0b29sIHRvIGF1dG9tYXRpY2FsbHkgbW91bnQgZmls
ZSBzeXN0ZW1zIG9uIGRlbWFuZC4KKworCSAgVG8gdXNlIHRoZSBzdWJmcyB5b3UgbmVlZCB0aGUg
dXNlci1zcGFjZSB0b29scyBmcm9tCisJICA8aHR0cDovL3N1Ym1vdW50LnNvdXJjZWZvcmdlLm5l
dC8+LgorCisJICBUbyBjb21waWxlIHRoaXMgc3VwcG9ydCBhcyBhIG1vZHVsZSwgY2hvb3NlIE0g
aGVyZTogdGhlIG1vZHVsZSB3aWxsIGJlCisJICBjYWxsZWQgc3ViZnMuCisKIGNvbmZpZyBGVVNF
X0ZTCiAJdHJpc3RhdGUgIkZpbGVzeXN0ZW0gaW4gVXNlcnNwYWNlIHN1cHBvcnQiCiAJaGVscApk
aWZmIC11ck4gbGludXgtMi42LjI1LjQub3JpZy9mcy9NYWtlZmlsZSBsaW51eC0yLjYuMjUuNC9m
cy9NYWtlZmlsZQotLS0gbGludXgtMi42LjI1LjQub3JpZy9mcy9NYWtlZmlsZQkyMDA4LTA0LTE4
IDAxOjIwOjEwICswMzAwCisrKyBsaW51eC0yLjYuMjUuNC9mcy9NYWtlZmlsZQkyMDA4LTA1LTI1
IDEwOjA4OjAwICswMzAwCkBAIC0xMDUsNiArMTA1LDcgQEAKIG9iai0kKENPTkZJR19RTlg0RlNf
RlMpCQkrPSBxbng0Lwogb2JqLSQoQ09ORklHX0FVVE9GU19GUykJCSs9IGF1dG9mcy8KIG9iai0k
KENPTkZJR19BVVRPRlM0X0ZTKQkrPSBhdXRvZnM0Lworb2JqLSQoQ09ORklHX1NVQkZTX0ZTKQkJ
Kz0gc3ViZnMubwogb2JqLSQoQ09ORklHX0FERlNfRlMpCQkrPSBhZGZzLwogb2JqLSQoQ09ORklH
X0ZVU0VfRlMpCQkrPSBmdXNlLwogb2JqLSQoQ09ORklHX1VERl9GUykJCSs9IHVkZi8KZGlmZiAt
dXJOIGxpbnV4LTIuNi4yNS40Lm9yaWcvZnMvc3ViZnMuYyBsaW51eC0yLjYuMjUuNC9mcy9zdWJm
cy5jCi0tLSBsaW51eC0yLjYuMjUuNC5vcmlnL2ZzL3N1YmZzLmMJMTk3MC0wMS0wMSAwMzowMDow
MCArMDMwMAorKysgbGludXgtMi42LjI1LjQvZnMvc3ViZnMuYwkyMDA4LTA1LTI1IDEwOjEyOjEx
ICswMzAwCkBAIC0wLDAgKzEsNDY4IEBACisvKgorICogIHN1YmZzLmMKKyAqCisgKiAgQ29weXJp
Z2h0IChDKSAyMDAzLTIwMDQgRXVnZW5lIFMuIFdlaXNzIDxld2Vpc3NAc2JjbG9iYWwubmV0Pgor
ICoKKyAqICBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIHZlcnNpb24gMgorICogIG9yIGFib3ZlLgorICovCisKKyNpbmNsdWRlIDxs
aW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgv
a2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KKyNpbmNsdWRlIDxsaW51
eC9wYWdlbWFwLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWlj
Lmg+CisjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+Cisj
aW5jbHVkZSA8bGludXgvbW91bnQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbnRfbmFtZXNwYWNlLmg+
CisjaW5jbHVkZSA8bGludXgvbmFtZWkuaD4KKyNpbmNsdWRlIDxsaW51eC9kY2FjaGUuaD4KKyNp
bmNsdWRlIDxsaW51eC9zeXNmcy5oPgorI2luY2x1ZGUgPGFzbS9zZW1hcGhvcmUuaD4KKyNpbmNs
dWRlIDxhc20vc2lnbmFsLmg+CisjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CisjaW5jbHVkZSA8
bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CisjaW5jbHVkZSA8bGlu
dXgvcmN1cGRhdGUuaD4KKworI2luY2x1ZGUgInN1YmZzLmgiCisKK01PRFVMRV9MSUNFTlNFKCJH
UEwiKTsKK01PRFVMRV9BVVRIT1IoIkV1Z2VuZSBTLiBXZWlzcyIpOworCisKKy8qIGdldF9zdWJm
c192ZnNtb3VudCB0cmllcyB0byBmaW5kIHRoZSB2ZnNtb3VudCBzdHJ1Y3R1cmUgYXNzaWduZWQg
dG8KKyAqIHRoZSBwZW5kaW5nIG1vdW50LiAgSXQgbG9va3MgZm9yIGEgdmZzbW91bnQgc3RydWN0
dXJlIG1hdGNoaW5nIHRoZQorICogc3VwZXJibG9jayBwb2ludGVyIHNlbnQuICBUaGlzIGlzIG5v
dCBpZGVhbCwgYnV0IEkgZG9uJ3Qga25vdyBvZgorICogYW5vdGhlciB3YXkgdG8gZmluZCB0aGUg
c3RydWN0dXJlIHdpdGhvdXQgYWx0ZXJpbmcgdGhlIGNvZGUgaW4gdGhlCisgKiBtb3VudCByb3V0
aW5lcy4KKyAqLworc3RhdGljIHN0cnVjdCB2ZnNtb3VudCAqZ2V0X3N1YmZzX3Zmc21vdW50KHN0
cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJc3RydWN0IGZzX3N0cnVjdCAqaW5pdF9mczsKKwlz
dHJ1Y3QgbGlzdF9oZWFkICplbnRyeSwgKmhlYWQsICpsaDsKKwlzdHJ1Y3QgdmZzbW91bnQgKm1u
dDsKKworCS8qIEdldCB0aGUgaGVhZCBvZiB0aGUgZ2xvYmFsIG1vdW50IGxpc3QgZnJvbSB0aGUg
aW5pdCBwcm9jZXNzLiAqLworCS8qIElzIHRoZXJlIGEgYmV0dGVyIHdheT8gKi8KKwlpbml0X2Zz
ID0gaW5pdF90YXNrLmZzOworCWhlYWQgPSAmaW5pdF9mcy0+cm9vdC5tbnQtPm1udF9saXN0Owor
CisJLyogR28gdGhyb3VnaCB0aGUgbGlzdCBhbmQgbG9vayBmb3IgYSBzdXBlcmJsb2NrIHBvaW50
ZXIgbWF0Y2guICovCisJbGlzdF9mb3JfZWFjaF9zYWZlKGVudHJ5LCBsaCwgaGVhZCkgeworCQlt
bnQgPSBsaXN0X2VudHJ5KGVudHJ5LCBzdHJ1Y3QgdmZzbW91bnQsIG1udF9saXN0KTsKKwkJaWYg
KG1udC0+bW50X3NiID09IHNiKQorCQkJcmV0dXJuIG1udDsKKwl9CisJRVJSKCJzdWJmczogVW5h
YmxlIHRvIGZpbmQgbW91bnQgc3RydWN0dXJlIGZvciBzdXBlcmJsb2NrLlxuIik7CisJcmV0dXJu
IE5VTEw7CQkvKiBJZiB0aGVyZSB3YXMgbm8gbWF0Y2ggKi8KK30KKworCisvKiBTYW1lIGFzIHNl
dF9mc19wd2QgZnJvbSBuYW1lc3BhY2UuYy4gIFRoZXJlJ3MgYSBwcm9ibGVtIHdpdGggdGhlCisg
KiBzeW1ib2wuICBXaGVuIGl0IGlzIGZpeGVkLCBkaXNjYXJkIHRoaXMuCisgKiBSZXBsYWNlIHRo
ZSBmcy0+e3B3ZG1udCxwd2R9IHdpdGgge21udCxkZW50cnl9LiBQdXQgdGhlIG9sZCB2YWx1ZXMu
CisgKiBJdCBjYW4gYmxvY2suIFJlcXVpcmVzIHRoZSBiaWcgbG9jayBoZWxkLgorICovCitzdGF0
aWMgdm9pZCBzdWJmc19zZXRfZnNfcHdkKHN0cnVjdCBmc19zdHJ1Y3QgKmZzLCBzdHJ1Y3QgdmZz
bW91bnQgKm1udCwKKwkJCSAgICAgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXN0cnVjdCBk
ZW50cnkgKm9sZF9wd2Q7CisJc3RydWN0IHZmc21vdW50ICpvbGRfcHdkbW50OworCisJd3JpdGVf
bG9jaygmZnMtPmxvY2spOworCW9sZF9wd2QgPSBmcy0+cHdkLmRlbnRyeTsKKwlvbGRfcHdkbW50
ID0gZnMtPnB3ZC5tbnQ7CisJZnMtPnB3ZC5tbnQgPSBtbnRnZXQobW50KTsKKwlmcy0+cHdkLmRl
bnRyeSA9IGRnZXQoZGVudHJ5KTsKKwl3cml0ZV91bmxvY2soJmZzLT5sb2NrKTsKKworCWlmIChv
bGRfcHdkKSB7CisJCWRwdXQob2xkX3B3ZCk7CisJCW1udHB1dChvbGRfcHdkbW50KTsKKwl9Cit9
CisKKworLyogUXVpY2tseSBzZW5kcyBhbiBpZ25vcmVkIHNpZ25hbCB0byB0aGUgc2lnbmFsIGhh
bmRsaW5nIHN5c3RlbS4gVGhpcworICogY2F1c2VzIHRoZSBzeXN0ZW0gdG8gcmVzdGFydCB0aGUg
c3lzdGVtIGNhbGwgd2hlbiBpdCByZWNlaXZlcyB0aGUKKyAqIC1FUkVTVEFSVFNZUyBlcnJvci4K
KyAqLworc3RhdGljIHZvaWQgc3ViZnNfc2VuZF9zaWduYWwodm9pZCkKK3sKKwlzdHJ1Y3QgdGFz
a19zdHJ1Y3QgKnRhc2sgPSBjdXJyZW50OworCWludCBzaWduYWwgPSBTSUdDT05UOworCisJcmN1
X3JlYWRfbG9jaygpOworCXNwaW5fbG9ja19pcnEoJnRhc2stPnNpZ2hhbmQtPnNpZ2xvY2spOwor
CXNpZ2FkZHNldCgmdGFzay0+cGVuZGluZy5zaWduYWwsIHNpZ25hbCk7CisJc3Bpbl91bmxvY2tf
aXJxKCZ0YXNrLT5zaWdoYW5kLT5zaWdsb2NrKTsKKwlyY3VfcmVhZF91bmxvY2soKTsKKwlzZXRf
dHNrX3RocmVhZF9mbGFnKHRhc2ssIFRJRl9TSUdQRU5ESU5HKTsKKwlyZXR1cm47Cit9CisKKwor
LyogSWYgdGhlIG9wdGlvbiAicHJvY3VpZCIgaXMgY2hvc2VuIHdoZW4gc3ViZnMgaXMgbW91bnRl
ZCwgdGhlIHVpZAorICogYW5kIGdpZCBudW1iZXJzIGZvciB0aGUgY3VycmVudCBwcm9jZXNzIHdp
bGwgIGJlYSBkZGVkIHRvIHRoZSBtb3VudAorICogb3B0aW9uIGxpbmUuICBIZW5jZSwgbm9uLXVu
aXggZmlsZXN5c3RlbXMgd2lsbCBiZSBtb3VudGVkIHdpdGgKKyAqIHRoYXQgb3duZXJzaGlwLgor
ICovCitzdGF0aWMgdm9pZCBhZGRfcHJvY3VpZChzdHJ1Y3Qgc3ViZnNfbW91bnQgKnNmc19tbnQp
Cit7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrID0gY3VycmVudDsKKwljaGFyICpvID0ga21h
bGxvYyhzdHJsZW4oc2ZzX21udC0+b3B0aW9ucykgKyAxICsgMzIgKyAxLCBHRlBfS0VSTkVMKTsK
KworCWlmIChzZnNfbW50LT5vcHRpb25zWzBdID09ICdcMCcpCisJCXNwcmludGYobywgInVpZD0l
ZCxnaWQ9JWQiLCB0YXNrLT51aWQsIHRhc2stPmdpZCk7CisJZWxzZQorCQlzcHJpbnRmKG8sICIl
cyx1aWQ9JWQsZ2lkPSVkIiwgc2ZzX21udC0+b3B0aW9ucywgdGFzay0+dWlkLCB0YXNrLT5naWQp
OworCisJa2ZyZWUoc2ZzX21udC0+b3B0aW9ucyk7CisJc2ZzX21udC0+b3B0aW9ucyA9IG87Cit9
CisKKworLyogVGhpcyByb3V0aW5lIGNhbGxzIHRoZSAvc2Jpbi9zdWJtb3VudGQgcHJvZ3JhbSB0
byBtb3VudCB0aGUKKyAqIGFwcHJvcHJpYXRlIGZpbGVzeXN0ZW0gb24gdG9wIG9mIHRoZSBzdWJm
cyBtb3VudC4gIFJldHVybnMKKyAqIDAgaWYgdGhlIHVzZXJzcGFjZSBwcm9ncmFtIGV4aXRlZCBu
b3JtYWxseSwgb3IgYW4gZXJyb3IgaWYKKyAqIGl0IGRpZCBub3QuCisgKi8KK3N0YXRpYyBpbnQg
bW91bnRfcmVhbF9mcyhzdHJ1Y3Qgc3ViZnNfbW91bnQgKnNmc19tbnQpCit7CisJY2hhciAqYXJn
dls3XSA9CisJICAgIHsgc2ZzX21udC0+aGVscGVyX3Byb2csIE5VTEwsIE5VTEwsIE5VTEwsIE5V
TEwsIE5VTEwsIE5VTEwgfTsKKwljaGFyICplbnZwWzJdID0geyAiSE9NRT0vIiwgTlVMTCB9Owor
CWNoYXIgKnBhdGhfYnVmOworCWludCByZXN1bHQsIGxlbiA9IDA7CisJc3RydWN0IHBhdGggcDsK
KworCWFyZ3ZbMV0gPSBzZnNfbW50LT5kZXZpY2U7CisJcGF0aF9idWYgPSAoY2hhciAqKSBfX2dl
dF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7CisJaWYgKCFwYXRoX2J1ZikKKwkJcmV0dXJuIC1FTk9N
RU07CisJcC5tbnQgPSBzZnNfbW50LT5tb3VudDsKKwlwLmRlbnRyeSA9IHAubW50LT5tbnRfcm9v
dDsKKwlhcmd2WzJdID0gZF9wYXRoKCZwLCBwYXRoX2J1ZiwgUEFHRV9TSVpFKTsKKwlhcmd2WzNd
ID0gc2ZzX21udC0+cmVxX2ZzOworCWlmICghKGFyZ3ZbNF0gPSBrbWFsbG9jKDE3LCBHRlBfS0VS
TkVMKSkpIHsKKwkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKSBwYXRoX2J1Zik7CisJCXJldHVy
biAtRU5PTUVNOwkvKiA2NCBiaXRzIG9uIHNvbWUgcGxhdGZvcm1zICovCisJfQorCXNwcmludGYo
YXJndls0XSwgIiVseCIsIHNmc19tbnQtPmZsYWdzKTsKKwlsZW4gPSBzdHJsZW4oc2ZzX21udC0+
b3B0aW9ucyk7CisJaWYgKHNmc19tbnQtPnByb2N1aWQpCisJCWFkZF9wcm9jdWlkKHNmc19tbnQp
OworCWFyZ3ZbNV0gPSBzZnNfbW50LT5vcHRpb25zOworCXJlc3VsdCA9IGNhbGxfdXNlcm1vZGVo
ZWxwZXIoc2ZzX21udC0+aGVscGVyX3Byb2csIGFyZ3YsIGVudnAsIDEpOworCWZyZWVfcGFnZSgo
dW5zaWduZWQgbG9uZykgcGF0aF9idWYpOworCWtmcmVlKGFyZ3ZbNF0pOworCWlmIChzZnNfbW50
LT5wcm9jdWlkKQorCQlzZnNfbW50LT5vcHRpb25zW2xlbl0gPSAnXDAnOworCXJldHVybiByZXN1
bHQ7Cit9CisKKworLyogIFRoaXMgcm91dGluZSByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgZmls
ZXN5c3RlbSBtb3VudGVkIG9uIHRvcAorICoJb2YgdGhlIHN1YmZzIG1vdW50cG9pbnQsIG9yIGFu
IGVycm9yIHBvaW50ZXIgaWYgaXQgd2FzIHVuYWJsZSB0by4KKyAqLworc3RhdGljIHN0cnVjdCB2
ZnNtb3VudCAqZ2V0X2NoaWxkX21vdW50KHN0cnVjdCBzdWJmc19tb3VudCAqc2ZzX21udCkKK3sK
KwlzdHJ1Y3QgdmZzbW91bnQgKmNoaWxkOworCWludCByZXN1bHQ7CisgICAgICAgIC8qIEZpcnN0
IHRpbWU6IGZpbmQgdGhlIHZmc21vdW50IHN0cnVjdHVyZSB0aGF0IG1hdGNoZXMgc2ZzX21udC4g
Ki8KKwlpZiAoIXNmc19tbnQtPm1vdW50KSB7CisJCWlmKCEoc2ZzX21udC0+bW91bnQgPSBnZXRf
c3ViZnNfdmZzbW91bnQoc2ZzX21udC0+c2IpKSkKKwkJCXJldHVybiBFUlJfUFRSKC1FTk9NRURJ
VU0pOworCQlzZnNfbW50LT5mbGFncyA9IHNmc19tbnQtPnNiLT5zX2ZsYWdzOworCQlpZiAoc2Zz
X21udC0+bW91bnQtPm1udF9mbGFncyAmIE1OVF9OT1NVSUQpCisJCQlzZnNfbW50LT5mbGFncyB8
PSBNU19OT1NVSUQ7CisJCWlmIChzZnNfbW50LT5tb3VudC0+bW50X2ZsYWdzICYgTU5UX05PREVW
KQorCQkJc2ZzX21udC0+ZmxhZ3MgfD0gTVNfTk9ERVY7CisJCWlmIChzZnNfbW50LT5tb3VudC0+
bW50X2ZsYWdzICYgTU5UX05PRVhFQykKKwkJCXNmc19tbnQtPmZsYWdzIHw9IE1TX05PRVhFQzsK
Kwl9CisJLyogQ2hlY2sgdG8gc2VlIGlmIGEgY2hpbGQgbW91bnQgZG9lcyBub3QgYWxyZWFkeSBl
eGlzdC4gKi8KKwlpZiAoJnNmc19tbnQtPm1vdW50LT5tbnRfbW91bnRzID09IHNmc19tbnQtPm1v
dW50LT5tbnRfbW91bnRzLm5leHQpIHsKKwkJcmVzdWx0ID0gbW91bnRfcmVhbF9mcyhzZnNfbW50
KTsKKwkJaWYgKHJlc3VsdCkgeworCQkJRVJSKCJzdWJmczogIlNVQk1PVU5URF9QQVRIIiB1bnN1
Y2Nlc3NmdWwgYXR0ZW1wdCB0byBtb3VudCBtZWRpYSAoJWQpXG4iLAorCQkJICAgICAgIHJlc3Vs
dCk7CisJCQkvKiBXb3JrYXJvdW5kIGZvciBjYWxsX3VzZXJtb2RlaGVscGVyIHJldHVybiB2YWx1
ZSBidWcuICovCisJCQlpZihyZXN1bHQgPCAwKQorCQkJCXJldHVybiBFUlJfUFRSKHJlc3VsdCk7
CisJCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVESVVNKTsKKwkJfQorCQlpZiAoJnNmc19tbnQtPm1v
dW50LT5tbnRfbW91bnRzCisJCQkJPT0gc2ZzX21udC0+bW91bnQtPm1udF9tb3VudHMubmV4dCkg
eworCQkJRVJSKCJzdWJmczogc3VibW91bnRkIG1vdW50IGZhaWx1cmUuXG4iKTsKKwkJCXJldHVy
biBFUlJfUFRSKC1FTk9NRURJVU0pOworCQl9CisJfQorCWNoaWxkID0gbGlzdF9lbnRyeShzZnNf
bW50LT5tb3VudC0+bW50X21vdW50cy5uZXh0LAorCQkJICAgc3RydWN0IHZmc21vdW50LCBtbnRf
Y2hpbGQpOworCXJldHVybiBjaGlsZDsKK30KKworCisvKiBJbXBsZW1lbnRzIHRoZSBsb29rdXAg
bWV0aG9kIGZvciBzdWJmcy4gIFRyaWVzIHRvIGdldCB0aGUgY2hpbGQKKyAqIG1vdW50LiAgSWYg
aXQgc3VjY2VlZHMsIGl0IGVtaXRzIGEgc2lnbmFsIGFuZCByZXR1cm5zCisgKiAtRVJFU1RBUlNZ
Uy4gIElmIGl0IHJlY2VpdmVzIGFuIGVycm9yLCBpdCBwYXNzZXMgaXQgb24gdG8gdGhlCisgKiBz
eXN0ZW0uIEl0IHJhaXNlcyB0aGUgc2VtYXBob3JlIGluIHRoZSBkaXJlY3RvcnkgaW5vZGUgYmVm
b3JlIG1vdW50aW5nCisgKiBiZWNhdXNlIHRoZSBtb3VudCByb3V0aW5lIGFsc28gY2FsbHMgbG9v
a3VwLCBhbmQgaGVuY2UgYSBmdW5jdGlvbiBpcworICogY2FsbGluZyBpdHNlbGYgZnJvbSB3aXRo
aW4gc2VtYXBob3JlIHByb3RlY3RlZCBjb2RlLiAgT25seSB0aGUgc2VtYXBob3JlCisgKiBvbiB0
aGUgc3ViZnMgcHNldWRvLWRpcmVjdG9yeSBpcyBlZmZlY3RlZCwgc28gdGhpcyBpc24ndCBkZWFk
bHkuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpzdWJmc19sb29rdXAoc3RydWN0IGlub2Rl
ICpkaXIsCisJCQkJc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkK
K3sKKwlzdHJ1Y3Qgc3ViZnNfbW91bnQgKnNmc19tbnQgPSBkaXItPmlfc2ItPnNfZnNfaW5mbzsK
KwlzdHJ1Y3QgdmZzbW91bnQgKmNoaWxkOworCisJLyogVGhpcyBpcyB1Z2x5LCBidXQgcHJldmVu
dHMgYSBsb2NrdXAgZHVyaW5nIG1vdW50LiAqLworCW11dGV4X3VubG9jaygmZGlyLT5pX211dGV4
KTsKKwlpZiAoZG93bl9pbnRlcnJ1cHRpYmxlKCZzZnNfbW50LT5zZW0pKSB7CisJCW11dGV4X2xv
Y2soJmRpci0+aV9tdXRleCk7IC8qIHB1dCB0aGUgZGlyIHNlbSBiYWNrIGRvd24gaWYgaW50ZXJy
dXB0ZWQgKi8KKwkJcmV0dXJuIEVSUl9QVFIoLUVSRVNUQVJUU1lTKTsKKwl9CisJY2hpbGQgPSBn
ZXRfY2hpbGRfbW91bnQoc2ZzX21udCk7CisJdXAoJnNmc19tbnQtPnNlbSk7CisJbXV0ZXhfbG9j
aygmZGlyLT5pX211dGV4KTsKKwlpZiAoSVNfRVJSKGNoaWxkKSkKKwkJcmV0dXJuICh2b2lkICop
IGNoaWxkOworCXN1YmZzX3NlbmRfc2lnbmFsKCk7CisJaWYgKHNmc19tbnQtPm1vdW50ID09IGN1
cnJlbnQtPmZzLT5wd2QubW50KQorCQlzdWJmc19zZXRfZnNfcHdkKGN1cnJlbnQtPmZzLCBjaGls
ZCwgY2hpbGQtPm1udF9yb290KTsKKwlyZXR1cm4gRVJSX1BUUigtRVJFU1RBUlRTWVMpOworfQor
CisKKy8qIEltcGxlbWVudHMgdGhlIG9wZW4gbWV0aG9kIGZvciBzdWJmcy4gIFRyaWVzIHRvIGdl
dCB0aGUgY2hpbGQgbW91bnQKKyAqIGZvciB0aGUgc3ViZnMgbW91bnRwb2ludCB3aGljaCBpcyBi
ZWluZyBvcGVuZWQuICBSZXR1cm5zIC1FUkVTVEFSVFNZUworICogYW5kIGVtaXRzIGFuIGlnbm9y
ZWQgc2lnbmFsIHRvIHRoZSBjYWxsaW5nIHByb2Nlc3MgaWYgaXQgc3VjY2VlZHMsCisgKiBvciBw
YXNzZXMgdGhlIGVycm9yIG1lc3NhZ2UgcmVjZWl2ZWQgaWYgaXQgZmFpbHMuCisgKi8KK3N0YXRp
YyBpbnQgc3ViZnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkK
K3sKKwlzdHJ1Y3Qgc3ViZnNfbW91bnQgKnNmc19tbnQgPSBmaWxwLT5mX2RlbnRyeS0+ZF9zYi0+
c19mc19pbmZvOworCXN0cnVjdCB2ZnNtb3VudCAqY2hpbGQ7CisJaWYgKGRvd25faW50ZXJydXB0
aWJsZSgmc2ZzX21udC0+c2VtKSkKKwkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwljaGlsZCA9IGdl
dF9jaGlsZF9tb3VudChzZnNfbW50KTsKKwl1cCgmc2ZzX21udC0+c2VtKTsKKwlpZiAoSVNfRVJS
KGNoaWxkKSkKKwkJcmV0dXJuIFBUUl9FUlIoY2hpbGQpOworCXN1YmZzX3NlbmRfc2lnbmFsKCk7
CisJaWYgKHNmc19tbnQtPm1vdW50ID09IGN1cnJlbnQtPmZzLT5wd2QubW50KQorCQlzdWJmc19z
ZXRfZnNfcHdkKGN1cnJlbnQtPmZzLCBjaGlsZCwgY2hpbGQtPm1udF9yb290KTsKKwlyZXR1cm4g
LUVSRVNUQVJUU1lTOworfQorCisKKy8qICBJbXBsZW1lbnRzIHRoZSBzdGF0ZnMgbWV0aG9kIHNv
IGRmIGFuZCBzdWNoIHdpbGwgd29yayBvbiB0aGUgbW91bnRwb2ludC4KKyAqLworc3RhdGljIGlu
dCBzdWJmc19zdGF0ZnMoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3Qga3N0YXRmcyAqYnVm
KQoreworCXN0cnVjdCBzdWJmc19tb3VudCAqc2ZzX21udCA9IGRlbnRyeS0+ZF9zYi0+c19mc19p
bmZvOworCXN0cnVjdCB2ZnNtb3VudCAqY2hpbGQ7CisJaWYgKGRvd25faW50ZXJydXB0aWJsZSgm
c2ZzX21udC0+c2VtKSkKKwkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwljaGlsZCA9IGdldF9jaGls
ZF9tb3VudChzZnNfbW50KTsKKwl1cCgmc2ZzX21udC0+c2VtKTsKKwlpZiAoSVNfRVJSKGNoaWxk
KSkKKwkJcmV0dXJuIFBUUl9FUlIoY2hpbGQpOworCXN1YmZzX3NlbmRfc2lnbmFsKCk7CisJcmV0
dXJuIC1FUkVTVEFSVFNZUzsKK30KKworCisvKiAgQ3JlYXRlcyB0aGUgaW5vZGVzIGZvciBzdWJm
cyBzdXBlcmJsb2Nrcy4KKyAqLworc3RhdGljIHN0cnVjdCBpbm9kZSAqc3ViZnNfbWFrZV9pbm9k
ZShzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBpbnQgbW9kZSkKK3sKKwlzdHJ1Y3QgaW5vZGUgKnJl
dCA9IG5ld19pbm9kZShzYik7CisKKwlpZiAocmV0KSB7CisJCXJldC0+aV9tb2RlID0gbW9kZTsK
KwkJcmV0LT5pX3VpZCA9IHJldC0+aV9naWQgPSAwOworCQlyZXQtPmlfYmxvY2tzID0gMDsKKwkJ
cmV0LT5pX2F0aW1lID0gcmV0LT5pX210aW1lID0gcmV0LT5pX2N0aW1lID0gQ1VSUkVOVF9USU1F
OworCQlyZXQtPmlfZm9wID0gJnN1YmZzX2ZpbGVfb3BzOworCX0KKwlyZXR1cm4gcmV0OworfQor
CisKKy8qICBGaWxscyB0aGUgZmllbGRzIGZvciB0aGUgc3VwZXJibG9jayBjcmVhdGVkIHdoZW4g
c3ViZnMgaXMgbW91bnRlZC4KKyAqLworc3RhdGljIGludCBzdWJmc19maWxsX3N1cGVyKHN0cnVj
dCBzdXBlcl9ibG9jayAqc2IsIHZvaWQgKmRhdGEsIGludCBzaWxlbnQpCit7CisJc3RydWN0IGlu
b2RlICpyb290OworCXN0cnVjdCBkZW50cnkgKnJvb3RfZGVudHJ5OworCisJc2ItPnNfYmxvY2tz
aXplID0gUEFHRV9DQUNIRV9TSVpFOworCXNiLT5zX2Jsb2Nrc2l6ZV9iaXRzID0gUEFHRV9DQUNI
RV9TSElGVDsKKwlzYi0+c19tYWdpYyA9IFNVQkZTX01BR0lDOworCXNiLT5zX29wID0gJnN1YmZz
X3Nfb3BzOworCXJvb3QgPSBzdWJmc19tYWtlX2lub2RlKHNiLCBTX0lGRElSfFJPT1RfTU9ERSk7
CisJaWYgKCFyb290KQorCQlnb3RvIG91dDsKKwlyb290LT5pX29wID0gJnN1YmZzX2Rpcl9pbm9k
ZV9vcGVyYXRpb25zOworCXJvb3RfZGVudHJ5ID0gZF9hbGxvY19yb290KHJvb3QpOworCWlmICgh
cm9vdF9kZW50cnkpCisJCWdvdG8gb3V0X2lwdXQ7CisJc2ItPnNfcm9vdCA9IHJvb3RfZGVudHJ5
OworCXJldHVybiAwOworICAgICAgb3V0X2lwdXQ6CisJaXB1dChyb290KTsKKyAgICAgIG91dDoK
KwlyZXR1cm4gLUVOT01FTTsKK30KKworCisvKiBQYXJzZSB0aGUgb3B0aW9ucyBzdHJpbmcgYW5k
IHJlbW92ZSBzdWJtb3VudCBzcGVjaWZpYyBvcHRpb25zCisgKiBhbmQgc3RvcmUgdGhlIGFwcHJv
cHJpYXRlIGRhdGEuCisgKi8KK3N0YXRpYyBpbnQgcHJvY19vcHRzKHN0cnVjdCBzdWJmc19tb3Vu
dCAqc2ZzX21udCwgdm9pZCAqZGF0YSkKK3sKKwljaGFyICpvcHRzID0gZGF0YSwgKm9wdCwgKnB0
ciwgKmZzID0gTlVMTCwgKnByb2c7CisJaW50IGxlbjsKKworCWlmICghb3B0cykgeworCQlpZiAo
IShkYXRhID0gb3B0cyA9IGttYWxsb2MoUEFHRV9TSVpFLCBHRlBfS0VSTkVMKSkpCisJCQlyZXR1
cm4gLUVJTlZBTDsKKwkJc3RyY2F0KG9wdHMsICJmcz1hdXRvIik7CisJfQorCWxlbiA9IHN0cm5s
ZW4ob3B0cywgUEFHRV9TSVpFIC0gMSkgKyAxOworCWlmIChzdHJzdHIob3B0cywgInByb2N1aWQi
KSkKKwkJc2ZzX21udC0+cHJvY3VpZCA9IDE7CisJaWYgKCEoc2ZzX21udC0+b3B0aW9ucyA9IGtt
YWxsb2MobGVuLCBHRlBfS0VSTkVMKSkpCisJCXJldHVybiAtRU5PTUVNOworCXNmc19tbnQtPm9w
dGlvbnNbMF0gPSAnXDAnOworCXdoaWxlICgob3B0ID0gc3Ryc2VwKCZvcHRzLCAiLCIpKSkgewor
ICAgICAgICAJaWYgKChwdHIgPSBzdHJzdHIob3B0LCAicHJvZ3JhbT0iKSkpIHsKKyAgICAgICAg
ICAgICAgICAJaWYgKCEocHJvZyA9IGttYWxsb2MoKHN0cmxlbihwdHIpIC0gNyksIEdGUF9LRVJO
RUwpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIAlyZXR1cm4gLUVOT01FTTsKKwkJCXN0cmNw
eShwcm9nLCAocHRyICsgOCkpOworICAgICAgICAgICAgICAgICAgICAgICAga2ZyZWUoc2ZzX21u
dC0+aGVscGVyX3Byb2cpOworICAgICAgICAgICAgICAgICAgICAgICAgc2ZzX21udC0+aGVscGVy
X3Byb2cgPSBwcm9nOworCQl9CisJCWVsc2UgaWYgKChwdHIgPSBzdHJzdHIob3B0LCAiZnM9Iikp
KSB7CisJCQlpZiAoIShmcyA9IGttYWxsb2MoKHN0cmxlbihwdHIpIC0gMiksIEdGUF9LRVJORUwp
KSkKKwkJCQlyZXR1cm4gLUVOT01FTTsKKwkJCXN0cmNweShmcywgKHB0ciArIDMpKTsKKwkJCXNm
c19tbnQtPnJlcV9mcyA9IGZzOworCQl9CisJCWVsc2UgaWYgKChwdHIgPSBzdHJzdHIob3B0LCAi
cHJvY3VpZCIpKSkgeworCQl9IGVsc2UgeworCQkJc3RybmNhdChzZnNfbW50LT5vcHRpb25zLCBv
cHQsIDMyKTsKKwkJCXN0cmNhdChzZnNfbW50LT5vcHRpb25zLCAiLCIpOworCQl9CisJfQorCWlm
KChsZW4gPSBzdHJsZW4oc2ZzX21udC0+b3B0aW9ucykpICYmIChzZnNfbW50LT5vcHRpb25zW2xl
bi0xXSA9PSAnLCcpKQorCQlzZnNfbW50LT5vcHRpb25zW2xlbi0xXSA9ICdcMCc7CisJaWYgKCAh
c2ZzX21udC0+cmVxX2ZzICl7CisJCWlmICghKHNmc19tbnQtPnJlcV9mcyA9IGttYWxsb2MoNSwg
R0ZQX0tFUk5FTCkpKQorCQkJcmV0dXJuIC1FTk9NRU07CS8qIDY0IGJpdHMgb24gc29tZSBwbGF0
Zm9ybXMgKi8KKwkJc3RyY3B5KHNmc19tbnQtPnJlcV9mcywgImF1dG8iICk7CisJfQorCXJldHVy
biAwOworfQorCisKKworLyogc3ViZnNfZ2V0X3N1cGVyIGlzIHRoZSBzdWJmcyBpbXBsZW1lbnRh
dGlvbiBvZiB0aGUgZ2V0X3NiIG1ldGhvZCBvbgorICogdGhlIGZpbGVfc3lzdGVtX3R5cGUgc3Ry
dWN0dXJlLiAgSXQgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGluIHRoZQorICogY2FzZSBvZiBhIG1v
dW50LiAgSXQgY3JlYXRlcyBhIG5ldyBzdWJmc19tb3VudCBzdHJ1Y3R1cmUsIGZpbGxzCisgKiB0
aGUgZmllbGRzIG9mIHRoZSBzdHJ1Y3R1cmUsIGV4Y2VwdCBmb3IgdGhlIG1vdW50IHN0cnVjdHVy
ZSwgYW5kIHRoZW4KKyAqIGNhbGxzIGEgZ2VuZXJpYyBnZXRfc2IgZnVuY3Rpb24uICBUaGUgc3Vw
ZXJibG9jayBwb2ludGVyIGlzIHN0b3JlZCBvbgorICogdGhlIHN1YmZzX21vdW50IHN0cnVjdHVy
ZSwgYW5kIHJldHVybmVkIHRvIHRoZSBjYWxsaW5nIGZ1bmN0aW9uLiAgVGhlCisgKiBzdWJmc19t
b3VudCBzdHJ1Y3R1cmUgaXMgcG9pbnRlZCB0byBieSB0aGUgc19mc19pbmZvIGZpZWxkIG9mIHRo
ZQorICogc3VwZXJibG9jayBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyBpbnQgc3ViZnNfZ2V0X3N1
cGVyKHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlICpmc3QsCisJCQkJaW50IGZsYWdzLCBjb25zdCBj
aGFyICpkZXZuYW1lLCB2b2lkICpkYXRhLAorCQkJCXN0cnVjdCB2ZnNtb3VudCAqbW50KQorewor
CWNoYXIgKmRldmljZTsKKwlzdHJ1Y3Qgc3ViZnNfbW91bnQgKm5ld21vdW50OworCWludCByZXQ7
CisKKwlpZiAoIShuZXdtb3VudCA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBzdWJmc19tb3VudCks
IEdGUF9LRVJORUwpKSkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycjsKKwl9CisJbmV3
bW91bnQtPnJlcV9mcyA9IE5VTEw7CisJbmV3bW91bnQtPnNiID0gTlVMTDsKKwluZXdtb3VudC0+
bW91bnQgPSBOVUxMOworCW5ld21vdW50LT5wcm9jdWlkID0gMDsKKwlzZW1hX2luaXQoJm5ld21v
dW50LT5zZW0sIDEpOworCWlmICghKGRldmljZSA9IGttYWxsb2MoKHN0cmxlbihkZXZuYW1lKSAr
IDEpLCBHRlBfS0VSTkVMKSkpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnI7CisJfQor
CXN0cmNweShkZXZpY2UsIGRldm5hbWUpOworCW5ld21vdW50LT5kZXZpY2UgPSBkZXZpY2U7Cisg
ICAgICAgIGlmICghKG5ld21vdW50LT5oZWxwZXJfcHJvZyA9CisgICAgICAgIAkJa21hbGxvYyhz
aXplb2YoU1VCTU9VTlREX1BBVEgpLCBHRlBfS0VSTkVMKSkpIHsKKwkJCXJldCA9IC1FTk9NRU07
CisJCQlnb3RvIGVycjsKKwkJfQorCXN0cmNweShuZXdtb3VudC0+aGVscGVyX3Byb2csIFNVQk1P
VU5URF9QQVRIKTsKKwlpZiAoKHJldCA9IHByb2Nfb3B0cyhuZXdtb3VudCwgZGF0YSkpKQorCQln
b3RvIGVycjsKKwlyZXQgPSBnZXRfc2Jfbm9kZXYoZnN0LCBmbGFncywgZGF0YSwgc3ViZnNfZmls
bF9zdXBlciwgbW50KTsKKwlpZiAocmV0KQorCQlnb3RvIGVycjsKKwluZXdtb3VudC0+c2IgPSBt
bnQtPm1udF9zYjsKKwluZXdtb3VudC0+c2ItPnNfZnNfaW5mbyA9IG5ld21vdW50OworCXJldHVy
biByZXQ7CisKK2VycjoKKwlyZXR1cm4gcmV0OworfQorCisKKy8qIHN1YmZzX2tpbGxfc3VwZXIg
aXMgdGhlIHN1YmZzIGltcGxlbWVudGF0aW9uIG9mIHRoZSBraWxsX3NiIG1ldGhvZC4KKyAqIEl0
IHNob3VsZCBiZSBjYWxsZWQgb25seSBvbiB1bW91bnQuICBJdCBjbGVhbnMgdXAgdGhlIGFwcHJv
cHJpYXRlCisgKiBzdWJmc19tb3VudCBzdHJ1Y3R1cmUgYW5kIHRoZW4gY2FsbHMgYSBnZW5lcmlj
IGZ1bmN0aW9uIHRvIGFjdHVhbGx5CisgKiBjbGVhbiB1cCB0aGUgc3VwZXJibG9jayBzdHJ1Y3R1
cmUuCisgKi8KK3N0YXRpYyB2b2lkIHN1YmZzX2tpbGxfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2Nr
ICpzYikKK3sKKwlzdHJ1Y3Qgc3ViZnNfbW91bnQgKnNmc19tbnQgPSBzYi0+c19mc19pbmZvOwor
CisgICAgICAgIGlmKHNmc19tbnQpIHsKKwkJaWYgKHNmc19tbnQtPmRldmljZSkKKwkJCWtmcmVl
KHNmc19tbnQtPmRldmljZSk7CisJCWlmIChzZnNfbW50LT5vcHRpb25zKQorCQkJa2ZyZWUoc2Zz
X21udC0+b3B0aW9ucyk7CisJCWlmIChzZnNfbW50LT5yZXFfZnMpCisJCQlrZnJlZShzZnNfbW50
LT5yZXFfZnMpOworCQlpZiAoc2ZzX21udC0+aGVscGVyX3Byb2cpCisgICAgICAgICAgICAgICAg
CWtmcmVlKHNmc19tbnQtPmhlbHBlcl9wcm9nKTsKKwkJa2ZyZWUoc2ZzX21udCk7CisgICAgICAg
IAlzYi0+c19mc19pbmZvID0gTlVMTDsKKwl9CisJa2lsbF9saXR0ZXJfc3VwZXIoc2IpOworCXJl
dHVybjsKK30KKworCitzdGF0aWMgaW50IF9faW5pdCBzdWJmc19pbml0KHZvaWQpCit7CisJcHJp
bnRrKEtFUk5fSU5GTyAic3ViZnMgJXNcbiIsIFNVQkZTX1ZFUik7CisJcmV0dXJuIHJlZ2lzdGVy
X2ZpbGVzeXN0ZW0oJnN1YmZzX3R5cGUpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgc3ViZnNf
ZXhpdCh2b2lkKQoreworCXByaW50ayhLRVJOX0lORk8gInN1YmZzIGV4aXRpbmcuXG4iKTsKKwl1
bnJlZ2lzdGVyX2ZpbGVzeXN0ZW0oJnN1YmZzX3R5cGUpOworfQorCittb2R1bGVfaW5pdChzdWJm
c19pbml0KTsKK21vZHVsZV9leGl0KHN1YmZzX2V4aXQpOwpkaWZmIC11ck4gbGludXgtMi42LjI1
LjQub3JpZy9mcy9zdWJmcy5oIGxpbnV4LTIuNi4yNS40L2ZzL3N1YmZzLmgKLS0tIGxpbnV4LTIu
Ni4yNS40Lm9yaWcvZnMvc3ViZnMuaAkxOTcwLTAxLTAxIDAzOjAwOjAwICswMzAwCisrKyBsaW51
eC0yLjYuMjUuNC9mcy9zdWJmcy5oCTIwMDgtMDUtMjUgMTA6MDg6MDAgKzAzMDAKQEAgLTAsMCAr
MSw3NiBAQAorLyoKKyAqICBzdWJmcy5oCisgKgorICogIENvcHlyaWdodCAoQykgMjAwMy0yMDA0
IEV1Z2VuZSBTLiBXZWlzcyA8ZXdlaXNzQHNiY2xvYmFsLm5ldD4KKyAqCisgKiAgRGlzdHJpYnV0
ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJz
aW9uIDIKKyAqICBvciBhYm92ZS4KKyAqLworCisKKyNkZWZpbmUgU1VCRlNfTUFHSUMgMHgyYzc5
MTA1OAorCisjZGVmaW5lIFNVQk1PVU5URF9QQVRIICIvc2Jpbi9zdWJtb3VudGQiCisKKyNkZWZp
bmUgRVJSKGFyZ3MuLi4pIFwKKwlwcmludGsoS0VSTl9FUlIgYXJncykKKworI2RlZmluZSBTVUJG
U19WRVIgIjAuOSIKKworI2RlZmluZSBST09UX01PREUgMDc3NworCitzdHJ1Y3Qgc3ViZnNfbW91
bnQgeworCWNoYXIgKmRldmljZTsKKwljaGFyICpvcHRpb25zOworCWNoYXIgKnJlcV9mczsKKyAg
ICAgICAgY2hhciAqaGVscGVyX3Byb2c7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3Qg
c3VwZXJfYmxvY2sgKnNiOworCXN0cnVjdCB2ZnNtb3VudCAqbW91bnQ7CisJc3RydWN0IHNlbWFw
aG9yZSBzZW07CisJaW50IHByb2N1aWQ7Cit9OworCisKK3N0YXRpYyB2b2lkIHN1YmZzX2tpbGxf
c3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYik7CisKK3N0YXRpYyBpbnQgc3ViZnNfZ2V0X3N1
cGVyKHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlICpmc3QsCisJCWludCBmbGFncywgY29uc3QgY2hh
ciAqZGV2bmFtZSwgdm9pZCAqZGF0YSwgc3RydWN0IHZmc21vdW50ICptbnQpOworc3RhdGljIGlu
dCBzdWJmc19zdGF0ZnMoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3Qga3N0YXRmcyAqYnVm
KTsKKworc3RhdGljIHN0cnVjdCB2ZnNtb3VudCAqZ2V0X3N1YmZzX3Zmc21vdW50KHN0cnVjdCBz
dXBlcl9ibG9jayAqc2IpOworc3RhdGljIGludCBzdWJmc19maWxsX3N1cGVyKHN0cnVjdCBzdXBl
cl9ibG9jayAqc2IsIHZvaWQgKmRhdGEsCisJCQkgICAgaW50IHNpbGVudCk7CitzdGF0aWMgc3Ry
dWN0IGlub2RlICpzdWJmc19tYWtlX2lub2RlKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCBt
b2RlKTsKK3N0YXRpYyBpbnQgc3ViZnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3Qg
ZmlsZSAqZmlscCk7CitzdGF0aWMgc3RydWN0IGRlbnRyeSAqc3ViZnNfbG9va3VwKHN0cnVjdCBp
bm9kZSAqZGlyLAorCQkJCSAgIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IG5hbWVpZGF0
YSAqbmQpOworc3RhdGljIHN0cnVjdCB2ZnNtb3VudCAqZ2V0X2NoaWxkX21vdW50KHN0cnVjdCBz
dWJmc19tb3VudCAqc2ZzX21udCk7CitzdGF0aWMgaW50IG1vdW50X3JlYWxfZnMoc3RydWN0IHN1
YmZzX21vdW50ICpzZnNfbW50KTsKK3N0YXRpYyB2b2lkIHN1YmZzX3NlbmRfc2lnbmFsKHZvaWQp
Oworc3RhdGljIHZvaWQgc3ViZnNfc2V0X2ZzX3B3ZChzdHJ1Y3QgZnNfc3RydWN0ICpmcywgc3Ry
dWN0IHZmc21vdW50ICptbnQsCisJCQkgICAgIHN0cnVjdCBkZW50cnkgKmRlbnRyeSk7CisKKwor
c3RhdGljIHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlIHN1YmZzX3R5cGUgPSB7CisJLm93bmVyID0g
VEhJU19NT0RVTEUsCisJLm5hbWUgPSAic3ViZnMiLAorCS5nZXRfc2IgPSBzdWJmc19nZXRfc3Vw
ZXIsCisJLmtpbGxfc2IgPSBzdWJmc19raWxsX3N1cGVyLAorfTsKKworCitzdGF0aWMgc3RydWN0
IHN1cGVyX29wZXJhdGlvbnMgc3ViZnNfc19vcHMgPSB7CisJLnN0YXRmcyA9IHN1YmZzX3N0YXRm
cywKKwkuZHJvcF9pbm9kZSA9IGdlbmVyaWNfZGVsZXRlX2lub2RlLAorfTsKKworCitzdGF0aWMg
c3RydWN0IGlub2RlX29wZXJhdGlvbnMgc3ViZnNfZGlyX2lub2RlX29wZXJhdGlvbnMgPSB7CisJ
Lmxvb2t1cCA9IHN1YmZzX2xvb2t1cCwKK307CisKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJh
dGlvbnMgc3ViZnNfZmlsZV9vcHMgPSB7CisJLm9wZW4gPSBzdWJmc19vcGVuLAorfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>