Date: Mon, 18 Oct 2004 07:01:39 -0400 (EDT) From: Robert Watson <rwatson@freebsd.org> To: "Wilkinson, Alex" <alex.wilkinson@dsto.defence.gov.au> Cc: scottl@freebsd.org Subject: Re: RELENG_5 panic [nic: _mtx_lock_sleep: recursed on non-recursivemutex nfsd_mtx] Message-ID: <Pine.NEB.3.96L.1041018054925.29749K-200000@fledge.watson.org> In-Reply-To: <Pine.NEB.3.96L.1041018051651.29749I-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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. --0-173771394-1098097299=:29749 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 18 Oct 2004, Robert Watson wrote: > If this is timing-related, it could be KTR disrupts the timing > sufficiently to prevent it. More likely, it went away because the work > load on the NFS server changed, or the directory layout changed, or some > other factor that caused the passage through the NFS code to change. Actually, I think I found it. Did the drive or partition layout in your NFS server change recently? If so, that would cause the fsid of the file system to change, resulting in ESTALE errors being returned to the client; I found one or two nits in the error handling for vfs_getvfs() that would result in the problem you saw. The attached patch should correct, as well as add additional assertions to catch related bugs; note that this patch appears to work fine in my environment, but that the additional assertions could detect bugs I'm not seeing in my environment for similar reasons to the ones that prevented me from seeing the one you just reported. FYI, when the last client referencing the old FSID was rebooted, the problem would have gone away as that set of ESTALE conditions would no longer be triggered. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research > > - aW > > > > > > > > 0n Sun, Oct 17, 2004 at 10:19:34AM -0400, Robert Watson wrote: > > > > On Fri, 15 Oct 2004, Wilkinson, Alex wrote: > > > > > Hi all, > > > > > > I currently get a panic with "nfs_server_enable=YES" in /etc/rc.conf. > > > > > > OS: FreeBSD 5.3-BETA4 #2: Tue Sep 14 13:55:30 UTC 2004 > > > > > > Backtrace > > > --------- > > > > > > panic: _mtx_lock_sleep: recursed on non-recursive mutex nfsd_mtx @ /usr /src/sys/nfsserver/nfs_serv.c:1947 > > > > Is the NFS server code compiled into your kernel, or is it getting loaded > > as a module? Do you have any other NFS-related entries in /etc/rc.conf? > > Could you show the output of "show locks" and "show witness" with witness > > compiled into the kernel? > > > > Thanks! > > > > Robert N M Watson FreeBSD Core Team, TrustedBSD Projects > > robert@fledge.watson.org Principal Research Scientist, McAfee Research > > > > > > > cpuid = 0 > > > KDB: enter: panic > > > [thread 100074] > > > Stopped at kdb_enter+0x32: leave > > > db> tr > > > kdb_enter(c068ba66,0,c068aed8,dd2ed90c,c1b6b340) at kdb_enter+0x32 > > > panic(c068aed8,c069885f,c0698617,79b,c0698617) at panic+0x1b0 > > > _mtx_lock_sleep(c071c940,c1b6b340,0,c0698617,79b) at _mtx_lock_sleep+0x16e > > > _mtx_lock_flags(c071c940,0,c0698617,79b,0) at _mtx_lock_flags+0xb0 > > > nfsrv_create(c1eb6800,c1b98800,c1b6b340,dd2edc8c,0) at nfsrv_create+0x8c4 > > > nfssvc(c1b6b340,dd2edd14,8,0,2) at nfssvc+0x6ea > > > syscall(2f,2f,2f,0,0) at syscall+0x13b > > > Xint0x80_syscall() at Xint0x80_syscall+0x1f > > > --- syscall (155, FreeBSD ELF32, nfssvc), eip = 0x280c60bf, esp = 0xbfbfeb1c, eb p = 0xbfbfeb38 --- > > > > > > > > > - aW > > > _______________________________________________ > > > freebsd-current@freebsd.org mailing list > > > http://lists.freebsd.org/mailman/listinfo/freebsd-current > > > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > > > > > > > _______________________________________________ > > freebsd-current@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-current > > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > > > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > --0-173771394-1098097299=:29749 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="20041018-nfs_server_locking_fix.diff" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.NEB.3.96L.1041018070139.29749L@fledge.watson.org> Content-Description: SW5kZXg6IG5mc19zZXJ2LmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJD UyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvbmZzc2VydmVyL25mc19zZXJ2 LmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjE0OA0KZGlmZiAtdSAtcjEu MTQ4IG5mc19zZXJ2LmMNCi0tLSBuZnNfc2Vydi5jCTI1IEF1ZyAyMDA0IDE2 OjUyOjU5IC0wMDAwCTEuMTQ4DQorKysgbmZzX3NlcnYuYwkxOCBPY3QgMjAw NCAwOTo1Mzo1MiAtMDAwMA0KQEAgLTIyNSw2ICsyMjUsNyBAQA0KIAl0bCA9 IG5mc21fYnVpbGQodV9pbnQzMl90ICosIE5GU1hfVU5TSUdORUQpOw0KIAkq dGwgPSB0eGRyX3Vuc2lnbmVkKG5mc21vZGUpOw0KIG5mc21vdXQ6DQorCU5G U0RfTE9DS19BU1NFUlQoKTsNCiAJaWYgKHZwKSB7DQogCQlORlNEX1VOTE9D SygpOw0KIAkJbXR4X2xvY2soJkdpYW50KTsJLyogVkZTICovDQpAQCAtMjg1 LDYgKzI4Niw3IEBADQogCS8qIGZhbGwgdGhyb3VnaCAqLw0KIA0KIG5mc21v dXQ6DQorCU5GU0RfTE9DS19BU1NFUlQoKTsNCiAJaWYgKHZwKSB7DQogCQlO RlNEX1VOTE9DSygpOw0KIAkJbXR4X2xvY2soJkdpYW50KTsJLyogVkZTICov DQpAQCAtNDEyLDYgKzQxNCw3IEBADQogCQltdHhfdW5sb2NrKCZHaWFudCk7 CS8qIFZGUyAqLw0KIAkJTkZTRF9MT0NLKCk7DQogCX0NCisJTkZTRF9MT0NL X0FTU0VSVCgpOw0KIA0KIAkvKg0KIAkgKiBJZiB0aGUgc2l6ZSBpcyBiZWlu ZyBjaGFuZ2VkIHdyaXRlIGFjY2VzIGlzIHJlcXVpcmVkLCBvdGhlcndpc2UN CkBAIC00MzksNiArNDQyLDcgQEANCiAJaWYgKCFlcnJvcikNCiAJCWVycm9y ID0gcG9zdGF0X3JldDsNCiBvdXQ6DQorCU5GU0RfTE9DS19BU1NFUlQoKTsN CiAJaWYgKHZwICE9IE5VTEwpIHsNCiAJCU5GU0RfVU5MT0NLKCk7DQogCQlt dHhfbG9jaygmR2lhbnQpOwkvKiBWRlMgKi8NCkBAIC00NjAsNiArNDY0LDcg QEANCiAJLyogZmFsbCB0aHJvdWdoICovDQogDQogbmZzbW91dDoNCisJTkZT RF9MT0NLX0FTU0VSVCgpOw0KIAlORlNEX1VOTE9DSygpOw0KIAltdHhfbG9j aygmR2lhbnQpOwkvKiBWRlMgKi8NCiAJaWYgKHZwKQ0KQEAgLTY1Myw2ICs2 NTgsNyBAQA0KIAl9DQogDQogbmZzbW91dDoNCisJTkZTRF9MT0NLX0FTU0VS VCgpOw0KIAlORlNEX1VOTE9DSygpOw0KIAltdHhfbG9jaygmR2lhbnQpOwkv KiBWRlMgKi8NCiAJaWYgKGRpcnApDQpAQCAtNzcxLDYgKzc3Nyw3IEBADQog CW1iLT5tX25leHQgPSBtcDM7DQogCW1wMyA9IE5VTEw7DQogbmZzbW91dDoN CisJTkZTRF9MT0NLX0FTU0VSVCgpOw0KIAlpZiAobXAzKQ0KIAkJbV9mcmVl bShtcDMpOw0KIAlpZiAodnApIHsNCkBAIC0xMDQwLDYgKzEwNDcsNyBAQA0K IAl9DQogCSp0bCA9IHR4ZHJfdW5zaWduZWQoY250KTsNCiBuZnNtb3V0Og0K KwlORlNEX0xPQ0tfQVNTRVJUKCk7DQogCWlmICh2cCkgew0KIAkJTkZTRF9V TkxPQ0soKTsNCiAJCW10eF9sb2NrKCZHaWFudCk7CS8qIFZGUyAqLw0KQEAg LTEyNDIsNiArMTI1MCw3IEBADQogCWlmICghZXJyb3IpDQogCQllcnJvciA9 IGFmdGF0X3JldDsNCiBlcmVwbHk6DQorCU5GU0RfTE9DS19BU1NFUlQoKTsN CiAJbmZzbV9yZXBseShORlNYX1BSRU9QQVRUUih2MykgKyBORlNYX1BPU1RP UE9SRkFUVFIodjMpICsNCiAJCTIgKiBORlNYX1VOU0lHTkVEICsgTkZTWF9X UklURVZFUkYodjMpKTsNCiAJaWYgKHYzKSB7DQpAQCAtMTI3NSw2ICsxMjg0 LDcgQEANCiAJfQ0KIAllcnJvciA9IDA7DQogbmZzbW91dDoNCisJTkZTRF9M T0NLX0FTU0VSVCgpOw0KIAlORlNEX1VOTE9DSygpOw0KIAltdHhfbG9jaygm R2lhbnQpOwkvKiBWRlMgKi8NCiAJaWYgKHZwKQ0KQEAgLTEzODYsNiArMTM5 Niw3IEBADQogCSAgICB9DQogCSAgICBpZiAobGVuID4gTkZTX01BWERBVEEg fHwgbGVuIDwgMCAgfHwgaSA8IGxlbikgew0KIG5mc21vdXQ6DQorCQlORlNE X0xPQ0tfQVNTRVJUKCk7DQogCQltX2ZyZWVtKG1yZXApOw0KIAkJZXJyb3Ig PSBFSU87DQogCQluZnNtX3dyaXRlcmVwbHkoMiAqIE5GU1hfVU5TSUdORUQp Ow0KQEAgLTE3MTksNyArMTczMCw3IEBADQogCW5mc21fc3J2bXRvZmgoZmhw KTsNCiAJaWYgKChtcCA9IHZmc19nZXR2ZnMoJmZocC0+ZmhfZnNpZCkpID09 IE5VTEwpIHsNCiAJCWVycm9yID0gRVNUQUxFOw0KLQkJZ290byBlcmVwbHk7 DQorCQlnb3RvIGVyZXBseV9sb2NrZWQ7DQogCX0NCiAJTkZTRF9VTkxPQ0so KTsNCiAJbXR4X2xvY2soJkdpYW50KTsJLyogVkZTICovDQpAQCAtMTk0Myw4 ICsxOTU0LDExIEBADQogCQl9DQogCX0NCiBlcmVwbHk6DQorCU5GU0RfVU5M T0NLX0FTU0VSVCgpOw0KIAltdHhfdW5sb2NrKCZHaWFudCk7CS8qIFZGUyAq Lw0KIAlORlNEX0xPQ0soKTsNCitlcmVwbHlfbG9ja2VkOg0KKwlORlNEX0xP Q0tfQVNTRVJUKCk7DQogCW5mc21fcmVwbHkoTkZTWF9TUlZGSCh2MykgKyBO RlNYX0ZBVFRSKHYzKSArIE5GU1hfV0NDREFUQSh2MykpOw0KIAlpZiAodjMp IHsNCiAJCWlmICghZXJyb3IpIHsNCkBAIC0xOTYxLDYgKzE5NzUsNyBAQA0K IAllcnJvciA9IDA7DQogDQogbmZzbW91dDoNCisJTkZTRF9MT0NLX0FTU0VS VCgpOw0KIAlORlNEX1VOTE9DSygpOw0KIAltdHhfbG9jaygmR2lhbnQpOwkv KiBWRlMgKi8NCiAJaWYgKG5kLm5pX3N0YXJ0ZGlyKSB7DQpAQCAtMjExNiw2 ICsyMTMxLDcgQEANCiAJICogc2VuZCByZXNwb25zZSwgY2xlYW51cCwgcmV0 dXJuLg0KIAkgKi8NCiBvdXQ6DQorCU5GU0RfVU5MT0NLX0FTU0VSVCgpOw0K IAlpZiAobmQubmlfc3RhcnRkaXIpIHsNCiAJCXZyZWxlKG5kLm5pX3N0YXJ0 ZGlyKTsNCiAJCW5kLm5pX3N0YXJ0ZGlyID0gTlVMTDsNCkBAIC0yMTQ2LDkg KzIxNjIsMTAgQEANCiAJCWRpcmFmdF9yZXQgPSBWT1BfR0VUQVRUUihkaXJw LCAmZGlyYWZ0LCBjcmVkLCB0ZCk7DQogCQlWT1BfVU5MT0NLKGRpcnAsIDAs IHRkKTsNCiAJfQ0KLWVyZXBseToNCiAJbXR4X3VubG9jaygmR2lhbnQpOwkv KiBWRlMgKi8NCiAJTkZTRF9MT0NLKCk7DQorZXJlcGx5Og0KKwlORlNEX0xP Q0tfQVNTRVJUKCk7DQogCW5mc21fcmVwbHkoTkZTWF9TUlZGSCgxKSArIE5G U1hfUE9TVE9QQVRUUigxKSArIE5GU1hfV0NDREFUQSgxKSk7DQogCWlmICh2 Mykgew0KIAkJaWYgKCFlcnJvcikgew0KQEAgLTIxNjQsNiArMjE4MSw3IEBA DQogCU5GU0RfTE9DSygpOw0KIAlyZXR1cm4gKDApOw0KIG5mc21vdXQ6DQor CU5GU0RfTE9DS19BU1NFUlQoKTsNCiAJTkZTRF9VTkxPQ0soKTsNCiAJbXR4 X2xvY2soJkdpYW50KTsJLyogVkZTICovDQogCWlmIChkaXJwKQ0KQEAgLTIy NDksNiArMjI2Nyw3IEBADQogCQkJZ290byBvdXQ7DQogCQl9DQogb3V0Og0K KwkJTkZTRF9VTkxPQ0tfQVNTRVJUKCk7DQogCQlpZiAoIWVycm9yKSB7DQog CQkJZXJyb3IgPSBWT1BfUkVNT1ZFKG5kLm5pX2R2cCwgbmQubmlfdnAsICZu ZC5uaV9jbmQpOw0KIAkJCU5ERlJFRSgmbmQsIE5ERl9PTkxZX1BOQlVGKTsN CkBAIC0yMjgwLDEyICsyMjk5LDE0IEBADQogCW10eF91bmxvY2soJkdpYW50 KTsJLyogVkZTICovDQogCU5GU0RfTE9DSygpOw0KIGVyZXBseToNCisJTkZT RF9MT0NLX0FTU0VSVCgpOw0KIAluZnNtX3JlcGx5KE5GU1hfV0NDREFUQSh2 MykpOw0KIAlpZiAodjMpIHsNCiAJCW5mc21fc3J2d2NjX2RhdGEoZGlyZm9y X3JldCwgJmRpcmZvciwgZGlyYWZ0X3JldCwgJmRpcmFmdCk7DQogCQllcnJv ciA9IDA7DQogCX0NCiBuZnNtb3V0Og0KKwlORlNEX0xPQ0tfQVNTRVJUKCk7 DQogCU5GU0RfVU5MT0NLKCk7DQogCW10eF9sb2NrKCZHaWFudCk7CS8qIFZG UyAqLw0KIAlOREZSRUUoJm5kLCBOREZfT05MWV9QTkJVRik7DQpAQCAtMjM5 Nyw4ICsyNDE4LDExIEBADQogCQl2cmVsZSh0ZGlycCk7DQogCQl0ZGlycCA9 IE5VTEw7DQogCX0NCi0JaWYgKGVycm9yKQ0KKwlpZiAoZXJyb3IpIHsNCisJ CW10eF91bmxvY2soJkdpYW50KTsJLyogVkZTICovDQorCQlORlNEX0xPQ0so KTsNCiAJCWdvdG8gb3V0MTsNCisJfQ0KIA0KIAl0ZHZwID0gdG9uZC5uaV9k dnA7DQogCXR2cCA9IHRvbmQubmlfdnA7DQpAQCAtMjQ1NSw2ICsyNDc5LDcg QEANCiAJICAgICAgZnJvbW5kLm5pX2NuZC5jbl9uYW1lbGVuKSkNCiAJCWVy cm9yID0gLTE7DQogb3V0Og0KKwlORlNEX1VOTE9DS19BU1NFUlQoKTsNCiAJ aWYgKCFlcnJvcikgew0KIAkJLyoNCiAJCSAqIFRoZSBWT1BfUkVOQU1FIGZ1 bmN0aW9uIHJlbGVhc2VzIGFsbCB2bm9kZSByZWZlcmVuY2VzICYNCkBAIC0y NDc3LDkgKzI1MDIsMTAgQEANCiAJfQ0KIAkvKiBmYWxsIHRocm91Z2ggKi8N CiANCi1vdXQxOg0KIAltdHhfdW5sb2NrKCZHaWFudCk7CS8qIFZGUyAqLw0K IAlORlNEX0xPQ0soKTsNCitvdXQxOg0KKwlORlNEX0xPQ0tfQVNTRVJUKCk7 DQogCW5mc21fcmVwbHkoMiAqIE5GU1hfV0NDREFUQSh2MykpOw0KIAlpZiAo djMpIHsNCiAJCS8qIFJlbGVhc2UgZXhpc3RpbmcgbG9ja3MgdG8gcHJldmVu dCBkZWFkbG9jay4gKi8NCkBAIC0yNTE4LDYgKzI1NDQsNyBAQA0KIAkvKg0K IAkgKiBDbGVhciBvdXQgdG9uZCByZWxhdGVkIGZpZWxkcw0KIAkgKi8NCisJ TkZTRF9MT0NLX0FTU0VSVCgpOw0KIAlORlNEX1VOTE9DSygpOw0KIAltdHhf bG9jaygmR2lhbnQpOwkvKiBWRlMgKi8NCiAJaWYgKHRkaXJwKQ0KQEAgLTI2 ODAsNiArMjcwNyw3IEBADQogCW10eF91bmxvY2soJkdpYW50KTsJLyogVkZT ICovDQogCU5GU0RfTE9DSygpOw0KIGVyZXBseToNCisJTkZTRF9MT0NLX0FT U0VSVCgpOw0KIAluZnNtX3JlcGx5KE5GU1hfUE9TVE9QQVRUUih2MykgKyBO RlNYX1dDQ0RBVEEodjMpKTsNCiAJaWYgKHYzKSB7DQogCQluZnNtX3NydnBv c3RvcF9hdHRyKGdldHJldCwgJmF0KTsNCkBAIC0yNjg5LDYgKzI3MTcsNyBA QA0KIAkvKiBmYWxsIHRocm91Z2ggKi8NCiANCiBuZnNtb3V0Og0KKwlORlNE X0xPQ0tfQVNTRVJUKCk7DQogCU5GU0RfVU5MT0NLKCk7DQogCW10eF9sb2Nr KCZHaWFudCk7CS8qIFZGUyAqLw0KIAlOREZSRUUoJm5kLCBOREZfT05MWV9Q TkJVRik7DQpAQCAtMjc0NCw2ICsyNzczLDggQEANCiAJZmhwID0gJm5maC5m aF9nZW5lcmljOw0KIAluZnNtX3Nydm10b2ZoKGZocCk7DQogCWlmICgobXAg PSB2ZnNfZ2V0dmZzKCZmaHAtPmZoX2ZzaWQpKSA9PSBOVUxMKSB7DQorCQlO RlNEX1VOTE9DSygpOw0KKwkJbXR4X2xvY2soJkdpYW50KTsJLyogVkZTICov DQogCQllcnJvciA9IEVTVEFMRTsNCiAJCWdvdG8gb3V0Ow0KIAl9DQpAQCAt Mjg0MSw2ICsyODcyLDcgQEANCiAJICAgIH0NCiAJfQ0KIG91dDoNCisJTkZT RF9VTkxPQ0tfQVNTRVJUKCk7DQogCS8qDQogCSAqIFRoZXNlIHJlbGVhc2Vz IGFyZW4ndCBzdHJpY3RseSByZXF1aXJlZCwgZG9lcyBldmVuIGRvaW5nIHRo ZW0NCiAJICogbWFrZSBhbnkgc2Vuc2U/IFhYWCBjYW4gbmZzbV9yZXBseSgp IGJsb2NrPw0KQEAgLTI4NzIsNiArMjkwNCw3IEBADQogCS8qIGZhbGwgdGhy b3VnaCAqLw0KIA0KIG5mc21vdXQ6DQorCU5GU0RfTE9DS19BU1NFUlQoKTsN CiAJTkZTRF9VTkxPQ0soKTsNCiAJbXR4X2xvY2soJkdpYW50KTsJLyogVkZT ICovDQogCU5ERlJFRSgmbmQsIE5ERl9PTkxZX1BOQlVGKTsNCkBAIC0yOTMw LDYgKzI5NjMsOCBAQA0KIAlmaHAgPSAmbmZoLmZoX2dlbmVyaWM7DQogCW5m c21fc3J2bXRvZmgoZmhwKTsNCiAJaWYgKChtcCA9IHZmc19nZXR2ZnMoJmZo cC0+ZmhfZnNpZCkpID09IE5VTEwpIHsNCisJCU5GU0RfVU5MT0NLKCk7DQor CQltdHhfbG9jaygmR2lhbnQpOwkvKiBWRlMgKi8NCiAJCWVycm9yID0gRVNU QUxFOw0KIAkJZ290byBvdXQ7DQogCX0NCkBAIC0zMDA0LDYgKzMwMzksNyBA QA0KIAkJCWVycm9yID0gVk9QX0dFVEFUVFIobmQubmlfdnAsIHZhcCwgY3Jl ZCwgdGQpOw0KIAl9DQogb3V0Og0KKwlORlNEX1VOTE9DS19BU1NFUlQoKTsN CiAJaWYgKGRpcnApIHsNCiAJCWlmIChkaXJwID09IG5kLm5pX2R2cCkgew0K IAkJCWRpcmFmdF9yZXQgPSBWT1BfR0VUQVRUUihkaXJwLCAmZGlyYWZ0LCBj cmVkLCB0ZCk7DQpAQCAtMzA0OCw2ICszMDg0LDcgQEANCiAJLyogZmFsbCB0 aHJvdWdoICovDQogDQogbmZzbW91dDoNCisJTkZTRF9MT0NLX0FTU0VSVCgp Ow0KIAlORlNEX1VOTE9DSygpOw0KIAltdHhfbG9jaygmR2lhbnQpOwkvKiBW RlMgKi8NCiAJaWYgKGRpcnApDQpAQCAtMzE1Miw2ICszMTg5LDcgQEANCiAJ ICogSXNzdWUgb3IgYWJvcnQgb3AuICBTaW5jZSBTQVZFU1RBUlQgaXMgbm90 IHNldCwgcGF0aCBuYW1lDQogCSAqIGNvbXBvbmVudCBpcyBmcmVlZCBieSB0 aGUgVk9QIGFmdGVyIGVpdGhlci4NCiAJICovDQorCU5GU0RfTE9DS19BU1NF UlQoKTsNCiAJTkZTRF9VTkxPQ0soKTsNCiAJbXR4X2xvY2soJkdpYW50KTsJ LyogVkZTICovDQogCWlmICghZXJyb3IpDQpAQCAtMzE4Nyw2ICszMjI1LDcg QEANCiAJLyogZmFsbCB0aHJvdWdoICovDQogDQogbmZzbW91dDoNCisJTkZT RF9MT0NLX0FTU0VSVCgpOw0KIAlORlNEX1VOTE9DSygpOw0KIAltdHhfbG9j aygmR2lhbnQpOwkvKiBWRlMgKi8NCiAJTkRGUkVFKCZuZCwgTkRGX09OTFlf UE5CVUYpOw0KQEAgLTMzNTYsNiArMzM5NSw3IEBADQogCSAqLw0KIAlNQUxM T0MocmJ1ZiwgY2FkZHJfdCwgc2l6LCBNX1RFTVAsIE1fV0FJVE9LKTsNCiBh Z2FpbjoNCisJTkZTRF9VTkxPQ0tfQVNTRVJUKCk7DQogCWl2Lmlvdl9iYXNl ID0gcmJ1ZjsNCiAJaXYuaW92X2xlbiA9IGZ1bGxzaXo7DQogCWlvLnVpb19p b3YgPSAmaXY7DQpAQCAtMzU1Niw2ICszNTk2LDcgQEANCiAJRlJFRSgoY2Fk ZHJfdCljb29raWVzLCBNX1RFTVApOw0KIA0KIG5mc21vdXQ6DQorCU5GU0Rf TE9DS19BU1NFUlQoKTsNCiAJaWYgKHZwKSB7DQogCQlORlNEX1VOTE9DSygp Ow0KIAkJbXR4X2xvY2soJkdpYW50KTsJLyogVkZTICovDQpAQCAtMzY2NCw2 ICszNzA1LDcgQEANCiAJVk9QX1VOTE9DSyh2cCwgMCwgdGQpOw0KIAlNQUxM T0MocmJ1ZiwgY2FkZHJfdCwgc2l6LCBNX1RFTVAsIE1fV0FJVE9LKTsNCiBh Z2FpbjoNCisJTkZTRF9VTkxPQ0tfQVNTRVJUKCk7DQogCWl2Lmlvdl9iYXNl ID0gcmJ1ZjsNCiAJaXYuaW92X2xlbiA9IGZ1bGxzaXo7DQogCWlvLnVpb19p b3YgPSAmaXY7DQpAQCAtMzg5Nyw2ICszOTM5LDcgQEANCiAJCQl9DQogCQl9 DQogaW52YWxpZDoNCisJCU5GU0RfVU5MT0NLX0FTU0VSVCgpOw0KIAkJY3Bv cyArPSBkcC0+ZF9yZWNsZW47DQogCQlkcCA9IChzdHJ1Y3QgZGlyZW50ICop Y3BvczsNCiAJCWNvb2tpZXArKzsNCkBAIC0zOTIzLDYgKzM5NjYsNyBAQA0K IAlGUkVFKChjYWRkcl90KWNvb2tpZXMsIE1fVEVNUCk7DQogCUZSRUUoKGNh ZGRyX3QpcmJ1ZiwgTV9URU1QKTsNCiBuZnNtb3V0Og0KKwlORlNEX0xPQ0tf QVNTRVJUKCk7DQogCWlmICh2cCkgew0KIAkJTkZTRF9VTkxPQ0soKTsNCiAJ CW10eF9sb2NrKCZHaWFudCk7CS8qIFZGUyAqLw0KQEAgLTQwODEsNiArNDEy NSw3IEBADQogCXZwID0gTlVMTDsNCiAJTkZTRF9MT0NLKCk7DQogZXJlcGx5 Og0KKwlORlNEX0xPQ0tfQVNTRVJUKCk7DQogCW5mc21fcmVwbHkoTkZTWF9W M1dDQ0RBVEEgKyBORlNYX1YzV1JJVEVWRVJGKTsNCiAJbmZzbV9zcnZ3Y2Nf ZGF0YShmb3JfcmV0LCAmYmZvciwgYWZ0X3JldCwgJmFmdCk7DQogCWlmICgh ZXJyb3IpIHsNCkBAIC00MDkzLDYgKzQxMzgsNyBAQA0KIAkJZXJyb3IgPSAw Ow0KIAl9DQogbmZzbW91dDoNCisJTkZTRF9MT0NLX0FTU0VSVCgpOw0KIAlO RlNEX1VOTE9DSygpOw0KIAltdHhfbG9jaygmR2lhbnQpOwkvKiBWRlMgKi8N CiAJaWYgKHZwKQ0KQEAgLTQxOTQsNiArNDI0MCw3IEBADQogCQkJc2ZwLT5z Zl9iYXZhaWwgPSB0eGRyX3Vuc2lnbmVkKHNmLT5mX2JhdmFpbCk7DQogCX0N CiBuZnNtb3V0Og0KKwlORlNEX0xPQ0tfQVNTRVJUKCk7DQogCWlmICh2cCkg ew0KIAkJTkZTRF9VTkxPQ0soKTsNCiAJCW10eF9sb2NrKCZHaWFudCk7CS8q IFZGUyAqLw0KQEAgLTQyODAsNiArNDMyNyw3IEBADQogCQlORlNWM0ZTSU5G T19TWU1MSU5LIHwgTkZTVjNGU0lORk9fSE9NT0dFTkVPVVMgfA0KIAkJTkZT VjNGU0lORk9fQ0FOU0VUVElNRSk7DQogbmZzbW91dDoNCisJTkZTRF9MT0NL X0FTU0VSVCgpOw0KIAlpZiAodnApIHsNCiAJCU5GU0RfVU5MT0NLKCk7DQog CQltdHhfbG9jaygmR2lhbnQpOwkvKiBWRlMgKi8NCkBAIC00MzYxLDYgKzQ0 MDksNyBAQA0KIAlwYy0+cGNfY2FzZWluc2Vuc2l0aXZlID0gbmZzcnZfbmZz X2ZhbHNlOw0KIAlwYy0+cGNfY2FzZXByZXNlcnZpbmcgPSBuZnNydl9uZnNf dHJ1ZTsNCiBuZnNtb3V0Og0KKwlORlNEX0xPQ0tfQVNTRVJUKCk7DQogCWlm ICh2cCkgew0KIAkJTkZTRF9VTkxPQ0soKTsNCiAJCW10eF9sb2NrKCZHaWFu dCk7CS8qIFZGUyAqLw0KQEAgLTQzODksNiArNDQzOCw3IEBADQogCW5mc2Ri cHJpbnRmKCgiJXMgJWRcbiIsIF9fRklMRV9fLCBfX0xJTkVfXykpOw0KIAlu ZnNtX3JlcGx5KDApOw0KIG5mc21vdXQ6DQorCU5GU0RfTE9DS19BU1NFUlQo KTsNCiAJcmV0dXJuIChlcnJvcik7DQogfQ0KIA0KQEAgLTQ0MTUsNiArNDQ2 NSw3IEBADQogCW5mc21fcmVwbHkoMCk7DQogCWVycm9yID0gMDsNCiBuZnNt b3V0Og0KKwlORlNEX0xPQ0tfQVNTRVJUKCk7DQogCXJldHVybiAoZXJyb3Ip Ow0KIH0NCiANCkBAIC00NDQwLDcgKzQ0OTEsNiBAQA0KIAlpbnQgZXJyb3I7 DQogDQogCU5GU0RfTE9DS19BU1NFUlQoKTsNCi0JTkZTRF9VTkxPQ0soKTsN CiANCiAJbmZzZGJwcmludGYoKCIlcyAlZFxuIiwgX19GSUxFX18sIF9fTElO RV9fKSk7DQogCWlmIChmbGFncyAmIFZXUklURSkgew0KQEAgLTQ0NTUsOCAr NDUwNSw3IEBADQogCQkJY2FzZSBWUkVHOg0KIAkJCWNhc2UgVkRJUjoNCiAJ CQljYXNlIFZMTks6DQotCQkJCWVycm9yID0gRVJPRlM7DQotCQkJCWdvdG8g b3V0Ow0KKwkJCQlyZXR1cm4gKEVST0ZTKTsNCiAJCQlkZWZhdWx0Og0KIAkJ CQlicmVhazsNCiAJCQl9DQpAQCAtNDQ2NSwxNSArNDUxNCwxNCBAQA0KIAkJ ICogSWYgdGhlcmUncyBzaGFyZWQgdGV4dCBhc3NvY2lhdGVkIHdpdGgNCiAJ CSAqIHRoZSBpbm9kZSwgd2UgY2FuJ3QgYWxsb3cgd3JpdGluZy4NCiAJCSAq Lw0KLQkJaWYgKHZwLT52X3ZmbGFnICYgVlZfVEVYVCkgew0KLQkJCU5GU0Rf TE9DSygpOw0KKwkJaWYgKHZwLT52X3ZmbGFnICYgVlZfVEVYVCkNCiAJCQly ZXR1cm4gKEVUWFRCU1kpOw0KLQkJfQ0KIAl9DQorCU5GU0RfVU5MT0NLKCk7 DQogCW10eF9sb2NrKCZHaWFudCk7CS8qIFZGUyAqLw0KIAllcnJvciA9IFZP UF9HRVRBVFRSKHZwLCAmdmF0dHIsIGNyZWQsIHRkKTsNCiAJaWYgKGVycm9y KQ0KLQkJZ290byBvdXQyOw0KKwkJZ290byBvdXQ7DQogCWVycm9yID0gVk9Q X0FDQ0VTUyh2cCwgZmxhZ3MsIGNyZWQsIHRkKTsNCiAJLyoNCiAJICogQWxs b3cgY2VydGFpbiBvcGVyYXRpb25zIGZvciB0aGUgb3duZXIgKHJlYWRzIGFu ZCB3cml0ZXMNCkBAIC00NDgxLDkgKzQ1MjksOSBAQA0KIAkgKi8NCiAJaWYg KG92ZXJyaWRlICYmIGVycm9yID09IEVBQ0NFUyAmJiBjcmVkLT5jcl91aWQg PT0gdmF0dHIudmFfdWlkKQ0KIAkJZXJyb3IgPSAwOw0KLW91dDI6DQotCW10 eF91bmxvY2soJkdpYW50KTsJLyogVkZTICovDQogb3V0Og0KKwlORlNEX1VO TE9DS19BU1NFUlQoKTsNCisJbXR4X3VubG9jaygmR2lhbnQpOwkvKiBWRlMg Ki8NCiAJTkZTRF9MT0NLKCk7DQogCXJldHVybiBlcnJvcjsNCiB9DQo= --0-173771394-1098097299=:29749--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1041018054925.29749K-200000>