---559023410-5627-889717320=:2374
Content-Type: TEXT/PLAIN; charset=US-ASCII
Many people have stated that defining strings outside the function with
"static char[] __initdata" obfuscates the code more than it is a win. And
I agree that this should be fixed in the compiler.
So I have split the yeaterday's patch into two parts:
- the first one contains just the "clean" __initfunc and __initdata
attributes that should really make it into the mainstream kernel
- the second one is optional (and should be applied after the first) and
contains the ugly hacks with initialization "strings"
I have removed most of the __initfunc attributes in scsi.c because they
were needed by hostadapter modules (thanks to Andreas Jaeger).
These patches apply to .89 and to .90p1 (with some offset warnings).
Please have a look at the first patch at least.
Have fun,
Matze
--
Matthias Hanisch gesch.: matze@camline.com priv.: matze@pingu.franken.de
+49 8137 935-219 +49 8441 82387
"Modell 10 - Software from Experts for Experts"
---559023410-5627-889717320=:2374
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-initfunc-v2
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SCO.3.96.980312164200.2374E@cam8.camline.com>
Content-Description:
ZGlmZiAtcnUgLS1uZXctZmlsZSBsaW51eC0yLjEuODktdmFuaWxsYS9hcmNo
L2kzODYva2VybmVsL3NldHVwLmMgbGludXgvYXJjaC9pMzg2L2tlcm5lbC9z
ZXR1cC5jDQotLS0gbGludXgtMi4xLjg5LXZhbmlsbGEvYXJjaC9pMzg2L2tl
cm5lbC9zZXR1cC5jCVdlZCBNYXIgIDQgMDY6MDE6MjkgMTk5OA0KKysrIGxp
bnV4L2FyY2gvaTM4Ni9rZXJuZWwvc2V0dXAuYwlXZWQgTWFyICA0IDA2OjI2
OjU4IDE5OTgNCkBAIC0xMDcsNyArMTA3LDcgQEANCiAjZGVmaW5lIFJBTURJ
U0tfUFJPTVBUX0ZMQUcJCTB4ODAwMA0KICNkZWZpbmUgUkFNRElTS19MT0FE
X0ZMQUcJCTB4NDAwMAkNCiANCi1zdGF0aWMgY2hhciBjb21tYW5kX2xpbmVb
Q09NTUFORF9MSU5FX1NJWkVdID0geyAwLCB9Ow0KK3N0YXRpYyBjaGFyIGNv
bW1hbmRfbGluZVtDT01NQU5EX0xJTkVfU0laRV0gX19pbml0ZGF0YSA9IHsg
MCwgfTsNCiAgICAgICAgY2hhciBzYXZlZF9jb21tYW5kX2xpbmVbQ09NTUFO
RF9MSU5FX1NJWkVdOw0KIA0KIF9faW5pdGZ1bmModm9pZCBzZXR1cF9hcmNo
KGNoYXIgKipjbWRsaW5lX3AsDQpkaWZmIC1ydSAtLW5ldy1maWxlIGxpbnV4
LTIuMS44OS12YW5pbGxhL2FyY2gvaTM4Ni9rZXJuZWwvdGltZS5jIGxpbnV4
L2FyY2gvaTM4Ni9rZXJuZWwvdGltZS5jDQotLS0gbGludXgtMi4xLjg5LXZh
bmlsbGEvYXJjaC9pMzg2L2tlcm5lbC90aW1lLmMJVGh1IEphbiAyOSAwMTow
MToxMyAxOTk4DQorKysgbGludXgvYXJjaC9pMzg2L2tlcm5lbC90aW1lLmMJ
V2VkIE1hciAgNCAwNjoyNjo1OCAxOTk4DQpAQCAtNDc3LDcgKzQ3NywxMiBA
QA0KIH0NCiANCiAvKiBub3Qgc3RhdGljOiBuZWVkZWQgYnkgQVBNICovDQor
LyogYnV0IGlmIEFQTSBpcyBub3QgZGVmaW5lZCB0aGlzIGlzIGp1c3QgY2Fs
bGVkIG9uY2UgYXQgaW5pdCEgKi8NCisjaWZkZWYgQ09ORklHX0FQTQ0KIHVu
c2lnbmVkIGxvbmcgZ2V0X2Ntb3NfdGltZSh2b2lkKQ0KKyNlbHNlDQorX19p
bml0ZnVuYyh1bnNpZ25lZCBsb25nIGdldF9jbW9zX3RpbWUodm9pZCkpDQor
I2VuZGlmDQogew0KIAl1bnNpZ25lZCBpbnQgeWVhciwgbW9uLCBkYXksIGhv
dXIsIG1pbiwgc2VjOw0KIAlpbnQgaTsNCmRpZmYgLXJ1IC0tbmV3LWZpbGUg
bGludXgtMi4xLjg5LXZhbmlsbGEvZHJpdmVycy9jaGFyL2NvbnNvbGUuYyBs
aW51eC9kcml2ZXJzL2NoYXIvY29uc29sZS5jDQotLS0gbGludXgtMi4xLjg5
LXZhbmlsbGEvZHJpdmVycy9jaGFyL2NvbnNvbGUuYwlGcmkgRmViIDIwIDA0
OjU1OjI2IDE5OTgNCisrKyBsaW51eC9kcml2ZXJzL2NoYXIvY29uc29sZS5j
CVdlZCBNYXIgIDQgMDY6MjY6NTggMTk5OA0KQEAgLTQzMCw3ICs0MzAsNyBA
QA0KIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGhhcmRzY3JvbGxfZW5hYmxlZDsN
CiBzdGF0aWMgdW5zaWduZWQgY2hhciBoYXJkc2Nyb2xsX2Rpc2FibGVkX2J5
X2luaXQgPSAwOw0KIA0KLXZvaWQgbm9fc2Nyb2xsKGNoYXIgKnN0ciwgaW50
ICppbnRzKQ0KK19faW5pdGZ1bmModm9pZCBub19zY3JvbGwoY2hhciAqc3Ry
LCBpbnQgKmludHMpKQ0KIHsNCiAgIC8qDQogICAgKiBEaXNhYmxpbmcgc2Ny
b2xsYmFjayBpcyByZXF1aXJlZCBmb3IgdGhlIEJyYWlsbGV4IGliODAtcGll
em8NCmRpZmYgLXJ1IC0tbmV3LWZpbGUgbGludXgtMi4xLjg5LXZhbmlsbGEv
ZHJpdmVycy9jaGFyL3R0eV9pby5jIGxpbnV4L2RyaXZlcnMvY2hhci90dHlf
aW8uYw0KLS0tIGxpbnV4LTIuMS44OS12YW5pbGxhL2RyaXZlcnMvY2hhci90
dHlfaW8uYwlXZWQgTWFyICA0IDA2OjAxOjM5IDE5OTgNCisrKyBsaW51eC9k
cml2ZXJzL2NoYXIvdHR5X2lvLmMJV2VkIE1hciAgNCAwNjoyNjo1OCAxOTk4
DQpAQCAtMTkzMCw3ICsxOTMwLDcgQEANCiAgKiBKdXN0IGRvIHNvbWUgZWFy
bHkgaW5pdGlhbGl6YXRpb25zLCBhbmQgZG8gdGhlIGNvbXBsZXggc2V0dXAN
CiAgKiBsYXRlci4NCiAgKi8NCi1sb25nIGNvbnNvbGVfaW5pdChsb25nIGtt
ZW1fc3RhcnQsIGxvbmcga21lbV9lbmQpDQorX19pbml0ZnVuYyhsb25nIGNv
bnNvbGVfaW5pdChsb25nIGttZW1fc3RhcnQsIGxvbmcga21lbV9lbmQpKQ0K
IHsNCiAJLyogU2V0dXAgdGhlIGRlZmF1bHQgVFRZIGxpbmUgZGlzY2lwbGlu
ZS4gKi8NCiAJbWVtc2V0KGxkaXNjcywgMCwgc2l6ZW9mKGxkaXNjcykpOw0K
ZGlmZiAtcnUgLS1uZXctZmlsZSBsaW51eC0yLjEuODktdmFuaWxsYS9kcml2
ZXJzL3Njc2kvYWhhMTU0Mi5jIGxpbnV4L2RyaXZlcnMvc2NzaS9haGExNTQy
LmMNCi0tLSBsaW51eC0yLjEuODktdmFuaWxsYS9kcml2ZXJzL3Njc2kvYWhh
MTU0Mi5jCVRodSBKYW4gMjIgMDY6Mjc6MDkgMTk5OA0KKysrIGxpbnV4L2Ry
aXZlcnMvc2NzaS9haGExNTQyLmMJV2VkIE1hciAgNCAwNjoyNjo1OSAxOTk4
DQpAQCAtMjgsNiArMjgsNyBAQA0KICNpbmNsdWRlIDxsaW51eC9kZWxheS5o
Pg0KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPg0KICNpbmNsdWRlIDxsaW51
eC9wcm9jX2ZzLmg+DQorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4NCiAjaW5j
bHVkZSA8YXNtL2RtYS5oPg0KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+DQog
I2luY2x1ZGUgPGFzbS9pby5oPg0KQEAgLTg3MSw3ICs4NzIsNyBAQA0KIH0N
CiANCiAvKiBjYWxsZWQgZnJvbSBpbml0L21haW4uYyAqLw0KLXZvaWQgYWhh
MTU0Ml9zZXR1cCggY2hhciAqc3RyLCBpbnQgKmludHMpDQorX19pbml0ZnVu
Yyh2b2lkIGFoYTE1NDJfc2V0dXAoIGNoYXIgKnN0ciwgaW50ICppbnRzKSkN
CiB7DQogICAgIGNvbnN0IGNoYXIgKmFoYXVzYWdlID0gImFoYTE1NDI6IHVz
YWdlOiBhaGExNTQyPTxQT1JUQkFTRT5bLDxCVVNPTj4sPEJVU09GRj5bLDxE
TUFTUEVFRD5dXVxuIjsNCiAgICAgc3RhdGljIGludCBzZXR1cF9pZHggPSAw
Ow0KZGlmZiAtcnUgLS1uZXctZmlsZSBsaW51eC0yLjEuODktdmFuaWxsYS9k
cml2ZXJzL3Njc2kvc2NzaS5jIGxpbnV4L2RyaXZlcnMvc2NzaS9zY3NpLmMN
Ci0tLSBsaW51eC0yLjEuODktdmFuaWxsYS9kcml2ZXJzL3Njc2kvc2NzaS5j
CVdlZCBNYXIgIDQgMDY6MDE6NDUgMTk5OA0KKysrIGxpbnV4L2RyaXZlcnMv
c2NzaS9zY3NpLmMJV2VkIE1hciAgNCAwNjoyNjo1OSAxOTk4DQpAQCAtMzk2
LDcgKzM5Nyw3IEBADQogCXVwKFNDcG50LT5yZXF1ZXN0LnNlbSk7DQogfQ0K
IA0KLXZvaWQgc2NzaV9sb2dnaW5nX3NldHVwKGNoYXIgKnN0ciwgaW50ICpp
bnRzKSANCitfX2luaXRmdW5jKHZvaWQgc2NzaV9sb2dnaW5nX3NldHVwKGNo
YXIgKnN0ciwgaW50ICppbnRzKSkNCiB7DQogICAgIGlmIChpbnRzWzBdICE9
IDEpIHsNCiAJcHJpbnRrKCJzY3NpX2xvZ2dpbmdfc2V0dXAgOiB1c2FnZSBz
Y3NpX2xvZ2dpbmdfbGV2ZWw9biAiDQpAQCAtNDEyLDcgKzQxMyw3IEBADQog
c3RhdGljIGludCBtYXhfc2NzaV9sdW5zID0gMTsNCiAjZW5kaWYNCiANCi12
b2lkIHNjc2lfbHVuc19zZXR1cChjaGFyICpzdHIsIGludCAqaW50cykgDQor
X19pbml0ZnVuYyh2b2lkIHNjc2lfbHVuc19zZXR1cChjaGFyICpzdHIsIGlu
dCAqaW50cykpDQogew0KICAgICBpZiAoaW50c1swXSAhPSAxKQ0KIAlwcmlu
dGsoInNjc2lfbHVuc19zZXR1cCA6IHVzYWdlIG1heF9zY3NpX2x1bnM9biAo
biBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCA4KVxuIik7DQpkaWZmIC1ydSAt
LW5ldy1maWxlIGxpbnV4LTIuMS44OS12YW5pbGxhL2ZzL2J1ZmZlci5jIGxp
bnV4L2ZzL2J1ZmZlci5jDQotLS0gbGludXgtMi4xLjg5LXZhbmlsbGEvZnMv
YnVmZmVyLmMJV2VkIE1hciAgNCAwNjowMTo1MSAxOTk4DQorKysgbGludXgv
ZnMvYnVmZmVyLmMJV2VkIE1hciAgNCAwNjoyNjo1OSAxOTk4DQpAQCAtMzgs
NiArMzgsNyBAQA0KICNpbmNsdWRlIDxsaW51eC9ibGtkZXYuaD4NCiAjaW5j
bHVkZSA8bGludXgvc3lzcnEuaD4NCiAjaW5jbHVkZSA8bGludXgvZmlsZS5o
Pg0KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+DQogDQogI2luY2x1ZGUgPGFz
bS9zeXN0ZW0uaD4NCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4NCkBAIC0x
NzAzLDcgKzE3MDQsNyBAQA0KICAqIFVzZSBnZnAoKSBmb3IgdGhlIGhhc2gg
dGFibGUgdG8gZGVjcmVhc2UgVExCIG1pc3NlcywgdXNlDQogICogU0xBQiBj
YWNoZSBmb3IgYnVmZmVyIGhlYWRzLg0KICAqLw0KLXZvaWQgYnVmZmVyX2lu
aXQodm9pZCkNCitfX2luaXRmdW5jKHZvaWQgYnVmZmVyX2luaXQodm9pZCkp
DQogew0KIAloYXNoX3RhYmxlID0gKHN0cnVjdCBidWZmZXJfaGVhZCAqKikN
CiAJCV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0FUT01JQywgSEFTSF9QQUdFU19P
UkRFUik7DQpkaWZmIC1ydSAtLW5ldy1maWxlIGxpbnV4LTIuMS44OS12YW5p
bGxhL2ZzL2ZpbGVfdGFibGUuYyBsaW51eC9mcy9maWxlX3RhYmxlLmMNCi0t
LSBsaW51eC0yLjEuODktdmFuaWxsYS9mcy9maWxlX3RhYmxlLmMJU3VuIE9j
dCAxMiAxOToxMDo0MCAxOTk3DQorKysgbGludXgvZnMvZmlsZV90YWJsZS5j
CVdlZCBNYXIgIDQgMDY6MjY6NTkgMTk5OA0KQEAgLTEzLDYgKzEzLDcgQEAN
CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+DQogI2luY2x1ZGUgPGxpbnV4
L21tLmg+DQogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4NCisjaW5jbHVkZSA8
bGludXgvaW5pdC5oPg0KIA0KIC8qIFNMQUIgY2FjaGUgZm9yIGZpbHAncy4g
Ki8NCiBzdGF0aWMga21lbV9jYWNoZV90ICpmaWxwX2NhY2hlOw0KQEAgLTQ1
LDggKzQ2LDcgQEANCiAJZmlsZS0+Zl9wcHJldiA9ICZpbnVzZV9maWxwczsN
CiB9DQogDQotLyogTi5CLiBUaGlzIHNob3VsZCBiZSBhbiBfX2luaXRmdW5j
IC4uLiAqLw0KLXZvaWQgZmlsZV90YWJsZV9pbml0KHZvaWQpDQorX19pbml0
ZnVuYyh2b2lkIGZpbGVfdGFibGVfaW5pdCh2b2lkKSkNCiB7DQogCWZpbHBf
Y2FjaGUgPSBrbWVtX2NhY2hlX2NyZWF0ZSgiZmlscCIsIHNpemVvZihzdHJ1
Y3QgZmlsZSksDQogCQkJCSAgICAgICAwLA0KZGlmZiAtcnUgLS1uZXctZmls
ZSBsaW51eC0yLjEuODktdmFuaWxsYS9mcy9pbm9kZS5jIGxpbnV4L2ZzL2lu
b2RlLmMNCi0tLSBsaW51eC0yLjEuODktdmFuaWxsYS9mcy9pbm9kZS5jCVdl
ZCBNYXIgIDQgMDY6MDE6NTMgMTk5OA0KKysrIGxpbnV4L2ZzL2lub2RlLmMJ
V2VkIE1hciAgNCAwNjoyNjo1OSAxOTk4DQpAQCAtOCw2ICs4LDcgQEANCiAj
aW5jbHVkZSA8bGludXgvc3RyaW5nLmg+DQogI2luY2x1ZGUgPGxpbnV4L21t
Lmg+DQogI2luY2x1ZGUgPGxpbnV4L2RjYWNoZS5oPg0KKyNpbmNsdWRlIDxs
aW51eC9pbml0Lmg+DQogDQogLyoNCiAgKiBOZXcgaW5vZGUuYyBpbXBsZW1l
bnRhdGlvbi4NCkBAIC03MzMsNyArNzM0LDcgQEANCiAvKg0KICAqIEluaXRp
YWxpemUgdGhlIGhhc2ggdGFibGVzDQogICovDQotdm9pZCBpbm9kZV9pbml0
KHZvaWQpDQorX19pbml0ZnVuYyh2b2lkIGlub2RlX2luaXQodm9pZCkpDQog
ew0KIAlpbnQgaTsNCiAJc3RydWN0IGxpc3RfaGVhZCAqaGVhZCA9IGlub2Rl
X2hhc2h0YWJsZTsNCmRpZmYgLXJ1IC0tbmV3LWZpbGUgbGludXgtMi4xLjg5
LXZhbmlsbGEvZnMvcHJvYy9iYXNlLmMgbGludXgvZnMvcHJvYy9iYXNlLmMN
Ci0tLSBsaW51eC0yLjEuODktdmFuaWxsYS9mcy9wcm9jL2Jhc2UuYwlUaHUg
SmFuIDIyIDA2OjI5OjU5IDE5OTgNCisrKyBsaW51eC9mcy9wcm9jL2Jhc2Uu
YwlXZWQgTWFyICA0IDA2OjI3OjAwIDE5OTgNCkBAIC0xMyw2ICsxMyw3IEBA
DQogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+DQogI2luY2x1ZGUgPGxpbnV4
L3Byb2NfZnMuaD4NCiAjaW5jbHVkZSA8bGludXgvc3RhdC5oPg0KKyNpbmNs
dWRlIDxsaW51eC9pbml0Lmg+DQogDQogc3RhdGljIHN0cnVjdCBmaWxlX29w
ZXJhdGlvbnMgcHJvY19iYXNlX29wZXJhdGlvbnMgPSB7DQogCU5VTEwsCQkJ
LyogbHNlZWsgLSBkZWZhdWx0ICovDQpAQCAtMTY3LDcgKzE2OCw3IEBADQog
fTsNCiAjZW5kaWYNCiANCi12b2lkIHByb2NfYmFzZV9pbml0KHZvaWQpDQor
X19pbml0ZnVuYyh2b2lkIHByb2NfYmFzZV9pbml0KHZvaWQpKQ0KIHsNCiAj
aWYgQ09ORklHX0FQMTAwMA0KIAlwcm9jX3JlZ2lzdGVyKCZwcm9jX3BpZCwg
JnByb2NfcGlkX3JpbmdidWYpOw0KZGlmZiAtcnUgLS1uZXctZmlsZSBsaW51
eC0yLjEuODktdmFuaWxsYS9mcy9wcm9jL3Jvb3QuYyBsaW51eC9mcy9wcm9j
L3Jvb3QuYw0KLS0tIGxpbnV4LTIuMS44OS12YW5pbGxhL2ZzL3Byb2Mvcm9v
dC5jCUZyaSBGZWIgMjAgMDQ6NTQ6NTMgMTk5OA0KKysrIGxpbnV4L2ZzL3By
b2Mvcm9vdC5jCVdlZCBNYXIgIDQgMDY6Mjc6MDAgMTk5OA0KQEAgLTEzLDYg
KzEzLDcgQEANCiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPg0KICNpbmNs
dWRlIDxsaW51eC9zdGF0Lmg+DQogI2luY2x1ZGUgPGxpbnV4L2NvbmZpZy5o
Pg0KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+DQogI2luY2x1ZGUgPGFzbS9i
aXRvcHMuaD4NCiAjaWZkZWYgQ09ORklHX0tFUk5FTEQNCiAjaW5jbHVkZSA8
bGludXgva2VybmVsZC5oPg0KQEAgLTYzMiw3ICs2MzMsNyBAQA0KIH07DQog
I2VuZGlmDQogDQotdm9pZCBwcm9jX3Jvb3RfaW5pdCh2b2lkKQ0KK19faW5p
dGZ1bmModm9pZCBwcm9jX3Jvb3RfaW5pdCh2b2lkKSkNCiB7DQogCXByb2Nf
YmFzZV9pbml0KCk7DQogCXByb2NfcmVnaXN0ZXIoJnByb2Nfcm9vdCwgJnBy
b2Nfcm9vdF9sb2FkYXZnKTsNCmRpZmYgLXJ1IC0tbmV3LWZpbGUgbGludXgt
Mi4xLjg5LXZhbmlsbGEva2VybmVsL21vZHVsZS5jIGxpbnV4L2tlcm5lbC9t
b2R1bGUuYw0KLS0tIGxpbnV4LTIuMS44OS12YW5pbGxhL2tlcm5lbC9tb2R1
bGUuYwlXZWQgTWFyICA0IDA2OjAyOjA3IDE5OTgNCisrKyBsaW51eC9rZXJu
ZWwvbW9kdWxlLmMJV2VkIE1hciAgNCAwNjoyNzowMCAxOTk4DQpAQCAtMTAs
NiArMTAsNyBAQA0KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4NCiAjaW5jbHVk
ZSA8bGludXgvc21wX2xvY2suaD4NCiAjaW5jbHVkZSA8YXNtL3BndGFibGUu
aD4NCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPg0KIA0KIC8qDQogICogT3Jp
Z2luYWxseSBieSBBbm9ueW1vdXMgKGFzIGZhciBhcyBJIGtub3cuLi4pDQpA
QCAtNjEsNyArNjIsNyBAQA0KICAqIENhbGxlZCBhdCBib290IHRpbWUNCiAg
Ki8NCiANCi12b2lkIGluaXRfbW9kdWxlcyh2b2lkKQ0KK19faW5pdGZ1bmMo
dm9pZCBpbml0X21vZHVsZXModm9pZCkpDQogew0KIAlrZXJuZWxfbW9kdWxl
Lm5zeW1zID0gX19zdG9wX19fa3N5bXRhYiAtIF9fc3RhcnRfX19rc3ltdGFi
Ow0KIA0KZGlmZiAtcnUgLS1uZXctZmlsZSBsaW51eC0yLjEuODktdmFuaWxs
YS9rZXJuZWwvc2lnbmFsLmMgbGludXgva2VybmVsL3NpZ25hbC5jDQotLS0g
bGludXgtMi4xLjg5LXZhbmlsbGEva2VybmVsL3NpZ25hbC5jCVdlZCBNYXIg
IDQgMDY6MDI6MDggMTk5OA0KKysrIGxpbnV4L2tlcm5lbC9zaWduYWwuYwlX
ZWQgTWFyICA0IDA2OjI3OjAwIDE5OTgNCkBAIC0xOCw2ICsxOCw3IEBADQog
I2luY2x1ZGUgPGxpbnV4L3NtcC5oPg0KICNpbmNsdWRlIDxsaW51eC9zbXBf
bG9jay5oPg0KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+DQorI2luY2x1ZGUg
PGxpbnV4L2luaXQuaD4NCiANCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4N
CiANCkBAIC0zNSw4ICszNiw3IEBADQogDQogc3RhdGljIGttZW1fY2FjaGVf
dCAqc2lnbmFsX3F1ZXVlX2NhY2hlcDsNCiANCi12b2lkDQotc2lnbmFsc19p
bml0KHZvaWQpDQorX19pbml0ZnVuYyh2b2lkIHNpZ25hbHNfaW5pdCh2b2lk
KSkNCiB7DQogCXNpZ25hbF9xdWV1ZV9jYWNoZXAgPQ0KIAkJa21lbV9jYWNo
ZV9jcmVhdGUoInNpZ25hbF9xdWV1ZSIsDQpkaWZmIC1ydSAtLW5ldy1maWxl
IGxpbnV4LTIuMS44OS12YW5pbGxhL21tL3Ztc2Nhbi5jIGxpbnV4L21tL3Zt
c2Nhbi5jDQotLS0gbGludXgtMi4xLjg5LXZhbmlsbGEvbW0vdm1zY2FuLmMJ
V2VkIE1hciAgNCAwNjowMjoxMCAxOTk4DQorKysgbGludXgvbW0vdm1zY2Fu
LmMJV2VkIE1hciAgNCAwNjoyNzowMCAxOTk4DQpAQCAtMjIsNiArMjIsNyBA
QA0KICNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPg0KICNpbmNsdWRlIDxs
aW51eC9zbGFiLmg+DQogI2luY2x1ZGUgPGxpbnV4L2RjYWNoZS5oPg0KKyNp
bmNsdWRlIDxsaW51eC9pbml0Lmg+DQogDQogI2luY2x1ZGUgPGFzbS9iaXRv
cHMuaD4NCiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4NCkBAIC00OTgsNyAr
NDk5LDcgQEANCiAgKiBtYXkgYmUgcHJpbnRlZCBpbiB0aGUgbWlkZGxlIG9m
IGFub3RoZXIgZHJpdmVyJ3MgaW5pdCANCiAgKiBtZXNzYWdlKS4gIEl0IGxv
b2tzIHZlcnkgYmFkIHdoZW4gdGhhdCBoYXBwZW5zLg0KICAqLw0KLXZvaWQg
a3N3YXBkX3NldHVwKHZvaWQpDQorX19pbml0ZnVuYyh2b2lkIGtzd2FwZF9z
ZXR1cCh2b2lkKSkNCiB7DQogICAgICAgIGludCBpOw0KICAgICAgICBjaGFy
ICpyZXZpc2lvbj0iJFJldmlzaW9uOiAxLjUgJCIsICpzLCAqZTsNCmRpZmYg
LXJ1IC0tbmV3LWZpbGUgbGludXgtMi4xLjg5LXZhbmlsbGEvbmV0L2NvcmUv
c29jay5jIGxpbnV4L25ldC9jb3JlL3NvY2suYw0KLS0tIGxpbnV4LTIuMS44
OS12YW5pbGxhL25ldC9jb3JlL3NvY2suYwlXZWQgTWFyICA0IDA2OjAyOjEx
IDE5OTgNCisrKyBsaW51eC9uZXQvY29yZS9zb2NrLmMJV2VkIE1hciAgNCAw
NjoyNzowMSAxOTk4DQpAQCAtMTA1LDYgKzEwNSw3IEBADQogI2luY2x1ZGUg
PGxpbnV4L3NsYWIuaD4NCiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+
DQogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4NCisjaW5jbHVkZSA8bGludXgv
aW5pdC5oPg0KIA0KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPg0KICNpbmNs
dWRlIDxhc20vc3lzdGVtLmg+DQpAQCAtNDkyLDcgKzQ5Myw3IEBADQogCWtt
ZW1fY2FjaGVfZnJlZShza19jYWNoZXAsIHNrKTsNCiB9DQogDQotdm9pZCBz
a19pbml0KHZvaWQpDQorX19pbml0ZnVuYyh2b2lkIHNrX2luaXQodm9pZCkp
DQogew0KIAlza19jYWNoZXAgPSBrbWVtX2NhY2hlX2NyZWF0ZSgic29jayIs
IHNpemVvZihzdHJ1Y3Qgc29jayksIDAsDQogCQkJCSAgICAgIFNMQUJfSFdD
QUNIRV9BTElHTiwgMCwgMCk7DQo=
---559023410-5627-889717320=:2374
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-initstrings-v1
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SCO.3.96.980312164200.2374F@cam8.camline.com>
Content-Description:
ZGlmZiAtcnUgLS1uZXctZmlsZSBsaW51eC0yLjEuODktaW5pdGZ1bmMvYXJj
aC9pMzg2L21tL2luaXQuYyBsaW51eC9hcmNoL2kzODYvbW0vaW5pdC5jDQot
LS0gbGludXgtMi4xLjg5LWluaXRmdW5jL2FyY2gvaTM4Ni9tbS9pbml0LmMJ
VGh1IEphbiAyMiAwNjoyODo1NSAxOTk4DQorKysgbGludXgvYXJjaC9pMzg2
L21tL2luaXQuYwlXZWQgTWFyICA0IDA3OjAzOjIzIDE5OTgNCkBAIC0yNjUs
MTIgKzI2NSwxOSBAQA0KICAqIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIHRlc3Qg
YXJlIGhlcmUgdG8gd29yay1hcm91bmQgc29tZSBuYXN0eSBDUFUgYnVncy4N
CiAgKi8NCiANCitzdGF0aWMgY2hhciB3cG1zZ1tdIF9faW5pdGRhdGEgPQ0K
KwkiQ2hlY2tpbmcgaWYgdGhpcyBwcm9jZXNzb3IgaG9ub3VycyB0aGUgV1Ag
Yml0IGV2ZW4gaW4gc3VwZXJ2aXNvciBtb2RlLi4uICI7DQorI2lmbmRlZiBD
T05GSUdfTTM4Ng0KK3N0YXRpYyBjaGFyIGJyb2tlbndwbXNnW10gX19pbml0
ZGF0YSA9IA0KKwkiVGhpcyBrZXJuZWwgZG9lc24ndCBzdXBwb3J0IENQVSdz
IHdpdGggYnJva2VuIFdQLiBSZWNvbXBpbGUgaXQgZm9yIGEgMzg2ISI7DQor
I2VuZGlmDQorDQogX19pbml0ZnVuYyh2b2lkIHRlc3Rfd3BfYml0KHZvaWQp
KQ0KIHsNCiAJdW5zaWduZWQgY2hhciB0bXBfcmVnOw0KIAl1bnNpZ25lZCBs
b25nIG9sZCA9IHBnMFswXTsNCiANCi0JcHJpbnRrKCJDaGVja2luZyBpZiB0
aGlzIHByb2Nlc3NvciBob25vdXJzIHRoZSBXUCBiaXQgZXZlbiBpbiBzdXBl
cnZpc29yIG1vZGUuLi4gIik7DQorCXByaW50ayh3cG1zZyk7DQogCXBnMFsw
XSA9IHB0ZV92YWwobWtfcHRlKFBBR0VfT0ZGU0VULCBQQUdFX1JFQURPTkxZ
KSk7DQogCWxvY2FsX2ZsdXNoX3RsYigpOw0KIAljdXJyZW50LT5tbS0+bW1h
cC0+dm1fc3RhcnQgKz0gUEFHRV9TSVpFOw0KQEAgLTI5MCwxMiArMjk3LDE1
IEBADQogCQlib290X2NwdV9kYXRhLndwX3dvcmtzX29rID0gMDsNCiAJCXBy
aW50aygiTm8uXG4iKTsNCiAjaWZuZGVmIENPTkZJR19NMzg2DQotCQlwYW5p
YygiVGhpcyBrZXJuZWwgZG9lc24ndCBzdXBwb3J0IENQVSdzIHdpdGggYnJv
a2VuIFdQLiBSZWNvbXBpbGUgaXQgZm9yIGEgMzg2ISIpOw0KKwkJcGFuaWMo
YnJva2Vud3Btc2cpOw0KICNlbmRpZg0KIAl9IGVsc2UNCiAJCXByaW50aygi
LlxuIik7DQogfQ0KIA0KK3N0YXRpYyBjaGFyIG1lbW1zZ1tdIF9faW5pdGRh
dGEgPQ0KKwkiTWVtb3J5OiAlbHVrLyVsdWsgYXZhaWxhYmxlICglZGsga2Vy
bmVsIGNvZGUsICVkayByZXNlcnZlZCwgJWRrIGRhdGEsICVkayBpbml0KVxu
IjsNCisNCiBfX2luaXRmdW5jKHZvaWQgbWVtX2luaXQodW5zaWduZWQgbG9u
ZyBzdGFydF9tZW0sIHVuc2lnbmVkIGxvbmcgZW5kX21lbSkpDQogew0KIAl1
bnNpZ25lZCBsb25nIHN0YXJ0X2xvd19tZW0gPSBQQUdFX1NJWkU7DQpAQCAt
MzY3LDcgKzM3Nyw3IEBADQogI2VuZGlmDQogCQkJZnJlZV9wYWdlKHRtcCk7
DQogCX0NCi0JcHJpbnRrKCJNZW1vcnk6ICVsdWsvJWx1ayBhdmFpbGFibGUg
KCVkayBrZXJuZWwgY29kZSwgJWRrIHJlc2VydmVkLCAlZGsgZGF0YSwgJWRr
IGluaXQpXG4iLA0KKwlwcmludGsobWVtbXNnLA0KIAkJKHVuc2lnbmVkIGxv
bmcpIG5yX2ZyZWVfcGFnZXMgPDwgKFBBR0VfU0hJRlQtMTApLA0KIAkJbWF4
X21hcG5yIDw8IChQQUdFX1NISUZULTEwKSwNCiAJCWNvZGVwYWdlcyA8PCAo
UEFHRV9TSElGVC0xMCksDQpkaWZmIC1ydSAtLW5ldy1maWxlIGxpbnV4LTIu
MS44OS1pbml0ZnVuYy9kcml2ZXJzL3Njc2kvYWhhMTU0Mi5jIGxpbnV4L2Ry
aXZlcnMvc2NzaS9haGExNTQyLmMNCi0tLSBsaW51eC0yLjEuODktaW5pdGZ1
bmMvZHJpdmVycy9zY3NpL2FoYTE1NDIuYwlXZWQgTWFyICA0IDA2OjI2OjU5
IDE5OTgNCisrKyBsaW51eC9kcml2ZXJzL3Njc2kvYWhhMTU0Mi5jCVdlZCBN
YXIgIDQgMDc6MDM6MjQgMTk5OA0KQEAgLTg3MiwyNSArODcyLDM1IEBADQog
fQ0KIA0KIC8qIGNhbGxlZCBmcm9tIGluaXQvbWFpbi5jICovDQorc3RhdGlj
IGNoYXIgYWhhdXNhZ2VbXSBfX2luaXRkYXRhID0NCisJImFoYTE1NDI6IHVz
YWdlOiBhaGExNTQyPTxQT1JUQkFTRT5bLDxCVVNPTj4sPEJVU09GRj5bLDxE
TUFTUEVFRD5dXVxuIjsNCitzdGF0aWMgY2hhciB0b29tYW55bXNnW10gX19p
bml0ZGF0YSA9DQorCSJhaGExNTQyOiBhaGExNTQyX3NldHVwIGNhbGxlZCB0
b28gbWFueSB0aW1lcyEgQmFkIExJTE8gcGFyYW1zID9cbiI7DQorc3RhdGlj
IGNoYXIgd3JvbmdwYXJtc2dbXSBfX2luaXRkYXRhID0NCisJImFoYTE1NDI6
IFdyb25nIHBhcmFtZXRlcnMgbWF5IGNhdXNlIHN5c3RlbSBtYWxmdW5jdGlv
bi4uIFdlIHRyeSBhbnl3YXkuLlxuIjsNCitzdGF0aWMgY2hhciBkbWFzcGVl
ZG1zZ1tdIF9faW5pdGRhdGEgPQ0KKwkiYWhhMTU0MjogVmFsaWQgdmFsdWVz
IGZvciBETUFTUEVFRCBhcmUgNS04LCAxMCBNQi9zLiAgVXNpbmcganVtcGVy
IGRlZmF1bHRzLlxuIjsNCitzdGF0aWMgY2hhciBlbnRyeWxpbmVtc2dbXSBf
X2luaXRkYXRhID0NCisJIiAgIEVudHJ5bGluZSAxOiAlc1xuICAgRW50cnls
aW5lIDI6ICVzXG4gICBUaGlzIGxpbmU6ICAgJXNcbiI7DQorc3RhdGljIGNo
YXIgYWhhMTU0Mm1zZ1tdIF9faW5pdGRhdGEgPQ0KKwkiYWhhMTU0MjogJXNc
biI7DQorDQogX19pbml0ZnVuYyh2b2lkIGFoYTE1NDJfc2V0dXAoIGNoYXIg
KnN0ciwgaW50ICppbnRzKSkNCiB7DQotICAgIGNvbnN0IGNoYXIgKmFoYXVz
YWdlID0gImFoYTE1NDI6IHVzYWdlOiBhaGExNTQyPTxQT1JUQkFTRT5bLDxC
VVNPTj4sPEJVU09GRj5bLDxETUFTUEVFRD5dXVxuIjsNCiAgICAgc3RhdGlj
IGludCBzZXR1cF9pZHggPSAwOw0KICAgICBpbnQgc2V0dXBfcG9ydGJhc2U7
DQogDQogICAgIGlmKHNldHVwX2lkeCA+PSBNQVhCT0FSRFMpDQogICAgICAg
ew0KLQlwcmludGsoImFoYTE1NDI6IGFoYTE1NDJfc2V0dXAgY2FsbGVkIHRv
byBtYW55IHRpbWVzISBCYWQgTElMTyBwYXJhbXMgP1xuIik7DQotCXByaW50
aygiICAgRW50cnlsaW5lIDE6ICVzXG4iLHNldHVwX3N0clswXSk7DQotCXBy
aW50aygiICAgRW50cnlsaW5lIDI6ICVzXG4iLHNldHVwX3N0clsxXSk7DQot
CXByaW50aygiICAgVGhpcyBsaW5lOiAgICVzXG4iLHN0cik7DQorCXByaW50
ayh0b29tYW55bXNnKTsNCisJcHJpbnRrKGVudHJ5bGluZW1zZywgc2V0dXBf
c3RyWzBdLCBzZXR1cF9zdHJbMV0sIHN0cik7DQogCXJldHVybjsNCiAgICAg
ICB9DQogICAgIGlmIChpbnRzWzBdIDwgMSB8fCBpbnRzWzBdID4gNCkNCiAg
ICAgICB7DQotCXByaW50aygiYWhhMTU0MjogJXNcbiIsIHN0ciApOw0KKwlw
cmludGsoYWhhMTU0Mm1zZywgc3RyICk7DQogCXByaW50ayhhaGF1c2FnZSk7
DQotCXByaW50aygiYWhhMTU0MjogV3JvbmcgcGFyYW1ldGVycyBtYXkgY2F1
c2Ugc3lzdGVtIG1hbGZ1bmN0aW9uLi4gV2UgdHJ5IGFueXdheS4uXG4iKTsN
CisJcHJpbnRrKHdyb25ncGFybXNnKTsNCiAgICAgICB9DQogDQogICAgIHNl
dHVwX2NhbGxlZFtzZXR1cF9pZHhdPWludHNbMF07DQpAQCAtOTE4LDkgKzky
OCw5IEBADQogCSAgICBhdGJ0ID0gMHgwMzsNCiAJICAgIGJyZWFrOw0KIAlk
ZWZhdWx0Og0KLQkgICAgcHJpbnRrKCJhaGExNTQyOiAlc1xuIiwgc3RyICk7
DQorCSAgICBwcmludGsoYWhhMTU0Mm1zZywgc3RyICk7DQogCSAgICBwcmlu
dGsoYWhhdXNhZ2UpOw0KLQkgICAgcHJpbnRrKCJhaGExNTQyOiBWYWxpZCB2
YWx1ZXMgZm9yIERNQVNQRUVEIGFyZSA1LTgsIDEwIE1CL3MuICBVc2luZyBq
dW1wZXIgZGVmYXVsdHMuXG4iKTsNCisJICAgIHByaW50ayhkbWFzcGVlZG1z
Zyk7DQogCSAgICBicmVhazsNCiAgICAgICB9DQogICAgICAgc2V0dXBfZG1h
c3BlZWRbc2V0dXBfaWR4XSAgPSBhdGJ0Ow0KZGlmZiAtcnUgLS1uZXctZmls
ZSBsaW51eC0yLjEuODktaW5pdGZ1bmMvZHJpdmVycy9zY3NpL3Njc2kuYyBs
aW51eC9kcml2ZXJzL3Njc2kvc2NzaS5jDQotLS0gbGludXgtMi4xLjg5LWlu
aXRmdW5jL2RyaXZlcnMvc2NzaS9zY3NpLmMJV2VkIE1hciAgNCAwNjoyNjo1
OSAxOTk4DQorKysgbGludXgvZHJpdmVycy9zY3NpL3Njc2kuYwlXZWQgTWFy
ICA0IDA3OjAzOjI0IDE5OTgNCkBAIC0zOTcsMTEgKzM5NywxMyBAQA0KIAl1
cChTQ3BudC0+cmVxdWVzdC5zZW0pOw0KIH0NCiANCitzdGF0aWMgY2hhciBs
b2dnaW5nbXNnW10gX19pbml0ZGF0YSA9DQorCSJzY3NpX2xvZ2dpbmdfc2V0
dXAgOiB1c2FnZSBzY3NpX2xvZ2dpbmdfbGV2ZWw9biAobiBzaG91bGQgYmUg
MCBvciBub24temVybylcbiI7DQorDQogX19pbml0ZnVuYyh2b2lkIHNjc2lf
bG9nZ2luZ19zZXR1cChjaGFyICpzdHIsIGludCAqaW50cykpDQogew0KICAg
ICBpZiAoaW50c1swXSAhPSAxKSB7DQotCXByaW50aygic2NzaV9sb2dnaW5n
X3NldHVwIDogdXNhZ2Ugc2NzaV9sb2dnaW5nX2xldmVsPW4gIg0KLSAgICAg
ICAgICAgICAgICIobiBzaG91bGQgYmUgMCBvciBub24temVybylcbiIpOw0K
KwlwcmludGsobG9nZ2luZ21zZyk7DQogICAgIH0gZWxzZSB7DQogCXNjc2lf
bG9nZ2luZ19sZXZlbCA9IChpbnRzWzFdKT8gfjAgOiAwOw0KICAgICB9DQpA
QCAtNDEzLDEwICs0MTUsMTMgQEANCiBzdGF0aWMgaW50IG1heF9zY3NpX2x1
bnMgPSAxOw0KICNlbmRpZg0KIA0KK3N0YXRpYyBjaGFyIGx1bnNtc2dbXSBf
X2luaXRkYXRhID0NCisJInNjc2lfbHVuc19zZXR1cCA6IHVzYWdlIG1heF9z
Y3NpX2x1bnM9biAobiBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCA4KVxuIjsN
CisNCiBfX2luaXRmdW5jKHZvaWQgc2NzaV9sdW5zX3NldHVwKGNoYXIgKnN0
ciwgaW50ICppbnRzKSkNCiB7DQogICAgIGlmIChpbnRzWzBdICE9IDEpDQot
CXByaW50aygic2NzaV9sdW5zX3NldHVwIDogdXNhZ2UgbWF4X3Njc2lfbHVu
cz1uIChuIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDgpXG4iKTsNCisJcHJp
bnRrKGx1bnNtc2cpOw0KICAgICBlbHNlDQogCW1heF9zY3NpX2x1bnMgPSBp
bnRzWzFdOw0KIH0NCmRpZmYgLXJ1IC0tbmV3LWZpbGUgbGludXgtMi4xLjg5
LWluaXRmdW5jL2ZzL2J1ZmZlci5jIGxpbnV4L2ZzL2J1ZmZlci5jDQotLS0g
bGludXgtMi4xLjg5LWluaXRmdW5jL2ZzL2J1ZmZlci5jCVdlZCBNYXIgIDQg
MDY6MjY6NTkgMTk5OA0KKysrIGxpbnV4L2ZzL2J1ZmZlci5jCVdlZCBNYXIg
IDQgMDc6MDM6MjUgMTk5OA0KQEAgLTE2OTksNiArMTY5OSwxMSBAQA0KIA0K
IC8qID09PT09PT09PT09PT09PT09PT09PSBJbml0ID09PT09PT09PT09PT09
PT09PT09PT09ICovDQogDQorc3RhdGljIGNoYXIgaGFzaHBhbmljbXNnW10g
X19pbml0ZGF0YSA9DQorCSJGYWlsZWQgdG8gYWxsb2NhdGUgYnVmZmVyIGhh
c2ggdGFibGVcbiI7DQorc3RhdGljIGNoYXIgYmhwYW5pY21zZ1tdIF9faW5p
dGRhdGEgPQ0KKwkiQ2Fubm90IGNyZWF0ZSBidWZmZXIgaGVhZCBTTEFCIGNh
Y2hlXG4iOw0KKw0KIC8qDQogICogYWxsb2NhdGUgdGhlIGhhc2ggdGFibGUg
YW5kIGluaXQgdGhlIGZyZWUgbGlzdA0KICAqIFVzZSBnZnAoKSBmb3IgdGhl
IGhhc2ggdGFibGUgdG8gZGVjcmVhc2UgVExCIG1pc3NlcywgdXNlDQpAQCAt
MTcwOSw3ICsxNzE0LDcgQEANCiAJaGFzaF90YWJsZSA9IChzdHJ1Y3QgYnVm
ZmVyX2hlYWQgKiopDQogCQlfX2dldF9mcmVlX3BhZ2VzKEdGUF9BVE9NSUMs
IEhBU0hfUEFHRVNfT1JERVIpOw0KIAlpZiAoIWhhc2hfdGFibGUpDQotCQlw
YW5pYygiRmFpbGVkIHRvIGFsbG9jYXRlIGJ1ZmZlciBoYXNoIHRhYmxlXG4i
KTsNCisJCXBhbmljKGhhc2hwYW5pY21zZyk7DQogCW1lbXNldChoYXNoX3Rh
YmxlLDAsTlJfSEFTSCpzaXplb2Yoc3RydWN0IGJ1ZmZlcl9oZWFkICopKTsN
CiANCiAJYmhfY2FjaGVwID0ga21lbV9jYWNoZV9jcmVhdGUoImJ1ZmZlcl9o
ZWFkIiwNCkBAIC0xNzE3LDcgKzE3MjIsNyBAQA0KIAkJCQkgICAgICAwLA0K
IAkJCQkgICAgICBTTEFCX0hXQ0FDSEVfQUxJR04sIE5VTEwsIE5VTEwpOw0K
IAlpZighYmhfY2FjaGVwKQ0KLQkJcGFuaWMoIkNhbm5vdCBjcmVhdGUgYnVm
ZmVyIGhlYWQgU0xBQiBjYWNoZVxuIik7DQorCQlwYW5pYyhiaHBhbmljbXNn
KTsNCiAJLyoNCiAJICogQWxsb2NhdGUgdGhlIHJlc2VydmVkIGJ1ZmZlciBo
ZWFkcy4NCiAJICovDQpkaWZmIC1ydSAtLW5ldy1maWxlIGxpbnV4LTIuMS44
OS1pbml0ZnVuYy9mcy9maWxlX3RhYmxlLmMgbGludXgvZnMvZmlsZV90YWJs
ZS5jDQotLS0gbGludXgtMi4xLjg5LWluaXRmdW5jL2ZzL2ZpbGVfdGFibGUu
YwlXZWQgTWFyICA0IDA2OjI2OjU5IDE5OTgNCisrKyBsaW51eC9mcy9maWxl
X3RhYmxlLmMJV2VkIE1hciAgNCAwNzowMzoyNSAxOTk4DQpAQCAtNDYsMTMg
KzQ2LDE2IEBADQogCWZpbGUtPmZfcHByZXYgPSAmaW51c2VfZmlscHM7DQog
fQ0KIA0KK3N0YXRpYyBjaGFyIGZpbHBwYW5pY21zZ1tdIF9faW5pdGRhdGEg
PQ0KKwkiVkZTOiBDYW5ub3QgYWxsb2MgZmlscCBTTEFCIGNhY2hlLiI7DQor
DQogX19pbml0ZnVuYyh2b2lkIGZpbGVfdGFibGVfaW5pdCh2b2lkKSkNCiB7
DQogCWZpbHBfY2FjaGUgPSBrbWVtX2NhY2hlX2NyZWF0ZSgiZmlscCIsIHNp
emVvZihzdHJ1Y3QgZmlsZSksDQogCQkJCSAgICAgICAwLA0KIAkJCQkgICAg
ICAgU0xBQl9IV0NBQ0hFX0FMSUdOLCBOVUxMLCBOVUxMKTsNCiAJaWYoIWZp
bHBfY2FjaGUpDQotCQlwYW5pYygiVkZTOiBDYW5ub3QgYWxsb2MgZmlscCBT
TEFCIGNhY2hlLiIpOw0KKwkJcGFuaWMoZmlscHBhbmljbXNnKTsNCiAJLyoN
CiAJICogV2UgY291bGQgYWxsb2NhdGUgdGhlIHJlc2VydmVkIGZpbGVzIGhl
cmUsIGJ1dCByZWFsbHkNCiAJICogc2hvdWxkbid0IG5lZWQgdG86IHRoZSBu
b3JtYWwgYm9vdCBwcm9jZXNzIHdpbGwgY3JlYXRlDQpkaWZmIC1ydSAtLW5l
dy1maWxlIGxpbnV4LTIuMS44OS1pbml0ZnVuYy9pbml0L21haW4uYyBsaW51
eC9pbml0L21haW4uYw0KLS0tIGxpbnV4LTIuMS44OS1pbml0ZnVuYy9pbml0
L21haW4uYwlGcmkgRmViIDIwIDA0OjU1OjU0IDE5OTgNCisrKyBsaW51eC9p
bml0L21haW4uYwlXZWQgTWFyICA0IDA3OjAzOjI1IDE5OTgNCkBAIC04MTks
NiArODE5LDkgQEANCiAgICBiZXR0ZXIgdGhhbiAxJSAqLw0KICNkZWZpbmUg
TFBTX1BSRUMgOA0KIA0KK3N0YXRpYyBjaGFyIGNhbGlibXNnW10gX19pbml0
ZGF0YSA9ICJDYWxpYnJhdGluZyBkZWxheSBsb29wLi4uICI7DQorc3RhdGlj
IGNoYXIgYm9nb21pcHNtc2dbXSBfX2luaXRkYXRhID0gIiVsdS4lMDJsdSBC
b2dvTUlQU1xuIjsNCisNCiBfX2luaXRmdW5jKHZvaWQgY2FsaWJyYXRlX2Rl
bGF5KHZvaWQpKQ0KIHsNCiAJdW5zaWduZWQgbG9uZyB0aWNrcywgbG9vcGJp
dDsNCkBAIC04MjYsNyArODI5LDcgQEANCiANCiAJbG9vcHNfcGVyX3NlYyA9
ICgxPDwxMik7DQogDQotCXByaW50aygiQ2FsaWJyYXRpbmcgZGVsYXkgbG9v
cC4uLiAiKTsNCisJcHJpbnRrKGNhbGlibXNnKTsNCiAJd2hpbGUgKGxvb3Bz
X3Blcl9zZWMgPDw9IDEpIHsNCiAJCS8qIHdhaXQgZm9yICJzdGFydCBvZiIg
Y2xvY2sgdGljayAqLw0KIAkJdGlja3MgPSBqaWZmaWVzOw0KQEAgLTg1Nyw3
ICs4NjAsNyBAQA0KIC8qIGZpbmFsbHksIGFkanVzdCBsb29wcyBwZXIgc2Vj
b25kIGluIHRlcm1zIG9mIHNlY29uZHMgaW5zdGVhZCBvZiBjbG9ja3MgKi8J
DQogCWxvb3BzX3Blcl9zZWMgKj0gSFo7DQogLyogUm91bmQgdGhlIHZhbHVl
IGFuZCBwcmludCBpdCAqLwkNCi0JcHJpbnRrKCIlbHUuJTAybHUgQm9nb01J
UFNcbiIsDQorCXByaW50ayhib2dvbWlwc21zZywNCiAJCShsb29wc19wZXJf
c2VjKzI1MDApLzUwMDAwMCwNCiAJCSgobG9vcHNfcGVyX3NlYysyNTAwKS81
MDAwKSAlIDEwMCk7DQogfQ0KQEAgLTk4MCw3ICs5ODMsMTAgQEANCiAvKg0K
ICAqCUFjdGl2YXRlIHRoZSBmaXJzdCBwcm9jZXNzb3IuDQogICovDQotIA0K
Kw0KK3N0YXRpYyBjaGFyIHVuaWZpeG1zZ1tdIF9faW5pdGRhdGEgPQ0KKwki
UE9TSVggY29uZm9ybWFuY2UgdGVzdGluZyBieSBVTklGSVhcbiI7IA0KKw0K
IF9faW5pdGZ1bmMoYXNtbGlua2FnZSB2b2lkIHN0YXJ0X2tlcm5lbCh2b2lk
KSkNCiB7DQogCWNoYXIgKiBjb21tYW5kX2xpbmU7DQpAQCAtMTA2Nyw3ICsx
MDczLDcgQEANCiAJZHF1b3RfaW5pdCgpOw0KIAljaGVja19idWdzKCk7DQog
DQotCXByaW50aygiUE9TSVggY29uZm9ybWFuY2UgdGVzdGluZyBieSBVTklG
SVhcbiIpOw0KKwlwcmludGsodW5pZml4bXNnKTsNCiAjaWZkZWYgX19TTVBf
Xw0KIAlzbXBfaW5pdCgpOw0KICNlbmRpZg0KZGlmZiAtcnUgLS1uZXctZmls
ZSBsaW51eC0yLjEuODktaW5pdGZ1bmMva2VybmVsL2ZvcmsuYyBsaW51eC9r
ZXJuZWwvZm9yay5jDQotLS0gbGludXgtMi4xLjg5LWluaXRmdW5jL2tlcm5l
bC9mb3JrLmMJV2VkIE1hciAgNCAwNjowMjowNyAxOTk4DQorKysgbGludXgv
a2VybmVsL2ZvcmsuYwlXZWQgTWFyICA0IDA3OjAzOjI1IDE5OTgNCkBAIC0x
MjMsNiArMTIzLDkgQEANCiAJcmV0dXJuIDA7DQogfQ0KIA0KK3N0YXRpYyBj
aGFyIHVpZHBhbmljbXNnW10gX19pbml0ZGF0YSA9DQorCSJDYW5ub3QgY3Jl
YXRlIHVpZCB0YXNrY291bnQgU0xBQiBjYWNoZVxuIjsNCisNCiBfX2luaXRm
dW5jKHZvaWQgdWlkY2FjaGVfaW5pdCh2b2lkKSkNCiB7DQogCWludCBpOw0K
QEAgLTEzMSw3ICsxMzQsNyBAQA0KIAkJCQkgICAgICAgMCwNCiAJCQkJICAg
ICAgIFNMQUJfSFdDQUNIRV9BTElHTiwgTlVMTCwgTlVMTCk7DQogCWlmKCF1
aWRfY2FjaGVwKQ0KLQkJcGFuaWMoIkNhbm5vdCBjcmVhdGUgdWlkIHRhc2tj
b3VudCBTTEFCIGNhY2hlXG4iKTsNCisJCXBhbmljKHVpZHBhbmljbXNnKTsN
CiANCiAJZm9yKGkgPSAwOyBpIDwgVUlESEFTSF9TWjsgaSsrKQ0KIAkJdWlk
aGFzaFtpXSA9IDA7DQpAQCAtNTY4LDYgKzU3MSw4IEBADQogCW1lbXNldChm
LCAwLCBzaXplb2YoKmYpKTsNCiB9DQogDQorc3RhdGljIGNoYXIgZmlsZXNw
YW5pY21zZ1tdIF9faW5pdGRhdGEgPSAiQ2Fubm90IGNyZWF0ZSBmaWxlcyBj
YWNoZSI7DQorDQogX19pbml0ZnVuYyh2b2lkIGZpbGVzY2FjaGVfaW5pdCh2
b2lkKSkNCiB7DQogCWZpbGVzX2NhY2hlcCA9IGttZW1fY2FjaGVfY3JlYXRl
KCJmaWxlc19jYWNoZSIsIA0KQEAgLTU3Niw1ICs1ODEsNSBAQA0KIAkJCQkJ
IFNMQUJfSFdDQUNIRV9BTElHTiwNCiAJCQkJCSBmaWxlc19jdG9yLCBOVUxM
KTsNCiAJaWYgKCFmaWxlc19jYWNoZXApIA0KLQkJcGFuaWMoIkNhbm5vdCBj
cmVhdGUgZmlsZXMgY2FjaGUiKTsgDQorCQlwYW5pYyhmaWxlc3BhbmljbXNn
KTsgDQogfQ0KZGlmZiAtcnUgLS1uZXctZmlsZSBsaW51eC0yLjEuODktaW5p
dGZ1bmMvbW0vbW1hcC5jIGxpbnV4L21tL21tYXAuYw0KLS0tIGxpbnV4LTIu
MS44OS1pbml0ZnVuYy9tbS9tbWFwLmMJV2VkIE1hciAgNCAwNjowMjowOSAx
OTk4DQorKysgbGludXgvbW0vbW1hcC5jCVdlZCBNYXIgIDQgMDc6MDM6MjYg
MTk5OA0KQEAgLTcwNCw2ICs3MDQsMTEgQEANCiAJdXAoJm1tLT5tbWFwX3Nl
bSk7DQogfQ0KIA0KK3N0YXRpYyBjaGFyIHZtcGFuaWNtc2dbXSBfX2luaXRk
YXRhID0NCisJInZtYV9pbml0OiBDYW5ub3QgYWxsb2Mgdm1fYXJlYV9zdHJ1
Y3QgY2FjaGUuIjsNCitzdGF0aWMgY2hhciBtbXBhbmljbXNnW10gX19pbml0
ZGF0YSA9DQorCSJ2bWFfaW5pdDogQ2Fubm90IGFsbG9jIG1tX3N0cnVjdCBj
YWNoZS4iOw0KKw0KIF9faW5pdGZ1bmModm9pZCB2bWFfaW5pdCh2b2lkKSkN
CiB7DQogCXZtX2FyZWFfY2FjaGVwID0ga21lbV9jYWNoZV9jcmVhdGUoInZt
X2FyZWFfc3RydWN0IiwNCkBAIC03MTEsMTIgKzcxNiwxMiBAQA0KIAkJCQkJ
ICAgMCwgU0xBQl9IV0NBQ0hFX0FMSUdOLA0KIAkJCQkJICAgTlVMTCwgTlVM
TCk7DQogCWlmKCF2bV9hcmVhX2NhY2hlcCkNCi0JCXBhbmljKCJ2bWFfaW5p
dDogQ2Fubm90IGFsbG9jIHZtX2FyZWFfc3RydWN0IGNhY2hlLiIpOw0KKwkJ
cGFuaWModm1wYW5pY21zZyk7DQogDQogCW1tX2NhY2hlcCA9IGttZW1fY2Fj
aGVfY3JlYXRlKCJtbV9zdHJ1Y3QiLA0KIAkJCQkgICAgICBzaXplb2Yoc3Ry
dWN0IG1tX3N0cnVjdCksDQogCQkJCSAgICAgIDAsIFNMQUJfSFdDQUNIRV9B
TElHTiwNCiAJCQkJICAgICAgTlVMTCwgTlVMTCk7DQogCWlmKCFtbV9jYWNo
ZXApDQotCQlwYW5pYygidm1hX2luaXQ6IENhbm5vdCBhbGxvYyBtbV9zdHJ1
Y3QgY2FjaGUuIik7DQorCQlwYW5pYyhtbXBhbmljbXNnKTsNCiB9DQpkaWZm
IC1ydSAtLW5ldy1maWxlIGxpbnV4LTIuMS44OS1pbml0ZnVuYy9tbS92bXNj
YW4uYyBsaW51eC9tbS92bXNjYW4uYw0KLS0tIGxpbnV4LTIuMS44OS1pbml0
ZnVuYy9tbS92bXNjYW4uYwlXZWQgTWFyICA0IDA2OjI3OjAwIDE5OTgNCisr
KyBsaW51eC9tbS92bXNjYW4uYwlXZWQgTWFyICA0IDA3OjE1OjQyIDE5OTgN
CkBAIC00OTksNiArNDk5LDkgQEANCiAgKiBtYXkgYmUgcHJpbnRlZCBpbiB0
aGUgbWlkZGxlIG9mIGFub3RoZXIgZHJpdmVyJ3MgaW5pdCANCiAgKiBtZXNz
YWdlKS4gIEl0IGxvb2tzIHZlcnkgYmFkIHdoZW4gdGhhdCBoYXBwZW5zLg0K
ICAqLw0KKw0KK3N0YXRpYyBjaGFyIGtzd2FwZF9tc2dbXSBfX2luaXRkYXRh
ID0gIlN0YXJ0aW5nIGtzd2FwZCB2JS4qc1xuIjsNCisNCiBfX2luaXRmdW5j
KHZvaWQga3N3YXBkX3NldHVwKHZvaWQpKQ0KIHsNCiAgICAgICAgaW50IGk7
DQpAQCAtNTA5LDcgKzUxMiw3IEBADQogICAgICAgICAgICAgICAgcysrLCBp
ID0gZSAtIHM7DQogICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICBzID0g
cmV2aXNpb24sIGkgPSAtMTsNCi0gICAgICAgcHJpbnRrICgiU3RhcnRpbmcg
a3N3YXBkIHYlLipzXG4iLCBpLCBzKTsNCisgICAgICAgcHJpbnRrIChrc3dh
cGRfbXNnLCBpLCBzKTsNCiB9DQogDQogI2RlZmluZSBNQVhfU1dBUF9GQUlM
IDMNCmRpZmYgLXJ1IC0tbmV3LWZpbGUgbGludXgtMi4xLjg5LWluaXRmdW5j
L25ldC9pcHY0L2FmX2luZXQuYyBsaW51eC9uZXQvaXB2NC9hZl9pbmV0LmMN
Ci0tLSBsaW51eC0yLjEuODktaW5pdGZ1bmMvbmV0L2lwdjQvYWZfaW5ldC5j
CVdlZCBNYXIgIDQgMDY6MDI6MTIgMTk5OA0KKysrIGxpbnV4L25ldC9pcHY0
L2FmX2luZXQuYwlXZWQgTWFyICA0IDA3OjAzOjI2IDE5OTgNCkBAIC0xMDUw
LDEzICsxMDUwLDE2IEBADQogLyoNCiAgKglDYWxsZWQgYnkgc29ja2V0LmMg
b24ga2VybmVsIHN0YXJ0dXAuICANCiAgKi8NCisNCitzdGF0aWMgY2hhciBz
d2FubXNnW10gX19pbml0ZGF0YSA9DQorICAgICAgICAiU3dhbnNlYSBVbml2
ZXJzaXR5IENvbXB1dGVyIFNvY2lldHkgVENQL0lQIGZvciBORVQzLjAzN1xu
IjsNCiAgDQogX19pbml0ZnVuYyh2b2lkIGluZXRfcHJvdG9faW5pdChzdHJ1
Y3QgbmV0X3Byb3RvICpwcm8pKQ0KIHsNCiAJc3RydWN0IHNrX2J1ZmYgKmR1
bW15X3NrYjsNCiAJc3RydWN0IGluZXRfcHJvdG9jb2wgKnA7DQogDQotCXBy
aW50ayhLRVJOX0lORk8gIlN3YW5zZWEgVW5pdmVyc2l0eSBDb21wdXRlciBT
b2NpZXR5IFRDUC9JUCBmb3IgTkVUMy4wMzdcbiIpOw0KKwlwcmludGsoS0VS
Tl9JTkZPICIlcyIsIHN3YW5tc2cpOw0KIA0KIAlpZiAoc2l6ZW9mKHN0cnVj
dCBpbmV0X3NrYl9wYXJtKSA+IHNpemVvZihkdW1teV9za2ItPmNiKSkNCiAJ
ew0KZGlmZiAtcnUgLS1uZXctZmlsZSBsaW51eC0yLjEuODktaW5pdGZ1bmMv
bmV0L2lwdjQvaWNtcC5jIGxpbnV4L25ldC9pcHY0L2ljbXAuYw0KLS0tIGxp
bnV4LTIuMS44OS1pbml0ZnVuYy9uZXQvaXB2NC9pY21wLmMJV2VkIE1hciAg
NCAwNjowMjoxMyAxOTk4DQorKysgbGludXgvbmV0L2lwdjQvaWNtcC5jCVdl
ZCBNYXIgIDQgMDc6MDM6MjYgMTk5OA0KQEAgLTEwNzQsNiArMTA3NCw5IEBA
DQogIHsgJmljbXBfc3RhdGlzdGljcy5JY21wT3V0QWRkck1hc2tSZXBzLCAm
aWNtcF9zdGF0aXN0aWNzLkljbXBJbkFkZHJNYXNrUmVwcywgaWNtcF9hZGRy
ZXNzX3JlcGx5LCAwLCB9DQogfTsNCiANCitzdGF0aWMgY2hhciBpY21wcGFu
aWNtc2dbXSBfX2luaXRkYXRhID0NCisgICAgICAgICJGYWlsZWQgdG8gY3Jl
YXRlIHRoZSBJQ01QIGNvbnRyb2wgc29ja2V0LlxuIjsNCisNCiBfX2luaXRm
dW5jKHZvaWQgaWNtcF9pbml0KHN0cnVjdCBuZXRfcHJvdG9fZmFtaWx5ICpv
cHMpKQ0KIHsNCiAJaW50IGVycjsNCkBAIC0xMDg4LDcgKzEwOTEsNyBAQA0K
IAlpY21wX3NvY2tldC0+dHlwZT1TT0NLX1JBVzsNCiANCiAJaWYgKChlcnI9
b3BzLT5jcmVhdGUoaWNtcF9zb2NrZXQsIElQUFJPVE9fSUNNUCkpPDApDQot
CQlwYW5pYygiRmFpbGVkIHRvIGNyZWF0ZSB0aGUgSUNNUCBjb250cm9sIHNv
Y2tldC5cbiIpOw0KKwkJcGFuaWMoaWNtcHBhbmljbXNnKTsNCiAJaWNtcF9z
b2NrZXQtPnNrLT5hbGxvY2F0aW9uPUdGUF9BVE9NSUM7DQogCWljbXBfc29j
a2V0LT5zay0+bnVtID0gMjU2OwkJLyogRG9uJ3QgcmVjZWl2ZSBhbnkgZGF0
YSAqLw0KIAlpY21wX3NvY2tldC0+c2stPmlwX3R0bCA9IE1BWFRUTDsNCmRp
ZmYgLXJ1IC0tbmV3LWZpbGUgbGludXgtMi4xLjg5LWluaXRmdW5jL25ldC9z
b2NrZXQuYyBsaW51eC9uZXQvc29ja2V0LmMNCi0tLSBsaW51eC0yLjEuODkt
aW5pdGZ1bmMvbmV0L3NvY2tldC5jCVdlZCBNYXIgIDQgMDY6MDI6MjEgMTk5
OA0KKysrIGxpbnV4L25ldC9zb2NrZXQuYwlXZWQgTWFyICA0IDA3OjAzOjI3
IDE5OTgNCkBAIC0xNDQ2LDExICsxNDQ2LDE0IEBADQogZXh0ZXJuIHZvaWQg
d2Fucm91dGVyX2luaXQodm9pZCk7DQogI2VuZGlmDQogDQorc3RhdGljIGNo
YXIgc3dhbm1zZ1tdIF9faW5pdGRhdGEgPQ0KKwkiU3dhbnNlYSBVbml2ZXJz
aXR5IENvbXB1dGVyIFNvY2lldHkgTkVUMy4wMzkgZm9yIExpbnV4IDIuMVxu
IjsNCisNCiBfX2luaXRmdW5jKHZvaWQgc29ja19pbml0KHZvaWQpKQ0KIHsN
CiAJaW50IGk7DQogDQotCXByaW50ayhLRVJOX0lORk8gIlN3YW5zZWEgVW5p
dmVyc2l0eSBDb21wdXRlciBTb2NpZXR5IE5FVDMuMDM5IGZvciBMaW51eCAy
LjFcbiIpOw0KKwlwcmludGsoS0VSTl9JTkZPICIlcyIsIHN3YW5tc2cpOw0K
IA0KIAkvKg0KIAkgKglJbml0aWFsaXplIGFsbCBhZGRyZXNzIChwcm90b2Nv
bCkgZmFtaWxpZXMuIA0K
---559023410-5627-889717320=:2374--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu