Re: [PATCHSET] Linux 2.4.20-jam0

hugang (hugang@soulinfo.com)
Sat, 30 Nov 2002 14:36:47 +0800


This is a multi-part message in MIME format.

--Multipart_Sat__30_Nov_2002_14:36:47_+0800_082f8b98
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Sat, 30 Nov 2002 00:38:07 +0100
"J.A. Magallon" <jamagallon@able.es> wrote:

> - Orlov inode allocator for 2.4

- add andrew morton supper.c patch
- change the indent to linux standard.

-- 
		- Hu Gang

--Multipart_Sat__30_Nov_2002_14:36:47_+0800_082f8b98 Content-Type: application/octet-stream; name="2.4.20_orlov-indent" Content-Disposition: attachment; filename="2.4.20_orlov-indent" Content-Transfer-Encoding: base64

SW5kZXg6IGZzL2V4dDMvaWFsbG9jLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvaHVnYW5n L2xvY2FsL2N2cy8yLjQuWC9mcy9leHQzL2lhbGxvYy5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAx LjEuMS42CmRpZmYgLXUgLXIxLjEuMS42IGlhbGxvYy5jCi0tLSBmcy9leHQzL2lhbGxvYy5jCTI5 IE5vdiAyMDAyIDA2OjAxOjUwIC0wMDAwCTEuMS4xLjYKKysrIGZzL2V4dDMvaWFsbG9jLmMJMzAg Tm92IDIwMDIgMDU6MDg6MDQgLTAwMDAKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51 eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9sb2Nrcy5oPgogI2luY2x1ZGUgPGxpbnV4L3F1 b3Rhb3BzLmg+CisjaW5jbHVkZSA8bGludXgvcmFuZG9tLmg+CiAKICNpbmNsdWRlIDxhc20vYml0 b3BzLmg+CiAjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgpAQCAtMjYyLDkgKzI2MywxMSBAQAog CQlpZiAoZ2RwKSB7CiAJCQlnZHAtPmJnX2ZyZWVfaW5vZGVzX2NvdW50ID0gY3B1X3RvX2xlMTYo CiAJCQkJbGUxNl90b19jcHUoZ2RwLT5iZ19mcmVlX2lub2Rlc19jb3VudCkgKyAxKTsKLQkJCWlm IChpc19kaXJlY3RvcnkpCisJCQlpZiAoaXNfZGlyZWN0b3J5KSB7CiAJCQkJZ2RwLT5iZ191c2Vk X2RpcnNfY291bnQgPSBjcHVfdG9fbGUxNigKIAkJCQkgIGxlMTZfdG9fY3B1KGdkcC0+YmdfdXNl ZF9kaXJzX2NvdW50KSAtIDEpOworCQkJCUVYVDNfU0Ioc2IpLT5zX2Rpcl9jb3VudC0tOworCQkJ fQogCQl9CiAJCUJVRkZFUl9UUkFDRShiaDIsICJjYWxsIGV4dDNfam91cm5hbF9kaXJ0eV9tZXRh ZGF0YSIpOwogCQllcnIgPSBleHQzX2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCBiaDIp OwpAQCAtMjkzLDIwICsyOTYsMjI4IEBACiAgKiB0aGUgZ3JvdXBzIHdpdGggYWJvdmUtYXZlcmFn ZSBmcmVlIHNwYWNlLCB0aGF0IGdyb3VwIHdpdGggdGhlIGZld2VzdAogICogZGlyZWN0b3JpZXMg YWxyZWFkeSBpcyBjaG9zZW4uCiAgKgorICogRm9yIG90aGVyIGlub2Rlcywgc2VhcmNoIGZvcndh cmQgZnJvbSB0aGUgcGFyZW50IGRpcmVjdG9yeVwncyBibG9jaworICogZ3JvdXAgdG8gZmluZCBh IGZyZWUgaW5vZGUuCisgKi8KK3N0YXRpYyBpbnQgZmluZF9ncm91cF9kaXIoc3RydWN0IHN1cGVy X2Jsb2NrICpzYiwgc3RydWN0IGlub2RlICpwYXJlbnQpCit7CisJc3RydWN0IGV4dDNfc3VwZXJf YmxvY2sgKiBlcyA9IEVYVDNfU0Ioc2IpLT5zX2VzOworCWludCBuZ3JvdXBzID0gRVhUM19TQihz YiktPnNfZ3JvdXBzX2NvdW50OworCWludCBhdmVmcmVlaSA9IGxlMzJfdG9fY3B1KGVzLT5zX2Zy ZWVfaW5vZGVzX2NvdW50KSAvIG5ncm91cHM7CisJc3RydWN0IGV4dDNfZ3JvdXBfZGVzYyAqZGVz YywgKmJlc3RfZGVzYyA9IE5VTEw7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwgKmJlc3RfYmgg PSBOVUxMOworCWludCBncm91cCwgYmVzdF9ncm91cCA9IC0xOworCisJZm9yIChncm91cCA9IDA7 IGdyb3VwIDwgbmdyb3VwczsgZ3JvdXArKykgeworCQlkZXNjID0gZXh0M19nZXRfZ3JvdXBfZGVz YyAoc2IsIGdyb3VwLCAmYmgpOworCQlpZiAoIWRlc2MgfHwgIWRlc2MtPmJnX2ZyZWVfaW5vZGVz X2NvdW50KQorCQkJY29udGludWU7CisJCWlmIChsZTE2X3RvX2NwdShkZXNjLT5iZ19mcmVlX2lu b2Rlc19jb3VudCkgPCBhdmVmcmVlaSkKKwkJCWNvbnRpbnVlOworCQlpZiAoIWJlc3RfZGVzYyB8 fCAKKwkJICAgIChsZTE2X3RvX2NwdShkZXNjLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCkgPgorCQkg ICAgIGxlMTZfdG9fY3B1KGJlc3RfZGVzYy0+YmdfZnJlZV9ibG9ja3NfY291bnQpKSkgeworCQkJ YmVzdF9ncm91cCA9IGdyb3VwOworCQkJYmVzdF9kZXNjID0gZGVzYzsKKwkJCWJlc3RfYmggPSBi aDsKKwkJfQorCX0KKwlpZiAoIWJlc3RfZGVzYykKKwkJcmV0dXJuIC0xOworCXJldHVybiBiZXN0 X2dyb3VwOworfQorCisvKiAKKyAqIE9ybG92J3MgYWxsb2NhdG9yIGZvciBkaXJlY3Rvcmllcy4K KyAqIAorICogV2UgYWx3YXlzIHRyeSB0byBzcHJlYWQgZmlyc3QtbGV2ZWwgZGlyZWN0b3JpZXMu CisgKiAKKyAqIElmIHRoZXJlIGFyZSBibG9ja2dyb3VwcyB3aXRoIGJvdGggZnJlZSBpbm9kZXMg YW5kIGZyZWUgYmxvY2tzIGNvdW50cworICogbm90IHdvcnNlIHRoYW4gYXZlcmFnZSB3ZSByZXR1 cm4gb25lIHdpdGggc21hbGxlc3QgZGlyZWN0b3J5IGNvdW50LgorICogT3RoZXJ3aXNlIHdlIHNp bXBseSByZXR1cm4gYSByYW5kb20gZ3JvdXAuCisgKiAKKyAqIEZvciB0aGUgcmVzdCBydWxlcyBs b29rIHNvOgorICogCisgKiBJdCdzIE9LIHRvIHB1dCBkaXJlY3RvcnkgaW50byBhIGdyb3VwIHVu bGVzcyAKKyAqIGl0IGhhcyB0b28gbWFueSBkaXJlY3RvcmllcyBhbHJlYWR5IChtYXhfZGlycykg b3IKKyAqIGl0IGhhcyB0b28gZmV3IGZyZWUgaW5vZGVzIGxlZnQgKG1pbl9pbm9kZXMpIG9yCisg KiBpdCBoYXMgdG9vIGZldyBmcmVlIGJsb2NrcyBsZWZ0IChtaW5fYmxvY2tzKSBvcgorICogaXQn cyBhbHJlYWR5IHJ1bm5pbmcgdG9vIGxhcmdlIGRlYnQgKG1heF9kZWJ0KS4KKyAqIFBhcmVudCdz IGdyb3VwIGlzIHByZWZlcmVkLCBpZiBpdCBkb2Vzbid0IHNhdGlzZnkgdGhlc2UKKyAqIGNvbmRp dGlvbnMgd2Ugc2VhcmNoIGN5Y2xpY2FsbHkgdGhyb3VnaCB0aGUgcmVzdC4gSWYgbm9uZQorICog b2YgdGhlIGdyb3VwcyBsb29rIGdvb2Qgd2UganVzdCBsb29rIGZvciBhIGdyb3VwIHdpdGggbW9y ZQorICogZnJlZSBpbm9kZXMgdGhhbiBhdmVyYWdlIChzdGFydGluZyBhdCBwYXJlbnQncyBncm91 cCkuCisgKgorICogRGVidCBpcyBpbmNyZW1lbnRlZCBlYWNoIHRpbWUgd2UgYWxsb2NhdGUgYSBk aXJlY3RvcnkgYW5kIGRlY3JlbWVudGVkCisgKiB3aGVuIHdlIGFsbG9jYXRlIGFuIGlub2RlLCB3 aXRoaW4gMC0tMjU1LgorICovCisKKyNkZWZpbmUgSU5PREVfQ09TVCA2NAorI2RlZmluZSBCTE9D S19DT1NUIDI1NgorCitzdGF0aWMgaW50IGZpbmRfZ3JvdXBfb3Jsb3Yoc3RydWN0IHN1cGVyX2Js b2NrICpzYiwgY29uc3Qgc3RydWN0IGlub2RlICpwYXJlbnQpCit7CisJaW50IHBhcmVudF9ncm91 cCA9IEVYVDNfSShwYXJlbnQpLT5pX2Jsb2NrX2dyb3VwOworCXN0cnVjdCBleHQzX3NiX2luZm8g KnNiaSA9IEVYVDNfU0Ioc2IpOworCXN0cnVjdCBleHQzX3N1cGVyX2Jsb2NrICplcyA9IHNiaS0+ c19lczsKKwlpbnQgbmdyb3VwcyA9IHNiaS0+c19ncm91cHNfY291bnQ7CisJaW50IGlub2Rlc19w ZXJfZ3JvdXAgPSBFWFQzX0lOT0RFU19QRVJfR1JPVVAoc2IpOworCWludCBhdmVmcmVlaSA9IGxl MzJfdG9fY3B1KGVzLT5zX2ZyZWVfaW5vZGVzX2NvdW50KSAvIG5ncm91cHM7CisJaW50IGF2ZWZy ZWViID0gbGUzMl90b19jcHUoZXMtPnNfZnJlZV9ibG9ja3NfY291bnQpIC8gbmdyb3VwczsKKwlp bnQgYmxvY2tzX3Blcl9kaXI7CisJaW50IG5kaXJzID0gc2JpLT5zX2Rpcl9jb3VudDsKKwlpbnQg bWF4X2RlYnQsIG1heF9kaXJzLCBtaW5fYmxvY2tzLCBtaW5faW5vZGVzOworCWludCBncm91cCA9 IC0xLCBpOworCXN0cnVjdCBleHQzX2dyb3VwX2Rlc2MgKmRlc2M7CisJc3RydWN0IGJ1ZmZlcl9o ZWFkICpiaDsKKworCWlmICgocGFyZW50ID09IHNiLT5zX3Jvb3QtPmRfaW5vZGUpIHx8CisJICAg IChwYXJlbnQtPmlfZmxhZ3MgJiBFWFQzX1RPUERJUl9GTCkpIHsKKwkJc3RydWN0IGV4dDNfZ3Jv dXBfZGVzYyAqYmVzdF9kZXNjID0gTlVMTDsKKwkJc3RydWN0IGJ1ZmZlcl9oZWFkICpiZXN0X2Jo ID0gTlVMTDsKKwkJaW50IGJlc3RfbmRpciA9IGlub2Rlc19wZXJfZ3JvdXA7CisJCWludCBiZXN0 X2dyb3VwID0gLTE7CisJCQorCQlnZXRfcmFuZG9tX2J5dGVzKCZncm91cCwgc2l6ZW9mKGdyb3Vw KSk7CisJCXBhcmVudF9ncm91cCA9ICh1bnNpZ25lZClncm91cCAlIG5ncm91cHM7CisJCWZvciAo aSA9IDA7IGkgPCBuZ3JvdXBzOyBpKyspIHsKKwkJCWdyb3VwID0gKHBhcmVudF9ncm91cCArIGkp ICUgbmdyb3VwczsKKwkJCWRlc2MgPSBleHQzX2dldF9ncm91cF9kZXNjIChzYiwgZ3JvdXAsICZi aCk7CisJCQlpZiAoIWRlc2MgfHwgIWRlc2MtPmJnX2ZyZWVfaW5vZGVzX2NvdW50KQorCQkJCWNv bnRpbnVlOworCQkJaWYgKGxlMTZfdG9fY3B1KGRlc2MtPmJnX3VzZWRfZGlyc19jb3VudCkgPj0g YmVzdF9uZGlyKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGxlMTZfdG9fY3B1KGRlc2MtPmJnX2Zy ZWVfaW5vZGVzX2NvdW50KSA8IGF2ZWZyZWVpKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGxlMTZf dG9fY3B1KGRlc2MtPmJnX2ZyZWVfYmxvY2tzX2NvdW50KSA8IGF2ZWZyZWViKQorCQkJCWNvbnRp bnVlOworCQkJYmVzdF9ncm91cCA9IGdyb3VwOworCQkJYmVzdF9uZGlyID0gbGUxNl90b19jcHUo ZGVzYy0+YmdfdXNlZF9kaXJzX2NvdW50KTsKKwkJCWJlc3RfZGVzYyA9IGRlc2M7CisJCQliZXN0 X2JoID0gYmg7CisJCX0KKwkJaWYgKGJlc3RfZ3JvdXAgPj0gMCkgeworCQkJZGVzYyA9IGJlc3Rf ZGVzYzsKKwkJCWJoID0gYmVzdF9iaDsKKwkJCWdyb3VwID0gYmVzdF9ncm91cDsKKwkJCWdvdG8g Zm91bmQ7CisJCX0KKwkJZ290byBmYWxsYmFjazsKKwl9CisKKwlibG9ja3NfcGVyX2RpciA9IChs ZTMyX3RvX2NwdShlcy0+c19ibG9ja3NfY291bnQpIC0KKwkJCSAgbGUzMl90b19jcHUoZXMtPnNf ZnJlZV9ibG9ja3NfY291bnQpKSAvIG5kaXJzOworCisJbWF4X2RpcnMgPSBuZGlycyAvIG5ncm91 cHMgKyBpbm9kZXNfcGVyX2dyb3VwIC8gMTY7CisJbWluX2lub2RlcyA9IGF2ZWZyZWVpIC0gaW5v ZGVzX3Blcl9ncm91cCAvIDQ7CisJbWluX2Jsb2NrcyA9IGF2ZWZyZWViIC0gRVhUM19CTE9DS1Nf UEVSX0dST1VQKHNiKSAvIDQ7CisKKwltYXhfZGVidCA9IEVYVDNfQkxPQ0tTX1BFUl9HUk9VUChz YikgLyBtYXgoYmxvY2tzX3Blcl9kaXIsIEJMT0NLX0NPU1QpOworCWlmIChtYXhfZGVidCAqIElO T0RFX0NPU1QgPiBpbm9kZXNfcGVyX2dyb3VwKQorCQltYXhfZGVidCA9IGlub2Rlc19wZXJfZ3Jv dXAgLyBJTk9ERV9DT1NUOworCWlmIChtYXhfZGVidCA+IDI1NSkKKwkJbWF4X2RlYnQgPSAyNTU7 CisJaWYgKG1heF9kZWJ0ID09IDApCisJCW1heF9kZWJ0ID0gMTsKKworCWZvciAoaSA9IDA7IGkg PCBuZ3JvdXBzOyBpKyspIHsKKwkJZ3JvdXAgPSAocGFyZW50X2dyb3VwICsgaSkgJSBuZ3JvdXBz OworCQlkZXNjID0gZXh0M19nZXRfZ3JvdXBfZGVzYyAoc2IsIGdyb3VwLCAmYmgpOworCQlpZiAo IWRlc2MgfHwgIWRlc2MtPmJnX2ZyZWVfaW5vZGVzX2NvdW50KQorCQkJY29udGludWU7CisJCWlm IChzYmktPnNfZGVidHNbZ3JvdXBdID49IG1heF9kZWJ0KQorCQkJY29udGludWU7CisJCWlmIChs ZTE2X3RvX2NwdShkZXNjLT5iZ191c2VkX2RpcnNfY291bnQpID49IG1heF9kaXJzKQorCQkJY29u dGludWU7CisJCWlmIChsZTE2X3RvX2NwdShkZXNjLT5iZ19mcmVlX2lub2Rlc19jb3VudCkgPCBt aW5faW5vZGVzKQorCQkJY29udGludWU7CisJCWlmIChsZTE2X3RvX2NwdShkZXNjLT5iZ19mcmVl X2Jsb2Nrc19jb3VudCkgPCBtaW5fYmxvY2tzKQorCQkJY29udGludWU7CisJCWdvdG8gZm91bmQ7 CisJfQorCisgZmFsbGJhY2s6CisJZm9yIChpID0gMDsgaSA8IG5ncm91cHM7IGkrKykgeworCQln cm91cCA9IChwYXJlbnRfZ3JvdXAgKyBpKSAlIG5ncm91cHM7CisJCWRlc2MgPSBleHQzX2dldF9n cm91cF9kZXNjIChzYiwgZ3JvdXAsICZiaCk7CisJCWlmICghZGVzYyB8fCAhZGVzYy0+YmdfZnJl ZV9pbm9kZXNfY291bnQpCisJCQljb250aW51ZTsKKwkJaWYgKGxlMTZfdG9fY3B1KGRlc2MtPmJn X2ZyZWVfaW5vZGVzX2NvdW50KSA+PSBhdmVmcmVlaSkKKwkJCWdvdG8gZm91bmQ7CisJfQorCisJ cmV0dXJuIC0xOworIGZvdW5kOgorCXJldHVybiBncm91cDsKK30KKworc3RhdGljIGludCBmaW5k X2dyb3VwX290aGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBpbm9kZSAqcGFyZW50 KQoreworCWludCBwYXJlbnRfZ3JvdXAgPSBFWFQzX0kocGFyZW50KS0+aV9ibG9ja19ncm91cDsK KwlpbnQgbmdyb3VwcyA9IEVYVDNfU0Ioc2IpLT5zX2dyb3Vwc19jb3VudDsKKwlzdHJ1Y3QgZXh0 M19ncm91cF9kZXNjICpkZXNjOworCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CisJaW50IGdyb3Vw LCBpOworCQorCS8qCisJICogVHJ5IHRvIHBsYWNlIHRoZSBpbm9kZSBpbiBpdHMgcGFyZW50IGRp cmVjdG9yeQorCSAqLworCWdyb3VwID0gcGFyZW50X2dyb3VwOworCWRlc2MgPSBleHQzX2dldF9n cm91cF9kZXNjIChzYiwgZ3JvdXAsICZiaCk7CisJaWYgKGRlc2MgJiYgbGUxNl90b19jcHUoZGVz Yy0+YmdfZnJlZV9pbm9kZXNfY291bnQpKQorCQlnb3RvIGZvdW5kOworCisJLyoKKwkgKiBVc2Ug YSBxdWFkcmF0aWMgaGFzaCB0byBmaW5kIGEgZ3JvdXAgd2l0aCBhCisJICogZnJlZSBpbm9kZQor CSAqLworCWZvciAoaSA9IDE7IGkgPCBuZ3JvdXBzOyBpIDw8PSAxKSB7CisJCWdyb3VwICs9IGk7 CisJCWlmIChncm91cCA+PSBuZ3JvdXBzKQorCQkJZ3JvdXAgLT0gbmdyb3VwczsKKwkJZGVzYyA9 IGV4dDNfZ2V0X2dyb3VwX2Rlc2MgKHNiLCBncm91cCwgJmJoKTsKKwkJaWYgKGRlc2MgJiYgbGUx Nl90b19jcHUoZGVzYy0+YmdfZnJlZV9pbm9kZXNfY291bnQpKQorCQkJZ290byBmb3VuZDsKKwl9 CisKKwkvKgorCSAqIFRoYXQgZmFpbGVkOiB0cnkgbGluZWFyIHNlYXJjaCBmb3IgYSBmcmVlIGlu b2RlCisJICovCisJZ3JvdXAgPSBwYXJlbnRfZ3JvdXAgKyAxOworCWZvciAoaSA9IDI7IGkgPCBu Z3JvdXBzOyBpKyspIHsKKwkJaWYgKCsrZ3JvdXAgPj0gbmdyb3VwcykKKwkJCWdyb3VwID0gMDsK KwkJZGVzYyA9IGV4dDNfZ2V0X2dyb3VwX2Rlc2MgKHNiLCBncm91cCwgJmJoKTsKKwkJaWYgKGRl c2MgJiYgbGUxNl90b19jcHUoZGVzYy0+YmdfZnJlZV9pbm9kZXNfY291bnQpKQorCQkJZ290byBm b3VuZDsKKwl9CisJCisJcmV0dXJuIC0xOworCQorIGZvdW5kOgorCXJldHVybiBncm91cDsKK30K KworLyoKKyAqIFRoZXJlIGFyZSB0d28gcG9saWNpZXMgZm9yIGFsbG9jYXRpbmcgYW4gaW5vZGUu ICBJZiB0aGUgbmV3IGlub2RlIGlzCisgKiBhIGRpcmVjdG9yeSwgdGhlbiBhIGZvcndhcmQgc2Vh cmNoIGlzIG1hZGUgZm9yIGEgYmxvY2sgZ3JvdXAgd2l0aCBib3RoCisgKiBmcmVlIHNwYWNlIGFu ZCBhIGxvdyBkaXJlY3RvcnktdG8taW5vZGUgcmF0aW87IGlmIHRoYXQgZmFpbHMsIHRoZW4gb2YK KyAqIHRoZSBncm91cHMgd2l0aCBhYm92ZS1hdmVyYWdlIGZyZWUgc3BhY2UsIHRoYXQgZ3JvdXAg d2l0aCB0aGUgZmV3ZXN0CisgKiBkaXJlY3RvcmllcyBhbHJlYWR5IGlzIGNob3Nlbi4KKyAqCiAg KiBGb3Igb3RoZXIgaW5vZGVzLCBzZWFyY2ggZm9yd2FyZCBmcm9tIHRoZSBwYXJlbnQgZGlyZWN0 b3J5J3MgYmxvY2sKICAqIGdyb3VwIHRvIGZpbmQgYSBmcmVlIGlub2RlLgogICovCi1zdHJ1Y3Qg aW5vZGUgKiBleHQzX25ld19pbm9kZSAoaGFuZGxlX3QgKmhhbmRsZSwKLQkJCQljb25zdCBzdHJ1 Y3QgaW5vZGUgKiBkaXIsIGludCBtb2RlKQorc3RydWN0IGlub2RlICogZXh0M19uZXdfaW5vZGUg KGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqIGRpciwgaW50IG1vZGUpCiB7CiAJc3Ry dWN0IHN1cGVyX2Jsb2NrICogc2I7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICogYmg7CiAJc3RydWN0 IGJ1ZmZlcl9oZWFkICogYmgyOwotCWludCBpLCBqLCBhdmVmcmVlaTsKLQlzdHJ1Y3QgaW5vZGUg KiBpbm9kZTsKKwlpbnQgZ3JvdXA7CisJaW5vX3QgaW5vOwogCWludCBiaXRtYXBfbnI7CisJc3Ry dWN0IGlub2RlICogaW5vZGU7CiAJc3RydWN0IGV4dDNfZ3JvdXBfZGVzYyAqIGdkcDsKLQlzdHJ1 Y3QgZXh0M19ncm91cF9kZXNjICogdG1wOwogCXN0cnVjdCBleHQzX3N1cGVyX2Jsb2NrICogZXM7 CiAJaW50IGVyciA9IDA7CiAKQEAgLTMyMyw5NCArNTM0LDM2IEBACiAJbG9ja19zdXBlciAoc2Ip OwogCWVzID0gc2ItPnUuZXh0M19zYi5zX2VzOwogcmVwZWF0OgotCWdkcCA9IE5VTEw7Ci0JaSA9 IDA7Ci0KIAlpZiAoU19JU0RJUihtb2RlKSkgewotCQlhdmVmcmVlaSA9IGxlMzJfdG9fY3B1KGVz LT5zX2ZyZWVfaW5vZGVzX2NvdW50KSAvCi0JCQlzYi0+dS5leHQzX3NiLnNfZ3JvdXBzX2NvdW50 OwotCQlpZiAoIWdkcCkgewotCQkJZm9yIChqID0gMDsgaiA8IHNiLT51LmV4dDNfc2Iuc19ncm91 cHNfY291bnQ7IGorKykgewotCQkJCXN0cnVjdCBidWZmZXJfaGVhZCAqdGVtcF9idWZmZXI7Ci0J CQkJdG1wID0gZXh0M19nZXRfZ3JvdXBfZGVzYyAoc2IsIGosICZ0ZW1wX2J1ZmZlcik7Ci0JCQkJ aWYgKHRtcCAmJgotCQkJCSAgICBsZTE2X3RvX2NwdSh0bXAtPmJnX2ZyZWVfaW5vZGVzX2NvdW50 KSAmJgotCQkJCSAgICBsZTE2X3RvX2NwdSh0bXAtPmJnX2ZyZWVfaW5vZGVzX2NvdW50KSA+PQot CQkJCQkJCWF2ZWZyZWVpKSB7Ci0JCQkJCWlmICghZ2RwIHx8IChsZTE2X3RvX2NwdSh0bXAtPmJn X2ZyZWVfYmxvY2tzX2NvdW50KSA+Ci0JCQkJCQlsZTE2X3RvX2NwdShnZHAtPmJnX2ZyZWVfYmxv Y2tzX2NvdW50KSkpIHsKLQkJCQkJCWkgPSBqOwotCQkJCQkJZ2RwID0gdG1wOwotCQkJCQkJYmgy ID0gdGVtcF9idWZmZXI7Ci0JCQkJCX0KLQkJCQl9Ci0JCQl9Ci0JCX0KLQl9IGVsc2UgewotCQkv KgotCQkgKiBUcnkgdG8gcGxhY2UgdGhlIGlub2RlIGluIGl0cyBwYXJlbnQgZGlyZWN0b3J5Ci0J CSAqLwotCQlpID0gZGlyLT51LmV4dDNfaS5pX2Jsb2NrX2dyb3VwOwotCQl0bXAgPSBleHQzX2dl dF9ncm91cF9kZXNjIChzYiwgaSwgJmJoMik7Ci0JCWlmICh0bXAgJiYgbGUxNl90b19jcHUodG1w LT5iZ19mcmVlX2lub2Rlc19jb3VudCkpCi0JCQlnZHAgPSB0bXA7CisJCWlmICh0ZXN0X29wdCAo c2IsIE9MREFMTE9DKSkKKwkJCWdyb3VwID0gZmluZF9ncm91cF9kaXIoc2IsIGRpcik7CiAJCWVs c2UKLQkJewotCQkJLyoKLQkJCSAqIFVzZSBhIHF1YWRyYXRpYyBoYXNoIHRvIGZpbmQgYSBncm91 cCB3aXRoIGEKLQkJCSAqIGZyZWUgaW5vZGUKLQkJCSAqLwotCQkJZm9yIChqID0gMTsgaiA8IHNi LT51LmV4dDNfc2Iuc19ncm91cHNfY291bnQ7IGogPDw9IDEpIHsKLQkJCQlpICs9IGo7Ci0JCQkJ aWYgKGkgPj0gc2ItPnUuZXh0M19zYi5zX2dyb3Vwc19jb3VudCkKLQkJCQkJaSAtPSBzYi0+dS5l eHQzX3NiLnNfZ3JvdXBzX2NvdW50OwotCQkJCXRtcCA9IGV4dDNfZ2V0X2dyb3VwX2Rlc2MgKHNi LCBpLCAmYmgyKTsKLQkJCQlpZiAodG1wICYmCi0JCQkJICAgIGxlMTZfdG9fY3B1KHRtcC0+Ymdf ZnJlZV9pbm9kZXNfY291bnQpKSB7Ci0JCQkJCWdkcCA9IHRtcDsKLQkJCQkJYnJlYWs7Ci0JCQkJ fQotCQkJfQotCQl9Ci0JCWlmICghZ2RwKSB7Ci0JCQkvKgotCQkJICogVGhhdCBmYWlsZWQ6IHRy eSBsaW5lYXIgc2VhcmNoIGZvciBhIGZyZWUgaW5vZGUKLQkJCSAqLwotCQkJaSA9IGRpci0+dS5l eHQzX2kuaV9ibG9ja19ncm91cCArIDE7Ci0JCQlmb3IgKGogPSAyOyBqIDwgc2ItPnUuZXh0M19z Yi5zX2dyb3Vwc19jb3VudDsgaisrKSB7Ci0JCQkJaWYgKCsraSA+PSBzYi0+dS5leHQzX3NiLnNf Z3JvdXBzX2NvdW50KQotCQkJCQlpID0gMDsKLQkJCQl0bXAgPSBleHQzX2dldF9ncm91cF9kZXNj IChzYiwgaSwgJmJoMik7Ci0JCQkJaWYgKHRtcCAmJgotCQkJCSAgICBsZTE2X3RvX2NwdSh0bXAt PmJnX2ZyZWVfaW5vZGVzX2NvdW50KSkgewotCQkJCQlnZHAgPSB0bXA7Ci0JCQkJCWJyZWFrOwot CQkJCX0KLQkJCX0KLQkJfQotCX0KKwkJCWdyb3VwID0gZmluZF9ncm91cF9vcmxvdihzYiwgZGly KTsKKwl9IGVsc2UgCisJCWdyb3VwID0gZmluZF9ncm91cF9vdGhlcihzYiwgZGlyKTsKIAogCWVy ciA9IC1FTk9TUEM7Ci0JaWYgKCFnZHApCi0JCWdvdG8gb3V0OworCWlmIChnZHAgPT0gLTEpCisJ CWdvdG8gZmFpbDsKIAogCWVyciA9IC1FSU87Ci0JYml0bWFwX25yID0gbG9hZF9pbm9kZV9iaXRt YXAgKHNiLCBpKTsKKwliaXRtYXBfbnIgPSBsb2FkX2lub2RlX2JpdG1hcCAoc2IsIGdyb3VwKTsK IAlpZiAoYml0bWFwX25yIDwgMCkKIAkJZ290byBmYWlsOwogCisJZ2RwID0gZXh0M19nZXRfZ3Jv dXBfZGVzYyAoc2IsIGdyb3VwLCAmYmgyKTsKIAliaCA9IHNiLT51LmV4dDNfc2Iuc19pbm9kZV9i aXRtYXBbYml0bWFwX25yXTsKIAotCWlmICgoaiA9IGV4dDNfZmluZF9maXJzdF96ZXJvX2JpdCAo KHVuc2lnbmVkIGxvbmcgKikgYmgtPmJfZGF0YSwKKwlpZiAoKGlubyA9IGV4dDNfZmluZF9maXJz dF96ZXJvX2JpdCAoKHVuc2lnbmVkIGxvbmcgKikgYmgtPmJfZGF0YSwKIAkJCQkgICAgICBFWFQz X0lOT0RFU19QRVJfR1JPVVAoc2IpKSkgPAogCSAgICBFWFQzX0lOT0RFU19QRVJfR1JPVVAoc2Ip KSB7CiAJCUJVRkZFUl9UUkFDRShiaCwgImdldF93cml0ZV9hY2Nlc3MiKTsKIAkJZXJyID0gZXh0 M19qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MoaGFuZGxlLCBiaCk7CiAJCWlmIChlcnIpIGdvdG8g ZmFpbDsKIAkJCi0JCWlmIChleHQzX3NldF9iaXQgKGosIGJoLT5iX2RhdGEpKSB7CisJCWlmIChl eHQzX3NldF9iaXQgKGlubywgYmgtPmJfZGF0YSkpIHsKIAkJCWV4dDNfZXJyb3IgKHNiLCAiZXh0 M19uZXdfaW5vZGUiLAotCQkJCSAgICAgICJiaXQgYWxyZWFkeSBzZXQgZm9yIGlub2RlICVkIiwg aik7CisJCQkJICAgICAgImJpdCBhbHJlYWR5IHNldCBmb3IgaW5vZGUgJWx1IiwgaW5vKTsKIAkJ CWdvdG8gcmVwZWF0OwogCQl9CiAJCUJVRkZFUl9UUkFDRShiaCwgImNhbGwgZXh0M19qb3VybmFs X2RpcnR5X21ldGFkYXRhIik7CkBAIC00MjAsNyArNTczLDcgQEAKIAkJaWYgKGxlMTZfdG9fY3B1 KGdkcC0+YmdfZnJlZV9pbm9kZXNfY291bnQpICE9IDApIHsKIAkJCWV4dDNfZXJyb3IgKHNiLCAi ZXh0M19uZXdfaW5vZGUiLAogCQkJCSAgICAiRnJlZSBpbm9kZXMgY291bnQgY29ycnVwdGVkIGlu IGdyb3VwICVkIiwKLQkJCQkgICAgaSk7CisJCQkJICAgIGdyb3VwKTsKIAkJCS8qIElzIGl0IHJl YWxseSBFTk9TUEM/ICovCiAJCQllcnIgPSAtRU5PU1BDOwogCQkJaWYgKHNiLT5zX2ZsYWdzICYg TVNfUkRPTkxZKQpAQCAtNDM2LDExICs1ODksMTEgQEAKIAkJfQogCQlnb3RvIHJlcGVhdDsKIAl9 Ci0JaiArPSBpICogRVhUM19JTk9ERVNfUEVSX0dST1VQKHNiKSArIDE7Ci0JaWYgKGogPCBFWFQz X0ZJUlNUX0lOTyhzYikgfHwgaiA+IGxlMzJfdG9fY3B1KGVzLT5zX2lub2Rlc19jb3VudCkpIHsK KwkJaW5vICs9IGdyb3VwICogRVhUM19JTk9ERVNfUEVSX0dST1VQKHNiKSArIDE7CisJCWlmIChp bm8gPCBFWFQzX0ZJUlNUX0lOTyhzYikgfHwgaW5vID4gbGUzMl90b19jcHUoZXMtPnNfaW5vZGVz X2NvdW50KSkgewogCQlleHQzX2Vycm9yIChzYiwgImV4dDNfbmV3X2lub2RlIiwKIAkJCSAgICAi cmVzZXJ2ZWQgaW5vZGUgb3IgaW5vZGUgPiBpbm9kZXMgY291bnQgLSAiCi0JCQkgICAgImJsb2Nr X2dyb3VwID0gJWQsaW5vZGU9JWQiLCBpLCBqKTsKKwkJCSAgICAiYmxvY2tfZ3JvdXAgPSAlZCxp bm9kZT0lbHUiLCBncm91cCwgaW5vKTsKIAkJZXJyID0gLUVJTzsKIAkJZ290byBmYWlsOwogCX0K QEAgLTQ1MCw5ICs2MDMsMTEgQEAKIAlpZiAoZXJyKSBnb3RvIGZhaWw7CiAJZ2RwLT5iZ19mcmVl X2lub2Rlc19jb3VudCA9CiAJCWNwdV90b19sZTE2KGxlMTZfdG9fY3B1KGdkcC0+YmdfZnJlZV9p bm9kZXNfY291bnQpIC0gMSk7Ci0JaWYgKFNfSVNESVIobW9kZSkpCisJaWYgKFNfSVNESVIobW9k ZSkpIHsKIAkJZ2RwLT5iZ191c2VkX2RpcnNfY291bnQgPQogCQkJY3B1X3RvX2xlMTYobGUxNl90 b19jcHUoZ2RwLT5iZ191c2VkX2RpcnNfY291bnQpICsgMSk7CisJCXNiLT51LmV4dDNfc2Iuc19k aXJfY291bnQrKzsKKwl9CiAJQlVGRkVSX1RSQUNFKGJoMiwgImNhbGwgZXh0M19qb3VybmFsX2Rp cnR5X21ldGFkYXRhIik7CiAJZXJyID0gZXh0M19qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRs ZSwgYmgyKTsKIAlpZiAoZXJyKSBnb3RvIGZhaWw7CkBAIC00NzgsNyArNjMzLDcgQEAKIAkJaW5v ZGUtPmlfZ2lkID0gY3VycmVudC0+ZnNnaWQ7CiAJaW5vZGUtPmlfbW9kZSA9IG1vZGU7CiAKLQlp bm9kZS0+aV9pbm8gPSBqOworCWlub2RlLT5pX2lubyA9IGlubzsKIAkvKiBUaGlzIGlzIHRoZSBv cHRpbWFsIElPIHNpemUgKGZvciBzdGF0KSwgbm90IHRoZSBmcyBibG9jayBzaXplICovCiAJaW5v ZGUtPmlfYmxrc2l6ZSA9IFBBR0VfU0laRTsKIAlpbm9kZS0+aV9ibG9ja3MgPSAwOwpAQCAtNDk4 LDcgKzY1Myw3IEBACiAjaWZkZWYgRVhUM19QUkVBTExPQ0FURQogCWlub2RlLT51LmV4dDNfaS5p X3ByZWFsbG9jX2NvdW50ID0gMDsKICNlbmRpZgotCWlub2RlLT51LmV4dDNfaS5pX2Jsb2NrX2dy b3VwID0gaTsKKwlpbm9kZS0+dS5leHQzX2kuaV9ibG9ja19ncm91cCA9IGdyb3VwOwogCQogCWlm IChpbm9kZS0+dS5leHQzX2kuaV9mbGFncyAmIEVYVDNfU1lOQ19GTCkKIAkJaW5vZGUtPmlfZmxh Z3MgfD0gU19TWU5DOwpAQCAtNjIwLDYgKzc3NSwyMSBAQAogI2Vsc2UKIAlyZXR1cm4gbGUzMl90 b19jcHUoc2ItPnUuZXh0M19zYi5zX2VzLT5zX2ZyZWVfaW5vZGVzX2NvdW50KTsKICNlbmRpZgor fQorCisvKiBDYWxsZWQgYXQgbW91bnQtdGltZSwgc3VwZXItYmxvY2sgaXMgbG9ja2VkICovCit1 bnNpZ25lZCBsb25nIGV4dDNfY291bnRfZGlycyAoc3RydWN0IHN1cGVyX2Jsb2NrICogc2IpCit7 CisgICB1bnNpZ25lZCBsb25nIGNvdW50ID0gMDsKKyAgIGludCBpOworCisgICBmb3IgKGkgPSAw OyBpIDwgRVhUM19TQihzYiktPnNfZ3JvdXBzX2NvdW50OyBpKyspIHsKKyAgICAgICBzdHJ1Y3Qg ZXh0M19ncm91cF9kZXNjICpnZHAgPSBleHQzX2dldF9ncm91cF9kZXNjIChzYiwgaSwgTlVMTCk7 CisgICAgICAgaWYgKCFnZHApCisgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgIGNvdW50ICs9 IGxlMTZfdG9fY3B1KGdkcC0+YmdfdXNlZF9kaXJzX2NvdW50KTsKKyAgIH0KKyAgIHJldHVybiBj b3VudDsKIH0KIAogI2lmZGVmIENPTkZJR19FWFQzX0NIRUNLCkluZGV4OiBmcy9leHQzL3N1cGVy LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvaHVnYW5nL2xvY2FsL2N2cy8yLjQuWC9mcy9l eHQzL3N1cGVyLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMS4xLjYKZGlmZiAtdSAtcjEuMS4x LjYgc3VwZXIuYwotLS0gZnMvZXh0My9zdXBlci5jCTI5IE5vdiAyMDAyIDA2OjAxOjUxIC0wMDAw CTEuMS4xLjYKKysrIGZzL2V4dDMvc3VwZXIuYwkzMCBOb3YgMjAwMiAwNTowMzoyOCAtMDAwMApA QCAtNDE2LDYgKzQxNiw3IEBACiAJZm9yIChpID0gMDsgaSA8IHNiaS0+c19nZGJfY291bnQ7IGkr KykKIAkJYnJlbHNlKHNiaS0+c19ncm91cF9kZXNjW2ldKTsKIAlrZnJlZShzYmktPnNfZ3JvdXBf ZGVzYyk7CisJa2ZyZWUoc2JpLT5zX2RlYnRzKTsKIAlmb3IgKGkgPSAwOyBpIDwgRVhUM19NQVhf R1JPVVBfTE9BREVEOyBpKyspCiAJCWJyZWxzZShzYmktPnNfaW5vZGVfYml0bWFwW2ldKTsKIAlm b3IgKGkgPSAwOyBpIDwgRVhUM19NQVhfR1JPVVBfTE9BREVEOyBpKyspCkBAIC01ODIsNiArNTgz LDEwIEBACiAJCQlpZiAod2FudF9udW1lcmljKHZhbHVlLCAic2IiLCBzYl9ibG9jaykpCiAJCQkJ cmV0dXJuIDA7CiAJCX0KKwkJZWxzZSBpZiAoIXN0cmNtcCAodGhpc19jaGFyLCAib2xkYWxsb2Mi KSkKKwkJCXNldF9vcHQgKHNiaS0+c19tb3VudF9vcHQsIE9MREFMTE9DKTsKKwkJZWxzZSBpZiAo IXN0cmNtcCAodGhpc19jaGFyLCAib3Jsb3YiKSkKKwkJCWNsZWFyX29wdCAoc2JpLT5zX21vdW50 X29wdCwgT0xEQUxMT0MpOwogI2lmZGVmIENPTkZJR19KQkRfREVCVUcKIAkJZWxzZSBpZiAoIXN0 cmNtcCAodGhpc19jaGFyLCAicm8tYWZ0ZXIiKSkgewogCQkJdW5zaWduZWQgbG9uZyB2OwpAQCAt MTA5OCw2ICsxMTAzLDEzIEBACiAJCXByaW50ayAoS0VSTl9FUlIgIkVYVDMtZnM6IG5vdCBlbm91 Z2ggbWVtb3J5XG4iKTsKIAkJZ290byBmYWlsZWRfbW91bnQ7CiAJfQorCXNiaS0+c19kZWJ0cyA9 IGttYWxsb2Moc2JpLT5zX2dyb3Vwc19jb3VudCAqIHNpemVvZigqc2JpLT5zX2RlYnRzKSwKKwkJ CUdGUF9LRVJORUwpOworCWlmICghc2JpLT5zX2RlYnRzKSB7CisJCXByaW50ayAoIkVYVDMtZnM6 IG5vdCBlbm91Z2ggbWVtb3J5XG4iKTsKKwkJZ290byBmYWlsZWRfbW91bnQyOworCX0KKwltZW1z ZXQoc2JpLT5zX2RlYnRzLCAwLCBzYmktPnNfZ3JvdXBzX2NvdW50ICogc2l6ZW9mKCpzYmktPnNf ZGVidHMpKTsKIAlmb3IgKGkgPSAwOyBpIDwgZGJfY291bnQ7IGkrKykgewogCQlzYmktPnNfZ3Jv dXBfZGVzY1tpXSA9IHNiX2JyZWFkKHNiLCBsb2dpY19zYl9ibG9jayArIGkgKyAxKTsKIAkJaWYg KCFzYmktPnNfZ3JvdXBfZGVzY1tpXSkgewpAQCAtMTEyMCw2ICsxMTMyLDcgQEAKIAlzYmktPnNf bG9hZGVkX2lub2RlX2JpdG1hcHMgPSAwOwogCXNiaS0+c19sb2FkZWRfYmxvY2tfYml0bWFwcyA9 IDA7CiAJc2JpLT5zX2dkYl9jb3VudCA9IGRiX2NvdW50OworCXNiaS0+c19kaXJfY291bnQgPSBl eHQzX2NvdW50X2RpcnMoc2IpOwogCWdldF9yYW5kb21fYnl0ZXMoJnNiaS0+c19uZXh0X2dlbmVy YXRpb24sIHNpemVvZih1MzIpKTsKIAkvKgogCSAqIHNldCB1cCBlbm91Z2ggc28gdGhhdCBpdCBj YW4gcmVhZCBhbiBpbm9kZQpAQCAtMTIyMyw2ICsxMjM2LDggQEAKIGZhaWxlZF9tb3VudDM6CiAJ am91cm5hbF9kZXN0cm95KHNiaS0+c19qb3VybmFsKTsKIGZhaWxlZF9tb3VudDI6CisJaWYgKHNi aS0+c19kZWJ0cykKKwkJa2ZyZWUoc2JpLT5zX2RlYnRzKTsKIAlmb3IgKGkgPSAwOyBpIDwgZGJf Y291bnQ7IGkrKykKIAkJYnJlbHNlKHNiaS0+c19ncm91cF9kZXNjW2ldKTsKIAlrZnJlZShzYmkt PnNfZ3JvdXBfZGVzYyk7CkluZGV4OiBpbmNsdWRlL2xpbnV4L2V4dDNfZnMuaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvaG9tZS9odWdhbmcvbG9jYWwvY3ZzLzIuNC5YL2luY2x1ZGUvbGludXgvZXh0 M19mcy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEuMS42CmRpZmYgLXUgLXIxLjEuMS42IGV4 dDNfZnMuaAotLS0gaW5jbHVkZS9saW51eC9leHQzX2ZzLmgJMjkgTm92IDIwMDIgMDY6MDg6MjIg LTAwMDAJMS4xLjEuNgorKysgaW5jbHVkZS9saW51eC9leHQzX2ZzLmgJMzAgTm92IDIwMDIgMDU6 MDM6MjggLTAwMDAKQEAgLTIwMywxMSArMjAzLDExIEBACiAjZGVmaW5lIEVYVDNfSU5ERVhfRkwJ CQkweDAwMDAxMDAwIC8qIGhhc2gtaW5kZXhlZCBkaXJlY3RvcnkgKi8KICNkZWZpbmUgRVhUM19J TUFHSUNfRkwJCQkweDAwMDAyMDAwIC8qIEFGUyBkaXJlY3RvcnkgKi8KICNkZWZpbmUgRVhUM19K T1VSTkFMX0RBVEFfRkwJCTB4MDAwMDQwMDAgLyogZmlsZSBkYXRhIHNob3VsZCBiZSBqb3VybmFs ZWQgKi8KKyNkZWZpbmUgRVhUM19UT1BESVJfRkwgICAgICAgICAweDAwMDIwMDAwIC8qIFRvcCBv ZiBkaXJlY3RvcnkgaGllcmFyY2hpZXMqLwogI2RlZmluZSBFWFQzX1JFU0VSVkVEX0ZMCQkweDgw MDAwMDAwIC8qIHJlc2VydmVkIGZvciBleHQzIGxpYiAqLwogCi0jZGVmaW5lIEVYVDNfRkxfVVNF Ul9WSVNJQkxFCQkweDAwMDA1RkZGIC8qIFVzZXIgdmlzaWJsZSBmbGFncyAqLwotI2RlZmluZSBF WFQzX0ZMX1VTRVJfTU9ESUZJQUJMRQkJMHgwMDAwMDBGRiAvKiBVc2VyIG1vZGlmaWFibGUgZmxh Z3MgKi8KLQorI2RlZmluZSBFWFQzX0ZMX1VTRVJfVklTSUJMRSAgICAgICAweDAwMDNERkZGIC8q IFVzZXIgdmlzaWJsZSBmbGFncyAqLworI2RlZmluZSBFWFQzX0ZMX1VTRVJfTU9ESUZJQUJMRSAg ICAgICAgMHgwMDAzODBGRiAvKiBVc2VyIG1vZGlmaWFibGUgZmxhZ3MgKi8KIC8qCiAgKiBJbm9k ZSBkeW5hbWljIHN0YXRlIGZsYWdzCiAgKi8KQEAgLTMyNSw2ICszMjUsNyBAQAogICogTW91bnQg ZmxhZ3MKICAqLwogI2RlZmluZSBFWFQzX01PVU5UX0NIRUNLCQkweDAwMDEJLyogRG8gbW91bnQt dGltZSBjaGVja3MgKi8KKyNkZWZpbmUgRVhUM19NT1VOVF9PTERBTExPQyAgICAgICAgMHgwMDAy ICAvKiBEb24ndCB1c2UgdGhlIG5ldyBPcmxvdiBhbGxvY2F0b3IgKi8KICNkZWZpbmUgRVhUM19N T1VOVF9HUlBJRAkJMHgwMDA0CS8qIENyZWF0ZSBmaWxlcyB3aXRoIGRpcmVjdG9yeSdzIGdyb3Vw ICovCiAjZGVmaW5lIEVYVDNfTU9VTlRfREVCVUcJCTB4MDAwOAkvKiBTb21lIGRlYnVnZ2luZyBt ZXNzYWdlcyAqLwogI2RlZmluZSBFWFQzX01PVU5UX0VSUk9SU19DT05UCQkweDAwMTAJLyogQ29u dGludWUgb24gZXJyb3JzICovCkBAIC02MDcsNiArNjA4LDcgQEAKIGV4dGVybiB2b2lkIGV4dDNf ZnJlZV9ibG9ja3MgKGhhbmRsZV90ICosIHN0cnVjdCBpbm9kZSAqLCB1bnNpZ25lZCBsb25nLAog CQkJICAgICAgdW5zaWduZWQgbG9uZyk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBleHQzX2NvdW50 X2ZyZWVfYmxvY2tzIChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKik7CitleHRlcm4gdW5zaWduZWQgbG9u ZyBleHQzX2NvdW50X2RpcnMgKHN0cnVjdCBzdXBlcl9ibG9jayAqKTsKIGV4dGVybiB2b2lkIGV4 dDNfY2hlY2tfYmxvY2tzX2JpdG1hcCAoc3RydWN0IHN1cGVyX2Jsb2NrICopOwogZXh0ZXJuIHN0 cnVjdCBleHQzX2dyb3VwX2Rlc2MgKiBleHQzX2dldF9ncm91cF9kZXNjKHN0cnVjdCBzdXBlcl9i bG9jayAqIHNiLAogCQkJCQkJICAgIHVuc2lnbmVkIGludCBibG9ja19ncm91cCwKQEAgLTYyMCw3 ICs2MjIsNyBAQAogZXh0ZXJuIGludCBleHQzX3N5bmNfZmlsZSAoc3RydWN0IGZpbGUgKiwgc3Ry dWN0IGRlbnRyeSAqLCBpbnQpOwogCiAvKiBpYWxsb2MuYyAqLwotZXh0ZXJuIHN0cnVjdCBpbm9k ZSAqIGV4dDNfbmV3X2lub2RlIChoYW5kbGVfdCAqLCBjb25zdCBzdHJ1Y3QgaW5vZGUgKiwgaW50 KTsKK2V4dGVybiBzdHJ1Y3QgaW5vZGUgKiBleHQzX25ld19pbm9kZSAoaGFuZGxlX3QgKiwgc3Ry dWN0IGlub2RlICosIGludCk7CiBleHRlcm4gdm9pZCBleHQzX2ZyZWVfaW5vZGUgKGhhbmRsZV90 ICosIHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiBzdHJ1Y3QgaW5vZGUgKiBleHQzX29ycGhhbl9n ZXQgKHN0cnVjdCBzdXBlcl9ibG9jayAqLCBpbm9fdCk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBl eHQzX2NvdW50X2ZyZWVfaW5vZGVzIChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKik7CkluZGV4OiBpbmNs dWRlL2xpbnV4L2V4dDNfZnNfc2IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9odWdhbmcv bG9jYWwvY3ZzLzIuNC5YL2luY2x1ZGUvbGludXgvZXh0M19mc19zYi5oLHYKcmV0cmlldmluZyBy ZXZpc2lvbiAxLjEuMS41CmRpZmYgLXUgLXIxLjEuMS41IGV4dDNfZnNfc2IuaAotLS0gaW5jbHVk ZS9saW51eC9leHQzX2ZzX3NiLmgJMjkgTm92IDIwMDIgMDY6MDg6MjIgLTAwMDAJMS4xLjEuNQor KysgaW5jbHVkZS9saW51eC9leHQzX2ZzX3NiLmgJMzAgTm92IDIwMDIgMDU6MDM6MjggLTAwMDAK QEAgLTYyLDYgKzYyLDggQEAKIAlpbnQgc19pbm9kZV9zaXplOwogCWludCBzX2ZpcnN0X2lubzsK IAl1MzIgc19uZXh0X2dlbmVyYXRpb247CisJdW5zaWduZWQgbG9uZyBzX2Rpcl9jb3VudDsKKwl1 OCAqc19kZWJ0czsKIAogCS8qIEpvdXJuYWxpbmcgKi8KIAlzdHJ1Y3QgaW5vZGUgKiBzX2pvdXJu YWxfaW5vZGU7Cg==

--Multipart_Sat__30_Nov_2002_14:36:47_+0800_082f8b98-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/