Re: [2.3.11=pre6]: No OOPS, but mount segfaults remounting "/"?

Ingo Molnar (mingo@chiara.csoma.elte.hu)
Thu, 22 Jul 1999 12:08:15 +0200 (CEST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---1247997369-1057431344-932638095=:25472
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Wed, 21 Jul 1999, Alexander Viro wrote:

> There we go:
> * new function added: int do_coredump(signr, regs);
> * signal dispatching code uses it now.
> * new field added to struct linux_binfmt - min_coredump.
> It's a minimal coredump size. Drive rlimit below it and
> dumps are blocked.
> * checks for process being dumpable (identical everywhere
> except the irix_core_dump, which failed to check for
> shared VM context) moved to do_coredump()
> * rlimit check went the same way.
> * creating the core file and sanity checks - ditto.
> * same for closing the core afterwards.
> * ->core_dump() method got an additional parameter -
> file to dump into.
> * All instances of struct binfmt_struct updated.

your patch doesnt actually compile (binfmt_elf.c and exec.c had problems)
... The attached one compiles and boots fine. (patch against 2.3.11-final)

-- mingo

---1247997369-1057431344-932638095=:25472
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="viro-2.3.11-A1"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.990722120815.25472B@chiara.csoma.elte.hu>
Content-Description:

LS0tIGxpbnV4L2ZzL2JpbmZtdF9hb3V0LmMub3JpZwlUaHUgSnVsIDIyIDEy
OjM1OjQzIDE5OTkNCisrKyBsaW51eC9mcy9iaW5mbXRfYW91dC5jCVRodSBK
dWwgMjIgMTI6MzY6MzEgMTk5OQ0KQEAgLTM2LDExICszNiwxMyBAQA0KIGV4
dGVybiB2b2lkIGR1bXBfdGhyZWFkKHN0cnVjdCBwdF9yZWdzICosIHN0cnVj
dCB1c2VyICopOw0KIA0KIHN0YXRpYyBzdHJ1Y3QgbGludXhfYmluZm10IGFv
dXRfZm9ybWF0ID0gew0KKwlOVUxMLA0KICNpZm5kZWYgTU9EVUxFDQotCU5V
TEwsIE5VTEwsIGxvYWRfYW91dF9iaW5hcnksIGxvYWRfYW91dF9saWJyYXJ5
LCBhb3V0X2NvcmVfZHVtcA0KKwlOVUxMLA0KICNlbHNlDQotCU5VTEwsICZf
X3RoaXNfbW9kdWxlLCBsb2FkX2FvdXRfYmluYXJ5LCBsb2FkX2FvdXRfbGli
cmFyeSwgYW91dF9jb3JlX2R1bXANCisJJl9fdGhpc19tb2R1bGUsDQogI2Vu
ZGlmDQorCWxvYWRfYW91dF9iaW5hcnksIGxvYWRfYW91dF9saWJyYXJ5LCBh
b3V0X2NvcmVfZHVtcCwgUEFHRV9TSVpFDQogfTsNCiANCiBzdGF0aWMgdm9p
ZCBzZXRfYnJrKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcg
ZW5kKQ0KQEAgLTY0LDEyICs2NiwxMiBAQA0KIA0KICNkZWZpbmUgRFVNUF9X
UklURShhZGRyLCBucikJXA0KIAlpZiAoIWR1bXBfd3JpdGUoZmlsZSwgKHZv
aWQgKikoYWRkciksIChucikpKSBcDQotCQlnb3RvIGNsb3NlX2NvcmVkdW1w
Ow0KKwkJZ290byBlbmRfY29yZWR1bXA7DQogDQogI2RlZmluZSBEVU1QX1NF
RUsob2Zmc2V0KSBcDQogaWYgKGZpbGUtPmZfb3AtPmxsc2VlaykgeyBcDQog
CWlmIChmaWxlLT5mX29wLT5sbHNlZWsoZmlsZSwob2Zmc2V0KSwwKSAhPSAo
b2Zmc2V0KSkgXA0KLSAJCWdvdG8gY2xvc2VfY29yZWR1bXA7IFwNCisgCQln
b3RvIGVuZF9jb3JlZHVtcDsgXA0KIH0gZWxzZSBmaWxlLT5mX3BvcyA9IChv
ZmZzZXQpDQogDQogLyoNCkBAIC04MywxNCArODUsMTAgQEANCiAgKi8NCiAN
CiBzdGF0aWMgaW5saW5lIGludA0KLWRvX2FvdXRfY29yZV9kdW1wKGxvbmcg
c2lnbnIsIHN0cnVjdCBwdF9yZWdzICogcmVncykNCitkb19hb3V0X2NvcmVf
ZHVtcChsb25nIHNpZ25yLCBzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIHN0cnVj
dCBmaWxlICpmaWxlKQ0KIHsNCi0Jc3RydWN0IGRlbnRyeSAqIGRlbnRyeSA9
IE5VTEw7DQotCXN0cnVjdCBpbm9kZSAqIGlub2RlID0gTlVMTDsNCi0Jc3Ry
dWN0IGZpbGUgKiBmaWxlOw0KIAltbV9zZWdtZW50X3QgZnM7DQogCWludCBo
YXNfZHVtcGVkID0gMDsNCi0JY2hhciBjb3JlZmlsZVs2K3NpemVvZihjdXJy
ZW50LT5jb21tKV07DQogCXVuc2lnbmVkIGxvbmcgZHVtcF9zdGFydCwgZHVt
cF9zaXplOw0KIAlzdHJ1Y3QgdXNlciBkdW1wOw0KICNpZiBkZWZpbmVkKF9f
YWxwaGFfXykNCkBAIC0xMDYsMzIgKzEwNCw4IEBADQogIyAgICAgICBkZWZp
bmUgU1RBUlRfU1RBQ0sodSkgICAodS5zdGFydF9zdGFjaykNCiAjZW5kaWYN
CiANCi0JaWYgKCFjdXJyZW50LT5kdW1wYWJsZSB8fCBhdG9taWNfcmVhZCgm
Y3VycmVudC0+bW0tPm1tX3VzZXJzKSAhPSAxKQ0KLQkJcmV0dXJuIDA7DQot
CWN1cnJlbnQtPmR1bXBhYmxlID0gMDsNCi0NCi0vKiBTZWUgaWYgd2UgaGF2
ZSBlbm91Z2ggcm9vbSB0byB3cml0ZSB0aGUgdXBhZ2UuICAqLw0KLQlpZiAo
Y3VycmVudC0+cmxpbVtSTElNSVRfQ09SRV0ucmxpbV9jdXIgPCBQQUdFX1NJ
WkUpDQotCQlyZXR1cm4gMDsNCiAJZnMgPSBnZXRfZnMoKTsNCiAJc2V0X2Zz
KEtFUk5FTF9EUyk7DQotCW1lbWNweShjb3JlZmlsZSwiY29yZS4iLDUpOw0K
LSNpZiAwDQotCW1lbWNweShjb3JlZmlsZSs1LGN1cnJlbnQtPmNvbW0sc2l6
ZW9mKGN1cnJlbnQtPmNvbW0pKTsNCi0jZWxzZQ0KLQljb3JlZmlsZVs0XSA9
ICdcMCc7DQotI2VuZGlmDQotCWZpbGUgPSBmaWxwX29wZW4oY29yZWZpbGUs
T19DUkVBVCB8IDIgfCBPX1RSVU5DIHwgT19OT0ZPTExPVywgMDYwMCk7DQot
CWlmIChJU19FUlIoZmlsZSkpDQotCQlnb3RvIGVuZF9jb3JlZHVtcDsNCi0J
ZGVudHJ5ID0gZmlsZS0+Zl9kZW50cnk7DQotCWlub2RlID0gZGVudHJ5LT5k
X2lub2RlOw0KLQlpZiAoIVNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpDQotCQln
b3RvIGNsb3NlX2NvcmVkdW1wOw0KLQlpZiAoIWlub2RlLT5pX29wIHx8ICFp
bm9kZS0+aV9vcC0+ZGVmYXVsdF9maWxlX29wcykNCi0JCWdvdG8gY2xvc2Vf
Y29yZWR1bXA7DQotCWlmICghZmlsZS0+Zl9vcC0+d3JpdGUpDQotCQlnb3Rv
IGNsb3NlX2NvcmVkdW1wOw0KIAloYXNfZHVtcGVkID0gMTsNCiAJY3VycmVu
dC0+ZmxhZ3MgfD0gUEZfRFVNUENPUkU7DQogICAgICAgIAlzdHJuY3B5KGR1
bXAudV9jb21tLCBjdXJyZW50LT5jb21tLCBzaXplb2YoY3VycmVudC0+Y29t
bSkpOw0KQEAgLTIxMCwyMCArMTg0LDE4IEBADQogLyogRmluYWxseSBkdW1w
IHRoZSB0YXNrIHN0cnVjdC4gIE5vdCBiZSB1c2VkIGJ5IGdkYiwgYnV0IGNv
dWxkIGJlIHVzZWZ1bCAqLw0KIAlzZXRfZnMoS0VSTkVMX0RTKTsNCiAJRFVN
UF9XUklURShjdXJyZW50LHNpemVvZigqY3VycmVudCkpOw0KLWNsb3NlX2Nv
cmVkdW1wOg0KLQlmaWxwX2Nsb3NlKGZpbGUsIE5VTEwpOw0KIGVuZF9jb3Jl
ZHVtcDoNCiAJc2V0X2ZzKGZzKTsNCiAJcmV0dXJuIGhhc19kdW1wZWQ7DQog
fQ0KIA0KIHN0YXRpYyBpbnQNCi1hb3V0X2NvcmVfZHVtcChsb25nIHNpZ25y
LCBzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MpDQorYW91dF9jb3JlX2R1bXAobG9u
ZyBzaWduciwgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBzdHJ1Y3QgZmlsZSAq
ZmlsZSkNCiB7DQogCWludCByZXR2YWw7DQogDQogCU1PRF9JTkNfVVNFX0NP
VU5UOw0KLQlyZXR2YWwgPSBkb19hb3V0X2NvcmVfZHVtcChzaWduciwgcmVn
cyk7DQorCXJldHZhbCA9IGRvX2FvdXRfY29yZV9kdW1wKHNpZ25yLCByZWdz
LCBmaWxlKTsNCiAJTU9EX0RFQ19VU0VfQ09VTlQ7DQogCXJldHVybiByZXR2
YWw7DQogfQ0KLS0tIGxpbnV4L2ZzL2V4ZWMuYy5vcmlnCVRodSBKdWwgMjIg
MTI6MzU6NDMgMTk5OQ0KKysrIGxpbnV4L2ZzL2V4ZWMuYwlUaHUgSnVsIDIy
IDEyOjQ1OjE0IDE5OTkNCkBAIC04MzcsMyArODM3LDUzIEBADQogDQogCXJl
dHVybiByZXR2YWw7DQogfQ0KKw0KK2ludCBkb19jb3JlZHVtcChsb25nIHNp
Z25yLCBzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MpDQorew0KKwlzdHJ1Y3QgbGlu
dXhfYmluZm10ICogYmluZm10Ow0KKwljaGFyIGNvcmVuYW1lWzYrc2l6ZW9m
KGN1cnJlbnQtPmNvbW0pXTsNCisJc3RydWN0IGZpbGUgKiBmaWxlOw0KKwlz
dHJ1Y3QgZGVudHJ5ICogZGVudHJ5Ow0KKwlzdHJ1Y3QgaW5vZGUgKiBpbm9k
ZTsNCisNCisJbG9ja19rZXJuZWwoKTsNCisJYmluZm10ID0gY3VycmVudC0+
YmluZm10Ow0KKwlpZiAoIWJpbmZtdCB8fCAhYmluZm10LT5jb3JlX2R1bXAp
DQorCQlnb3RvIGZhaWw7DQorCWlmICghY3VycmVudC0+ZHVtcGFibGUgfHwg
YXRvbWljX3JlYWQoJmN1cnJlbnQtPm1tLT5tbV91c2VycykgIT0gMSkNCisJ
Y3VycmVudC0+ZHVtcGFibGUgPSAwOw0KKwlpZiAoY3VycmVudC0+cmxpbVtS
TElNSVRfQ09SRV0ucmxpbV9jdXIgPCBiaW5mbXQtPm1pbl9jb3JlZHVtcCkN
CisJCWdvdG8gZmFpbDsNCisNCisJbWVtY3B5KGNvcmVuYW1lLCJjb3JlLiIs
IDUpOw0KKyNpZiAwDQorCW1lbWNweShjb3JlbmFtZSs1LGN1cnJlbnQtPmNv
bW0sc2l6ZW9mKGN1cnJlbnQtPmNvbW0pKTsNCisjZWxzZQ0KKwljb3JlbmFt
ZVs0XSA9ICdcMCc7DQorI2VuZGlmDQorCWZpbGUgPSBmaWxwX29wZW4oY29y
ZW5hbWUsIE9fQ1JFQVQgfCAyIHwgT19UUlVOQyB8IE9fTk9GT0xMT1csIDA2
MDApOw0KKwlpZiAoSVNfRVJSKGZpbGUpKQ0KKwkJZ290byBmYWlsOw0KKwlk
ZW50cnkgPSBmaWxlLT5mX2RlbnRyeTsNCisJaW5vZGUgPSBkZW50cnktPmRf
aW5vZGU7DQorCWlmIChpbm9kZS0+aV9ubGluayA+IDEpDQorCQlnb3RvIGNs
b3NlX2ZhaWw7CS8qIG11bHRpcGxlIGxpbmtzIC0gZG9uJ3QgZHVtcCAqLw0K
Kw0KKwlpZiAoIVNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpDQorCQlnb3RvIGNs
b3NlX2ZhaWw7DQorCWlmICghaW5vZGUtPmlfb3AgfHwgIWlub2RlLT5pX29w
LT5kZWZhdWx0X2ZpbGVfb3BzKQ0KKwkJZ290byBjbG9zZV9mYWlsOw0KKwlp
ZiAoIWZpbGUtPmZfb3AtPndyaXRlKQ0KKwkJZ290byBjbG9zZV9mYWlsOw0K
KwlpZiAoIWJpbmZtdC0+Y29yZV9kdW1wKHNpZ25yLCByZWdzLCBmaWxlKSkN
CisJCWdvdG8gY2xvc2VfZmFpbDsNCisJZmlscF9jbG9zZShmaWxlLCBOVUxM
KTsNCisJdW5sb2NrX2tlcm5lbCgpOw0KKwlyZXR1cm4gMTsNCisNCitjbG9z
ZV9mYWlsOg0KKwlmaWxwX2Nsb3NlKGZpbGUsIE5VTEwpOw0KK2ZhaWw6DQor
CXVubG9ja19rZXJuZWwoKTsNCisJcmV0dXJuIDA7DQorfQ0KLS0tIGxpbnV4
L2ZzL2JpbmZtdF9lbGYuYy5vcmlnCVRodSBKdWwgMjIgMTI6MzU6NDMgMTk5
OQ0KKysrIGxpbnV4L2ZzL2JpbmZtdF9lbGYuYwlUaHUgSnVsIDIyIDEyOjQ2
OjA1IDE5OTkNCkBAIC01NCw3ICs1NCw3IEBADQogICogZG9uJ3QgZXZlbiB0
cnkuDQogICovDQogI2lmZGVmIFVTRV9FTEZfQ09SRV9EVU1QDQotc3RhdGlj
IGludCBlbGZfY29yZV9kdW1wKGxvbmcgc2lnbnIsIHN0cnVjdCBwdF9yZWdz
ICogcmVncyk7DQorc3RhdGljIGludCBlbGZfY29yZV9kdW1wKGxvbmcgc2ln
bnIsIHN0cnVjdCBwdF9yZWdzICogcmVncywgc3RydWN0IGZpbGUgKiBmaWxl
KTsNCiAjZWxzZQ0KICNkZWZpbmUgZWxmX2NvcmVfZHVtcAlOVUxMDQogI2Vu
ZGlmDQpAQCAtNjQsMTEgKzY0LDEzIEBADQogI2RlZmluZSBFTEZfUEFHRUFM
SUdOKF92KSAoKChfdikgKyBFTEZfRVhFQ19QQUdFU0laRSAtIDEpICYgfihF
TEZfRVhFQ19QQUdFU0laRSAtIDEpKQ0KIA0KIHN0YXRpYyBzdHJ1Y3QgbGlu
dXhfYmluZm10IGVsZl9mb3JtYXQgPSB7DQorCU5VTEwsDQogI2lmbmRlZiBN
T0RVTEUNCi0JTlVMTCwgTlVMTCwgbG9hZF9lbGZfYmluYXJ5LCBsb2FkX2Vs
Zl9saWJyYXJ5LCBlbGZfY29yZV9kdW1wDQorCU5VTEwsDQogI2Vsc2UNCi0J
TlVMTCwgJl9fdGhpc19tb2R1bGUsIGxvYWRfZWxmX2JpbmFyeSwgbG9hZF9l
bGZfbGlicmFyeSwgZWxmX2NvcmVfZHVtcA0KKwkmX190aGlzX21vZHVsZSwN
CiAjZW5kaWYNCisJbG9hZF9lbGZfYmluYXJ5LCBsb2FkX2VsZl9saWJyYXJ5
LCBlbGZfY29yZV9kdW1wLCBFTEZfRVhFQ19QQUdFU0laRQ0KIH07DQogDQog
c3RhdGljIHZvaWQgc2V0X2Jyayh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNp
Z25lZCBsb25nIGVuZCkNCkBAIC0xMDI2LDEwICsxMDI4LDEwIEBADQogDQog
I2RlZmluZSBEVU1QX1dSSVRFKGFkZHIsIG5yKQlcDQogCWlmICghZHVtcF93
cml0ZShmaWxlLCAoYWRkciksIChucikpKSBcDQotCQlnb3RvIGNsb3NlX2Nv
cmVkdW1wOw0KKwkJZ290byBlbmRfY29yZWR1bXA7DQogI2RlZmluZSBEVU1Q
X1NFRUsob2ZmKQlcDQogCWlmICghZHVtcF9zZWVrKGZpbGUsIChvZmYpKSkg
XA0KLQkJZ290byBjbG9zZV9jb3JlZHVtcDsNCisJCWdvdG8gZW5kX2NvcmVk
dW1wOw0KIC8qDQogICogQWN0dWFsIGR1bXBlcg0KICAqDQpAQCAtMTAzNywx
NCArMTAzOSwxMCBAQA0KICAqIGFuZCB0aGVuIHRoZXkgYXJlIGFjdHVhbGx5
IHdyaXR0ZW4gb3V0LiAgSWYgd2UgcnVuIG91dCBvZiBjb3JlIGxpbWl0DQog
ICogd2UganVzdCB0cnVuY2F0ZS4NCiAgKi8NCi1zdGF0aWMgaW50IGVsZl9j
b3JlX2R1bXAobG9uZyBzaWduciwgc3RydWN0IHB0X3JlZ3MgKiByZWdzKQ0K
K3N0YXRpYyBpbnQgZWxmX2NvcmVfZHVtcChsb25nIHNpZ25yLCBzdHJ1Y3Qg
cHRfcmVncyAqIHJlZ3MsIHN0cnVjdCBmaWxlICogZmlsZSkNCiB7DQogCWlu
dCBoYXNfZHVtcGVkID0gMDsNCi0Jc3RydWN0IGZpbGUgKmZpbGU7DQotCXN0
cnVjdCBkZW50cnkgKmRlbnRyeTsNCi0Jc3RydWN0IGlub2RlICppbm9kZTsN
CiAJbW1fc2VnbWVudF90IGZzOw0KLQljaGFyIGNvcmVmaWxlWzYrc2l6ZW9m
KGN1cnJlbnQtPmNvbW0pXTsNCiAJaW50IHNlZ3M7DQogCWludCBpOw0KIAlz
aXplX3Qgc2l6ZTsNCkBAIC0xMDU4LDEyICsxMDU2LDYgQEANCiAJZWxmX2Zw
cmVnc2V0X3QgZnB1OwkJLyogTlRfUFJGUFJFRyAqLw0KIAlzdHJ1Y3QgZWxm
X3BycHNpbmZvIHBzaW5mbzsJLyogTlRfUFJQU0lORk8gKi8NCiANCi0JaWYg
KCFjdXJyZW50LT5kdW1wYWJsZSB8fA0KLQkgICAgbGltaXQgPCBFTEZfRVhF
Q19QQUdFU0laRSB8fA0KLQkgICAgYXRvbWljX3JlYWQoJmN1cnJlbnQtPm1t
LT5tbV91c2VycykgIT0gMSkNCi0JCXJldHVybiAwOw0KLQljdXJyZW50LT5k
dW1wYWJsZSA9IDA7DQotDQogI2lmbmRlZiBDT05GSUdfQklORk1UX0VMRg0K
IAlNT0RfSU5DX1VTRV9DT1VOVDsNCiAjZW5kaWYNCkBAIC0xMTEyLDI3ICsx
MTA0LDYgQEANCiAJZnMgPSBnZXRfZnMoKTsNCiAJc2V0X2ZzKEtFUk5FTF9E
Uyk7DQogDQotCW1lbWNweShjb3JlZmlsZSwiY29yZS4iLDUpOw0KLSNpZiAw
DQotCW1lbWNweShjb3JlZmlsZSs1LGN1cnJlbnQtPmNvbW0sc2l6ZW9mKGN1
cnJlbnQtPmNvbW0pKTsNCi0jZWxzZQ0KLQljb3JlZmlsZVs0XSA9ICdcMCc7
DQotI2VuZGlmDQotCWZpbGUgPSBmaWxwX29wZW4oY29yZWZpbGUsIE9fQ1JF
QVQgfCAyIHwgT19UUlVOQyB8IE9fTk9GT0xMT1csIDA2MDApOw0KLQlpZiAo
SVNfRVJSKGZpbGUpKQ0KLQkJZ290byBlbmRfY29yZWR1bXA7DQotCWRlbnRy
eSA9IGZpbGUtPmZfZGVudHJ5Ow0KLQlpbm9kZSA9IGRlbnRyeS0+ZF9pbm9k
ZTsNCi0JaWYgKGlub2RlLT5pX25saW5rID4gMSkNCi0JCWdvdG8gY2xvc2Vf
Y29yZWR1bXA7CS8qIG11bHRpcGxlIGxpbmtzIC0gZG9uJ3QgZHVtcCAqLw0K
LQ0KLQlpZiAoIVNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpDQotCQlnb3RvIGNs
b3NlX2NvcmVkdW1wOw0KLQlpZiAoIWlub2RlLT5pX29wIHx8ICFpbm9kZS0+
aV9vcC0+ZGVmYXVsdF9maWxlX29wcykNCi0JCWdvdG8gY2xvc2VfY29yZWR1
bXA7DQotCWlmICghZmlsZS0+Zl9vcC0+d3JpdGUpDQotCQlnb3RvIGNsb3Nl
X2NvcmVkdW1wOw0KLQ0KIAloYXNfZHVtcGVkID0gMTsNCiAJY3VycmVudC0+
ZmxhZ3MgfD0gUEZfRFVNUENPUkU7DQogDQpAQCAtMTI4OSw3ICsxMjYwLDcg
QEANCiANCiAJZm9yKGkgPSAwOyBpIDwgbnVtbm90ZTsgaSsrKQ0KIAkJaWYg
KCF3cml0ZW5vdGUoJm5vdGVzW2ldLCBmaWxlKSkNCi0JCQlnb3RvIGNsb3Nl
X2NvcmVkdW1wOw0KKwkJCWdvdG8gZW5kX2NvcmVkdW1wOw0KIA0KIAlzZXRf
ZnMoZnMpOw0KIA0KQEAgLTEzMTUsOSArMTI4Niw2IEBADQogCQlwcmludGso
ImVsZl9jb3JlX2R1bXA6IGZpbGUtPmZfcG9zICglbGQpICE9IG9mZnNldCAo
JWxkKVxuIiwNCiAJCSAgICAgICAob2ZmX3QpIGZpbGUtPmZfcG9zLCBvZmZz
ZXQpOw0KIAl9DQotDQotIGNsb3NlX2NvcmVkdW1wOg0KLSAJZmlscF9jbG9z
ZShmaWxlLCBOVUxMKTsNCiANCiAgZW5kX2NvcmVkdW1wOg0KIAlzZXRfZnMo
ZnMpOw0KLS0tIGxpbnV4L2ZzL2JpbmZtdF9lbTg2LmMub3JpZwlXZWQgSnVu
ICAyIDIyOjQ5OjU1IDE5OTkNCisrKyBsaW51eC9mcy9iaW5mbXRfZW04Ni5j
CVRodSBKdWwgMjIgMTI6MzY6MzEgMTk5OQ0KQEAgLTEwNSwxMSArMTA1LDEz
IEBADQogfQ0KIA0KIHN0cnVjdCBsaW51eF9iaW5mbXQgZW04Nl9mb3JtYXQg
PSB7DQorCU5VTEwsDQogI2lmbmRlZiBNT0RVTEUNCi0JTlVMTCwgMCwgbG9h
ZF9lbTg2LCBOVUxMLCBOVUxMDQorCU5VTEwsDQogI2Vsc2UNCi0JTlVMTCwg
Jl9fdGhpc19tb2R1bGUsIGxvYWRfZW04NiwgTlVMTCwgTlVMTA0KKwkmX190
aGlzX21vZHVsZSwNCiAjZW5kaWYNCisJbG9hZF9lbTg2LCBOVUxMLCBOVUxM
LCAwDQogfTsNCiANCiBpbnQgX19pbml0IGluaXRfZW04Nl9iaW5mbXQodm9p
ZCkNCi0tLSBsaW51eC9mcy9iaW5mbXRfbWlzYy5jLm9yaWcJV2VkIEp1biAg
MiAyMjo1MDowMSAxOTk5DQorKysgbGludXgvZnMvYmluZm10X21pc2MuYwlU
aHUgSnVsIDIyIDEyOjM2OjMxIDE5OTkNCkBAIC02NCwxMSArNjQsMTMgQEAN
CiBzdGF0aWMgaW50IGVudHJ5X3Byb2Nfc2V0dXAoc3RydWN0IGJpbmZtdF9l
bnRyeSAqZSk7DQogDQogc3RhdGljIHN0cnVjdCBsaW51eF9iaW5mbXQgbWlz
Y19mb3JtYXQgPSB7DQorCU5VTEwsDQogI2lmbmRlZiBNT0RVTEUNCi0JTlVM
TCwgMCwgbG9hZF9taXNjX2JpbmFyeSwgTlVMTCwgTlVMTA0KKwlOVUxMLA0K
ICNlbHNlDQotCU5VTEwsICZfX3RoaXNfbW9kdWxlLCBsb2FkX21pc2NfYmlu
YXJ5LCBOVUxMLCBOVUxMDQorCSZfX3RoaXNfbW9kdWxlLA0KICNlbmRpZg0K
Kwlsb2FkX21pc2NfYmluYXJ5LCBOVUxMLCBOVUxMLCAwDQogfTsNCiANCiBz
dGF0aWMgc3RydWN0IHByb2NfZGlyX2VudHJ5ICpibV9kaXIgPSBOVUxMOw0K
LS0tIGxpbnV4L2ZzL2JpbmZtdF9zY3JpcHQuYy5vcmlnCVdlZCBKdW4gIDIg
MjI6NTA6MDQgMTk5OQ0KKysrIGxpbnV4L2ZzL2JpbmZtdF9zY3JpcHQuYwlU
aHUgSnVsIDIyIDEyOjM2OjMxIDE5OTkNCkBAIC0xMDEsMTEgKzEwMSwxMyBA
QA0KIH0NCiANCiBzdHJ1Y3QgbGludXhfYmluZm10IHNjcmlwdF9mb3JtYXQg
PSB7DQorCU5VTEwsDQogI2lmbmRlZiBNT0RVTEUNCi0JTlVMTCwgMCwgbG9h
ZF9zY3JpcHQsIE5VTEwsIE5VTEwNCisJTlVMTCwNCiAjZWxzZQ0KLQlOVUxM
LCAmX190aGlzX21vZHVsZSwgbG9hZF9zY3JpcHQsIE5VTEwsIE5VTEwNCisJ
Jl9fdGhpc19tb2R1bGUsDQogI2VuZGlmDQorCWxvYWRfc2NyaXB0LCBOVUxM
LCBOVUxMLCAwDQogfTsNCiANCiBpbnQgX19pbml0IGluaXRfc2NyaXB0X2Jp
bmZtdCh2b2lkKQ0KLS0tIGxpbnV4L2luY2x1ZGUvbGludXgvYmluZm10cy5o
Lm9yaWcJV2VkIEp1bCAgNyAxODoyMDo0MSAxOTk5DQorKysgbGludXgvaW5j
bHVkZS9saW51eC9iaW5mbXRzLmgJVGh1IEp1bCAyMiAxMjo0NDo1NyAxOTk5
DQpAQCAtMzgsNyArMzgsOCBAQA0KIAlzdHJ1Y3QgbW9kdWxlICptb2R1bGU7
DQogCWludCAoKmxvYWRfYmluYXJ5KShzdHJ1Y3QgbGludXhfYmlucHJtICos
IHN0cnVjdCAgcHRfcmVncyAqIHJlZ3MpOw0KIAlpbnQgKCpsb2FkX3NobGli
KShpbnQgZmQpOw0KLQlpbnQgKCpjb3JlX2R1bXApKGxvbmcgc2lnbnIsIHN0
cnVjdCBwdF9yZWdzICogcmVncyk7DQorCWludCAoKmNvcmVfZHVtcCkobG9u
ZyBzaWduciwgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBzdHJ1Y3QgZmlsZSAq
IGZpbGUpOw0KKwl1bnNpZ25lZCBsb25nIG1pbl9jb3JlZHVtcDsJLyogbWlu
aW1hbCBkdW1wIHNpemUgKi8NCiB9Ow0KIA0KIGV4dGVybiBpbnQgcmVnaXN0
ZXJfYmluZm10KHN0cnVjdCBsaW51eF9iaW5mbXQgKik7DQpAQCAtNjYsNiAr
NjcsNyBAQA0KIGV4dGVybiBpbnQgY29weV9zdHJpbmdzKGludCBhcmdjLGNo
YXIgKiogYXJndixzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKTsgDQogZXh0
ZXJuIGludCBjb3B5X3N0cmluZ3Nfa2VybmVsKGludCBhcmdjLGNoYXIgKiog
YXJndixzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKTsNCiBleHRlcm4gdm9p
ZCBjb21wdXRlX2NyZWRzKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJpbnBybSk7
DQorZXh0ZXJuIGludCBkb19jb3JlZHVtcChsb25nIHNpZ25yLCBzdHJ1Y3Qg
cHRfcmVncyAqIHJlZ3MpOw0KIA0KIA0KICNpZiAwDQotLS0gbGludXgvYXJj
aC9pMzg2L2tlcm5lbC9zaWduYWwuYy5vcmlnCVRodSBKdWwgMjIgMTI6MzU6
NDIgMTk5OQ0KKysrIGxpbnV4L2FyY2gvaTM4Ni9rZXJuZWwvc2lnbmFsLmMJ
VGh1IEp1bCAyMiAxMjozNjozMSAxOTk5DQpAQCAtNjg3LDEyICs2ODcsOCBA
QA0KIA0KIAkJCWNhc2UgU0lHUVVJVDogY2FzZSBTSUdJTEw6IGNhc2UgU0lH
VFJBUDoNCiAJCQljYXNlIFNJR0FCUlQ6IGNhc2UgU0lHRlBFOiBjYXNlIFNJ
R1NFR1Y6DQotCQkJCWxvY2tfa2VybmVsKCk7DQotCQkJCWlmIChjdXJyZW50
LT5iaW5mbXQNCi0JCQkJICAgICYmIGN1cnJlbnQtPmJpbmZtdC0+Y29yZV9k
dW1wDQotCQkJCSAgICAmJiBjdXJyZW50LT5iaW5mbXQtPmNvcmVfZHVtcChz
aWduciwgcmVncykpDQorCQkJCWlmIChkb19jb3JlZHVtcChzaWduciwgcmVn
cykpDQogCQkJCQlleGl0X2NvZGUgfD0gMHg4MDsNCi0JCQkJdW5sb2NrX2tl
cm5lbCgpOw0KIAkJCQkvKiBGQUxMVEhSVSAqLw0KIA0KIAkJCWRlZmF1bHQ6
DQotLS0gbGludXgvYXJjaC9hbHBoYS9rZXJuZWwvc2lnbmFsLmMub3JpZwlU
dWUgSnVsICA2IDA1OjM1OjE3IDE5OTkNCisrKyBsaW51eC9hcmNoL2FscGhh
L2tlcm5lbC9zaWduYWwuYwlUaHUgSnVsIDIyIDEyOjM2OjMwIDE5OTkNCkBA
IC02ODgsMTIgKzY4OCw4IEBADQogDQogCQkJY2FzZSBTSUdRVUlUOiBjYXNl
IFNJR0lMTDogY2FzZSBTSUdUUkFQOg0KIAkJCWNhc2UgU0lHQUJSVDogY2Fz
ZSBTSUdGUEU6IGNhc2UgU0lHU0VHVjoNCi0JCQkJbG9ja19rZXJuZWwoKTsN
Ci0JCQkJaWYgKGN1cnJlbnQtPmJpbmZtdA0KLQkJCQkgICAgJiYgY3VycmVu
dC0+YmluZm10LT5jb3JlX2R1bXANCi0JCQkJICAgICYmIGN1cnJlbnQtPmJp
bmZtdC0+Y29yZV9kdW1wKHNpZ25yLCByZWdzKSkNCisJCQkJaWYgKGRvX2Nv
cmVkdW1wKHNpZ25yLCByZWdzKSkNCiAJCQkJCWV4aXRfY29kZSB8PSAweDgw
Ow0KLQkJCQl1bmxvY2tfa2VybmVsKCk7DQogCQkJCS8qIEZBTExUSFJVICov
DQogDQogCQkJZGVmYXVsdDoNCi0tLSBsaW51eC9hcmNoL3NwYXJjL2tlcm5l
bC9zaWduYWwuYy5vcmlnCVRodSBKdW4gMTcgMTA6MDg6NTAgMTk5OQ0KKysr
IGxpbnV4L2FyY2gvc3BhcmMva2VybmVsL3NpZ25hbC5jCVRodSBKdWwgMjIg
MTI6MzY6MzEgMTk5OQ0KQEAgLTExNjAsMTQgKzExNjAsOCBAQA0KIA0KIAkJ
CWNhc2UgU0lHUVVJVDogY2FzZSBTSUdJTEw6IGNhc2UgU0lHVFJBUDoNCiAJ
CQljYXNlIFNJR0FCUlQ6IGNhc2UgU0lHRlBFOiBjYXNlIFNJR1NFR1Y6IGNh
c2UgU0lHQlVTOg0KLQkJCQlpZihjdXJyZW50LT5iaW5mbXQgJiYgY3VycmVu
dC0+YmluZm10LT5jb3JlX2R1bXApIHsNCi0JCQkJCWxvY2tfa2VybmVsKCk7
DQotCQkJCQlpZihjdXJyZW50LT5iaW5mbXQgJiYNCi0JCQkJCSAgIGN1cnJl
bnQtPmJpbmZtdC0+Y29yZV9kdW1wICYmDQotCQkJCQkgICBjdXJyZW50LT5i
aW5mbXQtPmNvcmVfZHVtcChzaWduciwgcmVncykpDQotCQkJCQkJZXhpdF9j
b2RlIHw9IDB4ODA7DQotCQkJCQl1bmxvY2tfa2VybmVsKCk7DQotCQkJCX0N
CisJCQkJaWYgKGRvX2NvcmVkdW1wKHNpZ25yLCByZWdzKSkNCisJCQkJCWV4
aXRfY29kZSB8PSAweDgwOw0KICNpZmRlZiBERUJVR19TSUdOQUxTDQogCQkJ
CS8qIFZlcnkgdXNlZnVsIHRvIGRlYnVnIGR5bmFtaWMgbGlua2VyIHByb2Js
ZW1zICovDQogCQkJCXByaW50ayAoIlNpZyAlbGQgZ29pbmcgZm9yICVzWyVk
XS4uLlxuIiwgc2lnbnIsIGN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCk7
DQotLS0gbGludXgvYXJjaC9taXBzL2tlcm5lbC9pcml4ZWxmLmMub3JpZwlU
aHUgSnVsIDIyIDEyOjM1OjQyIDE5OTkNCisrKyBsaW51eC9hcmNoL21pcHMv
a2VybmVsL2lyaXhlbGYuYwlUaHUgSnVsIDIyIDEyOjM2OjMxIDE5OTkNCkBA
IC00OCwxMSArNDgsMTMgQEANCiBleHRlcm4gaW50IGR1bXBfZnB1IChlbGZf
ZnByZWdzZXRfdCAqKTsNCiANCiBzdGF0aWMgc3RydWN0IGxpbnV4X2JpbmZt
dCBpcml4X2Zvcm1hdCA9IHsNCisJTlVMTCwNCiAjaWZuZGVmIE1PRFVMRQ0K
LQlOVUxMLCBOVUxMLCBsb2FkX2lyaXhfYmluYXJ5LCBsb2FkX2lyaXhfbGli
cmFyeSwgaXJpeF9jb3JlX2R1bXANCisJTlVMTCwNCiAjZWxzZQ0KLQlOVUxM
LCAmX190aGlzX21vZHVsZS51c2Vjb3VudCwgbG9hZF9pcml4X2JpbmFyeSwg
bG9hZF9pcml4X2xpYnJhcnksIGlyaXhfY29yZV9kdW1wDQorCSZfX3RoaXNf
bW9kdWxlLnVzZWNvdW50LA0KICNlbmRpZg0KKwlsb2FkX2lyaXhfYmluYXJ5
LCBsb2FkX2lyaXhfbGlicmFyeSwgaXJpeF9jb3JlX2R1bXAsIFBBR0VfU0la
RQ0KIH07DQogDQogI2lmbmRlZiBlbGZfYWRkcl90DQpAQCAtMTEwNSwyNCAr
MTEwNywyMCBAQA0KIA0KICNkZWZpbmUgRFVNUF9XUklURShhZGRyLCBucikJ
XA0KIAlpZiAoIWR1bXBfd3JpdGUoZmlsZSwgKGFkZHIpLCAobnIpKSkgXA0K
LQkJZ290byBjbG9zZV9jb3JlZHVtcDsNCisJCWdvdG8gZW5kX2NvcmVkdW1w
Ow0KICNkZWZpbmUgRFVNUF9TRUVLKG9mZikJXA0KIAlpZiAoIWR1bXBfc2Vl
ayhmaWxlLCAob2ZmKSkpIFwNCi0JCWdvdG8gY2xvc2VfY29yZWR1bXA7DQor
CQlnb3RvIGVuZF9jb3JlZHVtcDsNCiAvKiBBY3R1YWwgZHVtcGVyLg0KICAq
DQogICogVGhpcyBpcyBhIHR3by1wYXNzIHByb2Nlc3M7IGZpcnN0IHdlIGZp
bmQgdGhlIG9mZnNldHMgb2YgdGhlIGJpdHMsDQogICogYW5kIHRoZW4gdGhl
eSBhcmUgYWN0dWFsbHkgd3JpdHRlbiBvdXQuICBJZiB3ZSBydW4gb3V0IG9m
IGNvcmUgbGltaXQNCiAgKiB3ZSBqdXN0IHRydW5jYXRlLg0KICAqLw0KLXN0
YXRpYyBpbnQgaXJpeF9jb3JlX2R1bXAobG9uZyBzaWduciwgc3RydWN0IHB0
X3JlZ3MgKiByZWdzKQ0KK3N0YXRpYyBpbnQgaXJpeF9jb3JlX2R1bXAobG9u
ZyBzaWduciwgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBzdHJ1Y3QgZmlsZSAq
ZmlsZSkNCiB7DQogCWludCBoYXNfZHVtcGVkID0gMDsNCi0Jc3RydWN0IGZp
bGUgKmZpbGU7DQotCXN0cnVjdCBkZW50cnkgKmRlbnRyeTsNCi0Jc3RydWN0
IGlub2RlICppbm9kZTsNCiAJbW1fc2VnbWVudF90IGZzOw0KLQljaGFyIGNv
cmVmaWxlWzYrc2l6ZW9mKGN1cnJlbnQtPmNvbW0pXTsNCiAJaW50IHNlZ3M7
DQogCWludCBpOw0KIAlzaXplX3Qgc2l6ZTsNCkBAIC0xMTM1LDEwICsxMTMz
LDYgQEANCiAJc3RydWN0IGVsZl9wcnN0YXR1cyBwcnN0YXR1czsJLyogTlRf
UFJTVEFUVVMgKi8NCiAJZWxmX2ZwcmVnc2V0X3QgZnB1OwkJLyogTlRfUFJG
UFJFRyAqLw0KIAlzdHJ1Y3QgZWxmX3BycHNpbmZvIHBzaW5mbzsJLyogTlRf
UFJQU0lORk8gKi8NCi0JDQotCWlmICghY3VycmVudC0+ZHVtcGFibGUgfHwg
bGltaXQgPCBQQUdFX1NJWkUpDQotCQlyZXR1cm4gMDsNCi0JY3VycmVudC0+
ZHVtcGFibGUgPSAwOw0KIA0KICNpZm5kZWYgQ09ORklHX0JJTkZNVF9JUklY
DQogCU1PRF9JTkNfVVNFX0NPVU5UOw0KQEAgLTExODgsMjcgKzExODIsNiBA
QA0KIAlmcyA9IGdldF9mcygpOw0KIAlzZXRfZnMoS0VSTkVMX0RTKTsNCiAN
Ci0JbWVtY3B5KGNvcmVmaWxlLCJjb3JlLiIsIDUpOw0KLSNpZiAwDQotCW1l
bWNweShjb3JlZmlsZSs1LGN1cnJlbnQtPmNvbW0sc2l6ZW9mKGN1cnJlbnQt
PmNvbW0pKTsNCi0jZWxzZQ0KLQljb3JlZmlsZVs0XSA9ICdcMCc7DQotI2Vu
ZGlmDQotCWZpbGUgPSBmaWxwX29wZW4oY29yZWZpbGUsIE9fQ1JFQVQgfCAy
IHwgT19UUlVOQyB8IE9fTk9GT0xMT1csIDA2MDApOw0KLQlpZiAoSVNfRVJS
KGZpbGUpKQ0KLQkJZ290byBlbmRfY29yZWR1bXA7DQotCWRlbnRyeSA9IGZp
bGUtPmZfZGVudHJ5Ow0KLQlpbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsNCi0J
aWYgKGlub2RlLT5pX25saW5rID4gMSkNCi0JCWdvdG8gY2xvc2VfY29yZWR1
bXA7CS8qIG11bHRpcGxlIGxpbmtzIC0gZG9uJ3QgZHVtcCAqLw0KLQ0KLQlp
ZiAoIVNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpDQotCQlnb3RvIGNsb3NlX2Nv
cmVkdW1wOw0KLQlpZiAoIWlub2RlLT5pX29wIHx8ICFpbm9kZS0+aV9vcC0+
ZGVmYXVsdF9maWxlX29wcykNCi0JCWdvdG8gY2xvc2VfY29yZWR1bXA7DQot
CWlmICghZmlsZS0+Zl9vcC0+d3JpdGUpDQotCQlnb3RvIGNsb3NlX2NvcmVk
dW1wOw0KLQ0KIAloYXNfZHVtcGVkID0gMTsNCiAJY3VycmVudC0+ZmxhZ3Mg
fD0gUEZfRFVNUENPUkU7DQogDQpAQCAtMTM0NSw3ICsxMzE4LDcgQEANCiAN
CiAJZm9yKGkgPSAwOyBpIDwgbnVtbm90ZTsgaSsrKQ0KIAkJaWYgKCF3cml0
ZW5vdGUoJm5vdGVzW2ldLCBmaWxlKSkNCi0JCQlnb3RvIGNsb3NlX2NvcmVk
dW1wOw0KKwkJCWdvdG8gZW5kX2NvcmVkdW1wOw0KIAkNCiAJc2V0X2ZzKGZz
KTsNCiANCkBAIC0xMzcxLDkgKzEzNDQsNiBAQA0KIAkJcHJpbnRrKCJlbGZf
Y29yZV9kdW1wOiBmaWxlLT5mX3BvcyAoJWxkKSAhPSBvZmZzZXQgKCVsZClc
biIsDQogCQkgICAgICAgKG9mZl90KSBmaWxlLT5mX3Bvcywgb2Zmc2V0KTsN
CiAJfQ0KLQ0KLSBjbG9zZV9jb3JlZHVtcDoNCi0JZmlscF9jbG9zZShmaWxl
LCBOVUxMKTsNCiANCiAgZW5kX2NvcmVkdW1wOg0KIAlzZXRfZnMoZnMpOw0K
LS0tIGxpbnV4L2FyY2gvbWlwcy9rZXJuZWwvaXJpeHNpZy5jLm9yaWcJU2F0
IEp1biAyNiAwMjo0MDoxMiAxOTk5DQorKysgbGludXgvYXJjaC9taXBzL2tl
cm5lbC9pcml4c2lnLmMJVGh1IEp1bCAyMiAxMjozNjozMSAxOTk5DQpAQCAt
MjYxLDEyICsyNjEsOCBAQA0KIA0KIAkJCWNhc2UgU0lHUVVJVDogY2FzZSBT
SUdJTEw6IGNhc2UgU0lHVFJBUDoNCiAJCQljYXNlIFNJR0FCUlQ6IGNhc2Ug
U0lHRlBFOiBjYXNlIFNJR1NFR1Y6DQotCQkJCWxvY2tfa2VybmVsKCk7DQot
CQkJCWlmIChjdXJyZW50LT5iaW5mbXQNCi0JCQkJICAgICYmIGN1cnJlbnQt
PmJpbmZtdC0+Y29yZV9kdW1wDQotCQkJCSAgICAmJiBjdXJyZW50LT5iaW5m
bXQtPmNvcmVfZHVtcChzaWduciwgcmVncykpDQorCQkJCWlmIChkb19jb3Jl
ZHVtcChzaWduciwgcmVncykpDQogCQkJCQlleGl0X2NvZGUgfD0gMHg4MDsN
Ci0JCQkJdW5sb2NrX2tlcm5lbCgpOw0KIAkJCQkvKiBGQUxMVEhSVSAqLw0K
IA0KIAkJCWRlZmF1bHQ6DQotLS0gbGludXgvYXJjaC9taXBzL2tlcm5lbC9z
aWduYWwuYy5vcmlnCVNhdCBKdW4gMjYgMDI6NDA6MTIgMTk5OQ0KKysrIGxp
bnV4L2FyY2gvbWlwcy9rZXJuZWwvc2lnbmFsLmMJVGh1IEp1bCAyMiAxMjoz
NjozMSAxOTk5DQpAQCAtNDkzLDEyICs0OTMsOCBAQA0KIAkJCWNhc2UgU0lH
UVVJVDogY2FzZSBTSUdJTEw6IGNhc2UgU0lHVFJBUDoNCiAJCQljYXNlIFNJ
R0FCUlQ6IGNhc2UgU0lHRlBFOiBjYXNlIFNJR1NFR1Y6DQogCQkJY2FzZSBT
SUdCVVM6DQotCQkJCWxvY2tfa2VybmVsKCk7DQotCQkJCWlmIChjdXJyZW50
LT5iaW5mbXQNCi0JCQkJICAgICYmIGN1cnJlbnQtPmJpbmZtdC0+Y29yZV9k
dW1wDQotCQkJCSAgICAmJiBjdXJyZW50LT5iaW5mbXQtPmNvcmVfZHVtcChz
aWduciwgcmVncykpDQorCQkJCWlmIChkb19jb3JlZHVtcChzaWduciwgcmVn
cykpDQogCQkJCQlleGl0X2NvZGUgfD0gMHg4MDsNCi0JCQkJdW5sb2NrX2tl
cm5lbCgpOw0KIAkJCQkvKiBGQUxMVEhSVSAqLw0KIA0KIAkJCWRlZmF1bHQ6
DQotLS0gbGludXgvYXJjaC9wcGMva2VybmVsL3NpZ25hbC5jLm9yaWcJTW9u
IEp1biAyOCAyMjo0MDozOSAxOTk5DQorKysgbGludXgvYXJjaC9wcGMva2Vy
bmVsL3NpZ25hbC5jCVRodSBKdWwgMjIgMTI6MzY6MzEgMTk5OQ0KQEAgLTQ0
NCwxMiArNDQ0LDggQEANCiANCiAJCQljYXNlIFNJR1FVSVQ6IGNhc2UgU0lH
SUxMOiBjYXNlIFNJR1RSQVA6DQogCQkJY2FzZSBTSUdBQlJUOiBjYXNlIFNJ
R0ZQRTogY2FzZSBTSUdTRUdWOg0KLQkJCQlsb2NrX2tlcm5lbCgpOw0KLQkJ
CQlpZiAoY3VycmVudC0+YmluZm10DQotCQkJCSAgICAmJiBjdXJyZW50LT5i
aW5mbXQtPmNvcmVfZHVtcA0KLQkJCQkgICAgJiYgY3VycmVudC0+YmluZm10
LT5jb3JlX2R1bXAoc2lnbnIsIHJlZ3MpKQ0KKwkJCQlpZiAoZG9fY29yZWR1
bXAoc2lnbnIsIHJlZ3MpKQ0KIAkJCQkJZXhpdF9jb2RlIHw9IDB4ODA7DQot
CQkJCXVubG9ja19rZXJuZWwoKTsNCiAJCQkJLyogRkFMTFRIUlUgKi8NCiAN
CiAJCQlkZWZhdWx0Og0KLS0tIGxpbnV4L2FyY2gvbTY4ay9rZXJuZWwvc2ln
bmFsLmMub3JpZwlUaHUgSmFuICA3IDE3OjQxOjU1IDE5OTkNCisrKyBsaW51
eC9hcmNoL202OGsva2VybmVsL3NpZ25hbC5jCVRodSBKdWwgMjIgMTI6MzY6
MzEgMTk5OQ0KQEAgLTEwODQsOSArMTA4NCw3IEBADQogDQogCQkJY2FzZSBT
SUdRVUlUOiBjYXNlIFNJR0lMTDogY2FzZSBTSUdUUkFQOg0KIAkJCWNhc2Ug
U0lHSU9UOiBjYXNlIFNJR0ZQRTogY2FzZSBTSUdTRUdWOg0KLQkJCQlpZiAo
Y3VycmVudC0+YmluZm10DQotCQkJCSAgICAmJiBjdXJyZW50LT5iaW5mbXQt
PmNvcmVfZHVtcA0KLQkJCQkgICAgJiYgY3VycmVudC0+YmluZm10LT5jb3Jl
X2R1bXAoc2lnbnIsIHJlZ3MpKQ0KKwkJCQlpZiAoZG9fY29yZWR1bXAoc2ln
bnIsIHJlZ3MpKQ0KIAkJCQkJZXhpdF9jb2RlIHw9IDB4ODA7DQogCQkJCS8q
IEZBTExUSFJVICovDQogDQotLS0gbGludXgvYXJjaC9zcGFyYzY0L2tlcm5l
bC9iaW5mbXRfYW91dDMyLmMub3JpZwlGcmkgSnVsICAyIDAyOjMzOjEyIDE5
OTkNCisrKyBsaW51eC9hcmNoL3NwYXJjNjQva2VybmVsL2JpbmZtdF9hb3V0
MzIuYwlUaHUgSnVsIDIyIDEyOjM2OjMxIDE5OTkNCkBAIC0zOSw3ICszOSw4
IEBADQogZXh0ZXJuIHZvaWQgZHVtcF90aHJlYWQoc3RydWN0IHB0X3JlZ3Mg
Kiwgc3RydWN0IHVzZXIgKik7DQogDQogc3RhdGljIHN0cnVjdCBsaW51eF9i
aW5mbXQgYW91dDMyX2Zvcm1hdCA9IHsNCi0JTlVMTCwgTlVMTCwgbG9hZF9h
b3V0MzJfYmluYXJ5LCBsb2FkX2FvdXQzMl9saWJyYXJ5LCBhb3V0MzJfY29y
ZV9kdW1wDQorCU5VTEwsIE5VTEwsIGxvYWRfYW91dDMyX2JpbmFyeSwgbG9h
ZF9hb3V0MzJfbGlicmFyeSwgYW91dDMyX2NvcmVfZHVtcCwNCisJUEFHRV9T
SVpFDQogfTsNCiANCiBzdGF0aWMgdm9pZCBzZXRfYnJrKHVuc2lnbmVkIGxv
bmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQ0KQEAgLTYzLDEyICs2NCwx
MiBAQA0KIA0KICNkZWZpbmUgRFVNUF9XUklURShhZGRyLCBucikJXA0KIAlp
ZiAoIWR1bXBfd3JpdGUoZmlsZSwgKHZvaWQgKikoYWRkciksIChucikpKSBc
DQotCQlnb3RvIGNsb3NlX2NvcmVkdW1wOw0KKwkJZ290byBlbmRfY29yZWR1
bXA7DQogDQogI2RlZmluZSBEVU1QX1NFRUsob2Zmc2V0KSBcDQogaWYgKGZp
bGUtPmZfb3AtPmxsc2VlaykgeyBcDQogCWlmIChmaWxlLT5mX29wLT5sbHNl
ZWsoZmlsZSwob2Zmc2V0KSwwKSAhPSAob2Zmc2V0KSkgXA0KLSAJCWdvdG8g
Y2xvc2VfY29yZWR1bXA7IFwNCisgCQlnb3RvIGVuZF9jb3JlZHVtcDsgXA0K
IH0gZWxzZSBmaWxlLT5mX3BvcyA9IChvZmZzZXQpDQogDQogLyoNCkBAIC04
Miw0NSArODMsMTcgQEANCiAgKi8NCiANCiBzdGF0aWMgaW5saW5lIGludA0K
LWRvX2FvdXQzMl9jb3JlX2R1bXAobG9uZyBzaWduciwgc3RydWN0IHB0X3Jl
Z3MgKiByZWdzKQ0KK2RvX2FvdXQzMl9jb3JlX2R1bXAobG9uZyBzaWduciwg
c3RydWN0IHB0X3JlZ3MgKiByZWdzLCBzdHJ1Y3QgZmlsZSAqZmlsZSkNCiB7
DQotCXN0cnVjdCBkZW50cnkgKiBkZW50cnkgPSBOVUxMOw0KLQlzdHJ1Y3Qg
aW5vZGUgKiBpbm9kZSA9IE5VTEw7DQotCXN0cnVjdCBmaWxlICogZmlsZTsN
CiAJbW1fc2VnbWVudF90IGZzOw0KIAlpbnQgaGFzX2R1bXBlZCA9IDA7DQot
CWNoYXIgY29yZWZpbGVbNitzaXplb2YoY3VycmVudC0+Y29tbSldOw0KIAl1
bnNpZ25lZCBsb25nIGR1bXBfc3RhcnQsIGR1bXBfc2l6ZTsNCiAJc3RydWN0
IHVzZXIgZHVtcDsNCiAjICAgICAgIGRlZmluZSBTVEFSVF9EQVRBKHUpICAg
ICh1LnVfdHNpemUpDQogIyAgICAgICBkZWZpbmUgU1RBUlRfU1RBQ0sodSkg
ICAoKHJlZ3MtPnVfcmVnc1tVUkVHX0ZQXSkgJiB+KFBBR0VfU0laRSAtIDEp
KQ0KIA0KLQlpZiAoIWN1cnJlbnQtPmR1bXBhYmxlIHx8IGF0b21pY19yZWFk
KCZjdXJyZW50LT5tbS0+Y291bnQpICE9IDEpDQotCQlyZXR1cm4gMDsNCi0J
Y3VycmVudC0+ZHVtcGFibGUgPSAwOw0KLQ0KLS8qIFNlZSBpZiB3ZSBoYXZl
IGVub3VnaCByb29tIHRvIHdyaXRlIHRoZSB1cGFnZS4gICovDQotCWlmIChj
dXJyZW50LT5ybGltW1JMSU1JVF9DT1JFXS5ybGltX2N1ciA8IFBBR0VfU0la
RSkNCi0JCXJldHVybiAwOw0KIAlmcyA9IGdldF9mcygpOw0KIAlzZXRfZnMo
S0VSTkVMX0RTKTsNCi0JbWVtY3B5KGNvcmVmaWxlLCJjb3JlLiIsNSk7DQot
I2lmIDANCi0JbWVtY3B5KGNvcmVmaWxlKzUsY3VycmVudC0+Y29tbSxzaXpl
b2YoY3VycmVudC0+Y29tbSkpOw0KLSNlbHNlDQotCWNvcmVmaWxlWzRdID0g
J1wwJzsNCi0jZW5kaWYNCi0JZmlsZSA9IGZpbHBfb3Blbihjb3JlZmlsZSxP
X0NSRUFUIHwgMiB8IE9fVFJVTkMgfCBPX05PRk9MTE9XLCAwNjAwKTsNCi0J
aWYgKElTX0VSUihmaWxlKSkNCi0JCWdvdG8gZW5kX2NvcmVkdW1wOw0KLQlk
ZW50cnkgPSBmaWxlLT5mX2RlbnRyeTsNCi0JaW5vZGUgPSBkZW50cnktPmRf
aW5vZGU7DQotCWlmICghU19JU1JFRyhpbm9kZS0+aV9tb2RlKSkNCi0JCWdv
dG8gY2xvc2VfY29yZWR1bXA7DQotCWlmICghaW5vZGUtPmlfb3AgfHwgIWlu
b2RlLT5pX29wLT5kZWZhdWx0X2ZpbGVfb3BzKQ0KLQkJZ290byBjbG9zZV9j
b3JlZHVtcDsNCi0JaWYgKCFmaWxlLT5mX29wLT53cml0ZSkNCi0JCWdvdG8g
Y2xvc2VfY29yZWR1bXA7DQogCWhhc19kdW1wZWQgPSAxOw0KIAljdXJyZW50
LT5mbGFncyB8PSBQRl9EVU1QQ09SRTsNCiAgICAgICAgCXN0cm5jcHkoZHVt
cC51X2NvbW0sIGN1cnJlbnQtPmNvbW0sIHNpemVvZihjdXJyZW50LT5jb21t
KSk7DQpAQCAtMTY1LDIwICsxMzgsMTggQEANCiAvKiBGaW5hbGx5IGR1bXAg
dGhlIHRhc2sgc3RydWN0LiAgTm90IGJlIHVzZWQgYnkgZ2RiLCBidXQgY291
bGQgYmUgdXNlZnVsICovDQogCXNldF9mcyhLRVJORUxfRFMpOw0KIAlEVU1Q
X1dSSVRFKGN1cnJlbnQsc2l6ZW9mKCpjdXJyZW50KSk7DQotY2xvc2VfY29y
ZWR1bXA6DQotCWZpbHBfY2xvc2UoZmlsZSwgTlVMTCk7DQogZW5kX2NvcmVk
dW1wOg0KIAlzZXRfZnMoZnMpOw0KIAlyZXR1cm4gaGFzX2R1bXBlZDsNCiB9
DQogDQogc3RhdGljIGludA0KLWFvdXQzMl9jb3JlX2R1bXAobG9uZyBzaWdu
ciwgc3RydWN0IHB0X3JlZ3MgKiByZWdzKQ0KK2FvdXQzMl9jb3JlX2R1bXAo
bG9uZyBzaWduciwgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBzdHJ1Y3QgZmls
ZSAqIGZpbGUpDQogew0KIAlpbnQgcmV0dmFsOw0KIA0KIAlNT0RfSU5DX1VT
RV9DT1VOVDsNCi0JcmV0dmFsID0gZG9fYW91dDMyX2NvcmVfZHVtcChzaWdu
ciwgcmVncyk7DQorCXJldHZhbCA9IGRvX2FvdXQzMl9jb3JlX2R1bXAoc2ln
bnIsIHJlZ3MsIGZpbGUpOw0KIAlNT0RfREVDX1VTRV9DT1VOVDsNCiAJcmV0
dXJuIHJldHZhbDsNCiB9DQotLS0gbGludXgvYXJjaC9zcGFyYzY0L2tlcm5l
bC9zaWduYWwuYy5vcmlnCVRodSBKdW4gMTcgMTA6MDg6NTAgMTk5OQ0KKysr
IGxpbnV4L2FyY2gvc3BhcmM2NC9rZXJuZWwvc2lnbmFsLmMJVGh1IEp1bCAy
MiAxMjozNjozMSAxOTk5DQpAQCAtODY2LDEyICs4NjYsOCBAQA0KIA0KIAkJ
CWNhc2UgU0lHUVVJVDogY2FzZSBTSUdJTEw6IGNhc2UgU0lHVFJBUDoNCiAJ
CQljYXNlIFNJR0FCUlQ6IGNhc2UgU0lHRlBFOiBjYXNlIFNJR1NFR1Y6IGNh
c2UgU0lHQlVTOg0KLQkJCQlpZihjdXJyZW50LT5iaW5mbXQgJiYgY3VycmVu
dC0+YmluZm10LT5jb3JlX2R1bXApIHsNCi0JCQkJCWxvY2tfa2VybmVsKCk7
DQotCQkJCQlpZihjdXJyZW50LT5iaW5mbXQtPmNvcmVfZHVtcChzaWduciwg
cmVncykpDQotCQkJCQkJZXhpdF9jb2RlIHw9IDB4ODA7DQotCQkJCQl1bmxv
Y2tfa2VybmVsKCk7DQotCQkJCX0NCisJCQkJaWYgKGRvX2NvcmVkdW1wKHNp
Z25yLCByZWdzKSkNCisJCQkJCWV4aXRfY29kZSB8PSAweDgwOw0KICNpZmRl
ZiBERUJVR19TSUdOQUxTDQogCQkJCS8qIFZlcnkgdXNlZnVsIHRvIGRlYnVn
IHRoZSBkeW5hbWljIGxpbmtlciAqLw0KIAkJCQlwcmludGsgKCJTaWcgJWQg
Z29pbmcuLi5cbiIsIChpbnQpc2lnbnIpOw0KLS0tIGxpbnV4L2FyY2gvc3Bh
cmM2NC9rZXJuZWwvc2lnbmFsMzIuYy5vcmlnCVRodSBKdW4gMTcgMTA6MDg6
NTAgMTk5OQ0KKysrIGxpbnV4L2FyY2gvc3BhcmM2NC9rZXJuZWwvc2lnbmFs
MzIuYwlUaHUgSnVsIDIyIDEyOjM2OjMxIDE5OTkNCkBAIC0xMjkxLDE0ICsx
MjkxLDggQEANCiANCiAJCQljYXNlIFNJR1FVSVQ6IGNhc2UgU0lHSUxMOiBj
YXNlIFNJR1RSQVA6DQogCQkJY2FzZSBTSUdBQlJUOiBjYXNlIFNJR0ZQRTog
Y2FzZSBTSUdTRUdWOiBjYXNlIFNJR0JVUzoNCi0JCQkJaWYoY3VycmVudC0+
YmluZm10ICYmIGN1cnJlbnQtPmJpbmZtdC0+Y29yZV9kdW1wKSB7DQotCQkJ
CQlsb2NrX2tlcm5lbCgpOw0KLQkJCQkJaWYoY3VycmVudC0+YmluZm10ICYm
DQotCQkJCQkgICBjdXJyZW50LT5iaW5mbXQtPmNvcmVfZHVtcCAmJg0KLQkJ
CQkJICAgY3VycmVudC0+YmluZm10LT5jb3JlX2R1bXAoc2lnbnIsIHJlZ3Mp
KQ0KLQkJCQkJCWV4aXRfY29kZSB8PSAweDgwOw0KLQkJCQkJdW5sb2NrX2tl
cm5lbCgpOw0KLQkJCQl9DQorCQkJCWlmIChkb19jb3JlZHVtcChzaWduciwg
cmVncykpDQorCQkJCQlleGl0X2NvZGUgfD0gMHg4MDsNCiAjaWZkZWYgREVC
VUdfU0lHTkFMUw0KIAkJCQkvKiBWZXJ5IHVzZWZ1bCB0byBkZWJ1ZyBkeW5h
bWljIGxpbmtlciBwcm9ibGVtcyAqLw0KIAkJCQlwcmludGsgKCJTaWcgJWxk
IGdvaW5nIGZvciAlc1slZF0uLi5cbiIsIHNpZ25yLCBjdXJyZW50LT5jb21t
LCBjdXJyZW50LT5waWQpOw0KLS0tIGxpbnV4L2FyY2gvYXJtL2tlcm5lbC9z
aWduYWwuYy5vcmlnCVRodSBKdW4gMTcgMTA6MTE6MzUgMTk5OQ0KKysrIGxp
bnV4L2FyY2gvYXJtL2tlcm5lbC9zaWduYWwuYwlUaHUgSnVsIDIyIDEyOjM2
OjMxIDE5OTkNCkBAIC01NDMsMTIgKzU0Myw4IEBADQogDQogCQkJY2FzZSBT
SUdRVUlUOiBjYXNlIFNJR0lMTDogY2FzZSBTSUdUUkFQOg0KIAkJCWNhc2Ug
U0lHQUJSVDogY2FzZSBTSUdGUEU6IGNhc2UgU0lHU0VHVjoNCi0JCQkJbG9j
a19rZXJuZWwoKTsNCi0JCQkJaWYgKGN1cnJlbnQtPmJpbmZtdA0KLQkJCQkg
ICAgJiYgY3VycmVudC0+YmluZm10LT5jb3JlX2R1bXANCi0JCQkJICAgICYm
IGN1cnJlbnQtPmJpbmZtdC0+Y29yZV9kdW1wKHNpZ25yLCByZWdzKSkNCisJ
CQkJaWYgKGRvX2NvcmVkdW1wKHNpZ25yLCByZWdzKSkNCiAJCQkJCWV4aXRf
Y29kZSB8PSAweDgwOw0KLQkJCQl1bmxvY2tfa2VybmVsKCk7DQogCQkJCS8q
IEZBTExUSFJVICovDQogDQogCQkJZGVmYXVsdDoNCg==
---1247997369-1057431344-932638095=:25472--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/