Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755539Ab0D1XeG (ORCPT ); Wed, 28 Apr 2010 19:34:06 -0400 Received: from mail-gw0-f46.google.com ([74.125.83.46]:44846 "EHLO mail-gw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753690Ab0D1XeC (ORCPT ); Wed, 28 Apr 2010 19:34:02 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=HrWm5pgiUxIph4qO+cVxeSl5R0Oj+7qyvqIqC1yDIwODvL4v2/VRScayY1mxOrnyUn ucblwgOXwpX03MlrmFgKczO0ssLL/ciGLYrvpxjsP3l8AC2FKhgUL+lDuA3eUna/ite3 R7GaMan8CFJFkJ2k1FWOGM5AVy6gdFAduU7MU= MIME-Version: 1.0 In-Reply-To: References: <1272434481.1974.101.camel@work-vm> Date: Wed, 28 Apr 2010 18:33:59 -0500 Message-ID: Subject: Re: 2.6.33.3-rt16 Oops caused by umount From: Xianghua Xiao To: Thomas Gleixner Cc: john stultz , LKML Content-Type: multipart/mixed; boundary=000e0cd573c4d15025048554719a Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 18510 Lines: 273 --000e0cd573c4d15025048554719a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, Apr 28, 2010 at 4:46 PM, Thomas Gleixner wrote= : > On Wed, 28 Apr 2010, Xianghua Xiao wrote: >> On Wed, Apr 28, 2010 at 3:22 PM, Thomas Gleixner wr= ote: >> > >> > Can you please decode the code lines with >> > >> > # addr2line -e vmlinux 0xc009ca1c 0xc009c9cc >> > >> > You need to enable CONFIG_DEBUG_INFO to get real line numbers. >> >> # reboot >> # Oops: Kernel access of bad area, sig: 11 [#1] >> PREEMPT 834x SYS >> Modules linked in: >> NIP: c009ded8 LR: c009de88 CTR: 00000000 > > Again. Can you please decode the code lines with > > # addr2line -e vmlinux 0xc009ded8 0xc009de88 > > Please run the above shell command in the directory where your kernel > compile output resides. If you compiled with O=3DBUILD_DIR then cd to > $BUILD_DIR otherwise you will find vmlinux in the root of your kernel > source tree. Please provide the output. > > Thanks, > > =C2=A0 =C2=A0 =C2=A0 =C2=A0tglx > here it is, just in case I also attached the source file related: addr2line -e vmlinux c009ded8 c009de88 /home/xxiao/xxiao/linux-2.6.33.3/fs/file_table.c:436 /home/xxiao/xxiao/linux-2.6.33.3/fs/file_table.c:440 thanks, --000e0cd573c4d15025048554719a Content-Type: text/x-csrc; charset=US-ASCII; name="file_table.c" Content-Disposition: attachment; filename="file_table.c" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g8ks6cyo0 LyoKICogIGxpbnV4L2ZzL2ZpbGVfdGFibGUuYwogKgogKiAgQ29weXJpZ2h0IChDKSAxOTkxLCAx OTkyICBMaW51cyBUb3J2YWxkcwogKiAgQ29weXJpZ2h0IChDKSAxOTk3IERhdmlkIFMuIE1pbGxl ciAoZGF2ZW1AY2FpcC5ydXRnZXJzLmVkdSkKICovCgojaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+ CiNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiNpbmNsdWRlIDxsaW51eC9maWxlLmg+CiNpbmNsdWRl IDxsaW51eC9mZHRhYmxlLmg+CiNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiNpbmNsdWRlIDxsaW51 eC9tb2R1bGUuaD4KI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiNpbmNsdWRlIDxsaW51eC9zZWN1cml0 eS5oPgojaW5jbHVkZSA8bGludXgvZXZlbnRwb2xsLmg+CiNpbmNsdWRlIDxsaW51eC9yY3VwZGF0 ZS5oPgojaW5jbHVkZSA8bGludXgvbW91bnQuaD4KI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHku aD4KI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KI2luY2x1ZGUgPGxpbnV4L2Zzbm90aWZ5Lmg+CiNp bmNsdWRlIDxsaW51eC9zeXNjdGwuaD4KI2luY2x1ZGUgPGxpbnV4L3BlcmNwdV9jb3VudGVyLmg+ CiNpbmNsdWRlIDxsaW51eC9pbWEuaD4KI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgoKI2luY2x1 ZGUgPGFzbS9hdG9taWMuaD4KCiNpbmNsdWRlICJpbnRlcm5hbC5oIgoKLyogc3lzY3RsIHR1bmFi bGVzLi4uICovCnN0cnVjdCBmaWxlc19zdGF0X3N0cnVjdCBmaWxlc19zdGF0ID0gewoJLm1heF9m aWxlcyA9IE5SX0ZJTEUKfTsKCnN0YXRpYyBERUZJTkVfUEVSX0NQVShzcGlubG9ja190LCBmaWxl c19jcHVsb2NrKTsKCi8qIFNMQUIgY2FjaGUgZm9yIGZpbGUgc3RydWN0dXJlcyAqLwpzdGF0aWMg c3RydWN0IGttZW1fY2FjaGUgKmZpbHBfY2FjaGVwIF9fcmVhZF9tb3N0bHk7CgpzdGF0aWMgc3Ry dWN0IHBlcmNwdV9jb3VudGVyIG5yX2ZpbGVzIF9fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wOwoK c3RhdGljIGlubGluZSB2b2lkIGZpbGVfZnJlZV9yY3Uoc3RydWN0IHJjdV9oZWFkICpoZWFkKQp7 CglzdHJ1Y3QgZmlsZSAqZiA9IGNvbnRhaW5lcl9vZihoZWFkLCBzdHJ1Y3QgZmlsZSwgZl91LmZ1 X3JjdWhlYWQpOwoKCXB1dF9jcmVkKGYtPmZfY3JlZCk7CglrbWVtX2NhY2hlX2ZyZWUoZmlscF9j YWNoZXAsIGYpOwp9CgpzdGF0aWMgaW5saW5lIHZvaWQgZmlsZV9mcmVlKHN0cnVjdCBmaWxlICpm KQp7CglwZXJjcHVfY291bnRlcl9kZWMoJm5yX2ZpbGVzKTsKCWZpbGVfY2hlY2tfc3RhdGUoZik7 CgljYWxsX3JjdSgmZi0+Zl91LmZ1X3JjdWhlYWQsIGZpbGVfZnJlZV9yY3UpOwp9CgovKgogKiBS ZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZiBvcGVuIGZpbGVzIGluIHRoZSBzeXN0ZW0KICovCnN0 YXRpYyBpbnQgZ2V0X25yX2ZpbGVzKHZvaWQpCnsKCXJldHVybiBwZXJjcHVfY291bnRlcl9yZWFk X3Bvc2l0aXZlKCZucl9maWxlcyk7Cn0KCi8qCiAqIFJldHVybiB0aGUgbWF4aW11bSBudW1iZXIg b2Ygb3BlbiBmaWxlcyBpbiB0aGUgc3lzdGVtCiAqLwppbnQgZ2V0X21heF9maWxlcyh2b2lkKQp7 CglyZXR1cm4gZmlsZXNfc3RhdC5tYXhfZmlsZXM7Cn0KRVhQT1JUX1NZTUJPTF9HUEwoZ2V0X21h eF9maWxlcyk7CgovKgogKiBIYW5kbGUgbnJfZmlsZXMgc3lzY3RsCiAqLwojaWYgZGVmaW5lZChD T05GSUdfU1lTQ1RMKSAmJiBkZWZpbmVkKENPTkZJR19QUk9DX0ZTKQppbnQgcHJvY19ucl9maWxl cyhjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsCiAgICAgICAgICAgICAgICAgICAgIHZvaWQg X191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwgbG9mZl90ICpwcG9zKQp7CglmaWxlc19zdGF0 Lm5yX2ZpbGVzID0gZ2V0X25yX2ZpbGVzKCk7CglyZXR1cm4gcHJvY19kb2ludHZlYyh0YWJsZSwg d3JpdGUsIGJ1ZmZlciwgbGVucCwgcHBvcyk7Cn0KI2Vsc2UKaW50IHByb2NfbnJfZmlsZXMoY3Rs X3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLAogICAgICAgICAgICAgICAgICAgICB2b2lkIF9fdXNl ciAqYnVmZmVyLCBzaXplX3QgKmxlbnAsIGxvZmZfdCAqcHBvcykKewoJcmV0dXJuIC1FTk9TWVM7 Cn0KI2VuZGlmCgovKiBGaW5kIGFuIHVudXNlZCBmaWxlIHN0cnVjdHVyZSBhbmQgcmV0dXJuIGEg cG9pbnRlciB0byBpdC4KICogUmV0dXJucyBOVUxMLCBpZiB0aGVyZSBhcmUgbm8gbW9yZSBmcmVl IGZpbGUgc3RydWN0dXJlcyBvcgogKiB3ZSBydW4gb3V0IG9mIG1lbW9yeS4KICoKICogQmUgdmVy eSBjYXJlZnVsIHVzaW5nIHRoaXMuICBZb3UgYXJlIHJlc3BvbnNpYmxlIGZvcgogKiBnZXR0aW5n IHdyaXRlIGFjY2VzcyB0byBhbnkgbW91bnQgdGhhdCB5b3UgbWlnaHQgYXNzaWduCiAqIHRvIHRo aXMgZmlscCwgaWYgaXQgaXMgb3BlbmVkIGZvciB3cml0ZS4gIElmIHRoaXMgaXMgbm90CiAqIGRv bmUsIHlvdSB3aWxsIGltYmFsYW5jZSBpbnQgdGhlIG1vdW50J3Mgd3JpdGVyIGNvdW50CiAqIGFu ZCBhIHdhcm5pbmcgYXQgX19mcHV0KCkgdGltZS4KICovCnN0cnVjdCBmaWxlICpnZXRfZW1wdHlf ZmlscCh2b2lkKQp7Cgljb25zdCBzdHJ1Y3QgY3JlZCAqY3JlZCA9IGN1cnJlbnRfY3JlZCgpOwoJ c3RhdGljIGludCBvbGRfbWF4OwoJc3RydWN0IGZpbGUgKiBmOwoKCS8qCgkgKiBQcml2aWxlZ2Vk IHVzZXJzIGNhbiBnbyBhYm92ZSBtYXhfZmlsZXMKCSAqLwoJaWYgKGdldF9ucl9maWxlcygpID49 IGZpbGVzX3N0YXQubWF4X2ZpbGVzICYmICFjYXBhYmxlKENBUF9TWVNfQURNSU4pKSB7CgkJLyoK CQkgKiBwZXJjcHVfY291bnRlcnMgYXJlIGluYWNjdXJhdGUuICBEbyBhbiBleHBlbnNpdmUgY2hl Y2sgYmVmb3JlCgkJICogd2UgZ28gYW5kIGZhaWwuCgkJICovCgkJaWYgKHBlcmNwdV9jb3VudGVy X3N1bV9wb3NpdGl2ZSgmbnJfZmlsZXMpID49IGZpbGVzX3N0YXQubWF4X2ZpbGVzKQoJCQlnb3Rv IG92ZXI7Cgl9CgoJZiA9IGttZW1fY2FjaGVfemFsbG9jKGZpbHBfY2FjaGVwLCBHRlBfS0VSTkVM KTsKCWlmIChmID09IE5VTEwpCgkJZ290byBmYWlsOwoKCXBlcmNwdV9jb3VudGVyX2luYygmbnJf ZmlsZXMpOwoJaWYgKHNlY3VyaXR5X2ZpbGVfYWxsb2MoZikpCgkJZ290byBmYWlsX3NlYzsKCglJ TklUX0xJU1RfSEVBRCgmZi0+Zl91LmZ1X2xpc3QpOwoJYXRvbWljX2xvbmdfc2V0KCZmLT5mX2Nv dW50LCAxKTsKCXJ3bG9ja19pbml0KCZmLT5mX293bmVyLmxvY2spOwoJZi0+Zl9jcmVkID0gZ2V0 X2NyZWQoY3JlZCk7CglzcGluX2xvY2tfaW5pdCgmZi0+Zl9sb2NrKTsKCWV2ZW50cG9sbF9pbml0 X2ZpbGUoZik7CgkvKiBmLT5mX3ZlcnNpb246IDAgKi8KCXJldHVybiBmOwoKb3ZlcjoKCS8qIFJh biBvdXQgb2YgZmlscHMgLSByZXBvcnQgdGhhdCAqLwoJaWYgKGdldF9ucl9maWxlcygpID4gb2xk X21heCkgewoJCXByaW50ayhLRVJOX0lORk8gIlZGUzogZmlsZS1tYXggbGltaXQgJWQgcmVhY2hl ZFxuIiwKCQkJCQlnZXRfbWF4X2ZpbGVzKCkpOwoJCW9sZF9tYXggPSBnZXRfbnJfZmlsZXMoKTsK CX0KCWdvdG8gZmFpbDsKCmZhaWxfc2VjOgoJZmlsZV9mcmVlKGYpOwpmYWlsOgoJcmV0dXJuIE5V TEw7Cn0KCi8qKgogKiBhbGxvY19maWxlIC0gYWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYSAnc3Ry dWN0IGZpbGUnCiAqIEBtbnQ6IHRoZSB2ZnNtb3VudCBvbiB3aGljaCB0aGUgZmlsZSB3aWxsIHJl c2lkZQogKiBAZGVudHJ5OiB0aGUgZGVudHJ5IHJlcHJlc2VudGluZyB0aGUgbmV3IGZpbGUKICog QG1vZGU6IHRoZSBtb2RlIHdpdGggd2hpY2ggdGhlIG5ldyBmaWxlIHdpbGwgYmUgb3BlbmVkCiAq IEBmb3A6IHRoZSAnc3RydWN0IGZpbGVfb3BlcmF0aW9ucycgZm9yIHRoZSBuZXcgZmlsZQogKgog KiBVc2UgdGhpcyBpbnN0ZWFkIG9mIGdldF9lbXB0eV9maWxwKCkgdG8gZ2V0IGEgbmV3CiAqICdz dHJ1Y3QgZmlsZScuICBEbyBzbyBiZWNhdXNlIG9mIHRoZSBzYW1lIGluaXRpYWxpemF0aW9uCiAq IHBpdGZhbGxzIHJlYXNvbnMgbGlzdGVkIGZvciBpbml0X2ZpbGUoKS4gIFRoaXMgaXMgYQogKiBw cmVmZXJyZWQgaW50ZXJmYWNlIHRvIHVzaW5nIGluaXRfZmlsZSgpLgogKgogKiBJZiBhbGwgdGhl IGNhbGxlcnMgb2YgaW5pdF9maWxlKCkgYXJlIGVsaW1pbmF0ZWQsIGl0cwogKiBjb2RlIHNob3Vs ZCBiZSBtb3ZlZCBpbnRvIHRoaXMgZnVuY3Rpb24uCiAqLwpzdHJ1Y3QgZmlsZSAqYWxsb2NfZmls ZShzdHJ1Y3QgcGF0aCAqcGF0aCwgZm1vZGVfdCBtb2RlLAoJCWNvbnN0IHN0cnVjdCBmaWxlX29w ZXJhdGlvbnMgKmZvcCkKewoJc3RydWN0IGZpbGUgKmZpbGU7CgoJZmlsZSA9IGdldF9lbXB0eV9m aWxwKCk7CglpZiAoIWZpbGUpCgkJcmV0dXJuIE5VTEw7CgoJZmlsZS0+Zl9wYXRoID0gKnBhdGg7 CglmaWxlLT5mX21hcHBpbmcgPSBwYXRoLT5kZW50cnktPmRfaW5vZGUtPmlfbWFwcGluZzsKCWZp bGUtPmZfbW9kZSA9IG1vZGU7CglmaWxlLT5mX29wID0gZm9wOwoKCS8qCgkgKiBUaGVzZSBtb3Vu dHMgZG9uJ3QgcmVhbGx5IG1hdHRlciBpbiBwcmFjdGljZQoJICogZm9yIHIvbyBiaW5kIG1vdW50 cy4gIFRoZXkgYXJlbid0IHVzZXJzcGFjZS0KCSAqIHZpc2libGUuICBXZSBkbyB0aGlzIGZvciBj b25zaXN0ZW5jeSwgYW5kIHNvCgkgKiB0aGF0IHdlIGNhbiBkbyBkZWJ1Z2dpbmcgY2hlY2tzIGF0 IF9fZnB1dCgpCgkgKi8KCWlmICgobW9kZSAmIEZNT0RFX1dSSVRFKSAmJiAhc3BlY2lhbF9maWxl KHBhdGgtPmRlbnRyeS0+ZF9pbm9kZS0+aV9tb2RlKSkgewoJCWZpbGVfdGFrZV93cml0ZShmaWxl KTsKCQlXQVJOX09OKG1udF9jbG9uZV93cml0ZShwYXRoLT5tbnQpKTsKCX0KCWltYV9jb3VudHNf Z2V0KGZpbGUpOwoJcmV0dXJuIGZpbGU7Cn0KRVhQT1JUX1NZTUJPTChhbGxvY19maWxlKTsKCnZv aWQgZnB1dChzdHJ1Y3QgZmlsZSAqZmlsZSkKewoJaWYgKGF0b21pY19sb25nX2RlY19hbmRfdGVz dCgmZmlsZS0+Zl9jb3VudCkpCgkJX19mcHV0KGZpbGUpOwp9CgpFWFBPUlRfU1lNQk9MKGZwdXQp OwoKLyoqCiAqIGRyb3BfZmlsZV93cml0ZV9hY2Nlc3MgLSBnaXZlIHVwIGFiaWxpdHkgdG8gd3Jp dGUgdG8gYSBmaWxlCiAqIEBmaWxlOiB0aGUgZmlsZSB0byB3aGljaCB3ZSB3aWxsIHN0b3Agd3Jp dGluZwogKgogKiBUaGlzIGlzIGEgY2VudHJhbCBwbGFjZSB3aGljaCB3aWxsIGdpdmUgdXAgdGhl IGFiaWxpdHkKICogdG8gd3JpdGUgdG8gQGZpbGUsIGFsb25nIHdpdGggYWNjZXNzIHRvIHdyaXRl IHRocm91Z2gKICogaXRzIHZmc21vdW50LgogKi8Kdm9pZCBkcm9wX2ZpbGVfd3JpdGVfYWNjZXNz KHN0cnVjdCBmaWxlICpmaWxlKQp7CglzdHJ1Y3QgdmZzbW91bnQgKm1udCA9IGZpbGUtPmZfcGF0 aC5tbnQ7CglzdHJ1Y3QgZGVudHJ5ICpkZW50cnkgPSBmaWxlLT5mX3BhdGguZGVudHJ5OwoJc3Ry dWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKCglwdXRfd3JpdGVfYWNjZXNzKGlu b2RlKTsKCglpZiAoc3BlY2lhbF9maWxlKGlub2RlLT5pX21vZGUpKQoJCXJldHVybjsKCWlmIChm aWxlX2NoZWNrX3dyaXRlYWJsZShmaWxlKSAhPSAwKQoJCXJldHVybjsKCW1udF9kcm9wX3dyaXRl KG1udCk7CglmaWxlX3JlbGVhc2Vfd3JpdGUoZmlsZSk7Cn0KRVhQT1JUX1NZTUJPTF9HUEwoZHJv cF9maWxlX3dyaXRlX2FjY2Vzcyk7CgovKiBfX2ZwdXQgaXMgY2FsbGVkIGZyb20gdGFzayBjb250 ZXh0IHdoZW4gYWlvIGNvbXBsZXRpb24gcmVsZWFzZXMgdGhlIGxhc3QKICogbGFzdCB1c2Ugb2Yg YSBzdHJ1Y3QgZmlsZSAqLiAgRG8gbm90IHVzZSBvdGhlcndpc2UuCiAqLwp2b2lkIF9fZnB1dChz dHJ1Y3QgZmlsZSAqZmlsZSkKewoJc3RydWN0IGRlbnRyeSAqZGVudHJ5ID0gZmlsZS0+Zl9wYXRo LmRlbnRyeTsKCXN0cnVjdCB2ZnNtb3VudCAqbW50ID0gZmlsZS0+Zl9wYXRoLm1udDsKCXN0cnVj dCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CgoJbWlnaHRfc2xlZXAoKTsKCglmc25v dGlmeV9jbG9zZShmaWxlKTsKCS8qCgkgKiBUaGUgZnVuY3Rpb24gZXZlbnRwb2xsX3JlbGVhc2Uo KSBzaG91bGQgYmUgdGhlIGZpcnN0IGNhbGxlZAoJICogaW4gdGhlIGZpbGUgY2xlYW51cCBjaGFp bi4KCSAqLwoJZXZlbnRwb2xsX3JlbGVhc2UoZmlsZSk7Cglsb2Nrc19yZW1vdmVfZmxvY2soZmls ZSk7CgoJaWYgKHVubGlrZWx5KGZpbGUtPmZfZmxhZ3MgJiBGQVNZTkMpKSB7CgkJaWYgKGZpbGUt PmZfb3AgJiYgZmlsZS0+Zl9vcC0+ZmFzeW5jKQoJCQlmaWxlLT5mX29wLT5mYXN5bmMoLTEsIGZp bGUsIDApOwoJfQoJaWYgKGZpbGUtPmZfb3AgJiYgZmlsZS0+Zl9vcC0+cmVsZWFzZSkKCQlmaWxl LT5mX29wLT5yZWxlYXNlKGlub2RlLCBmaWxlKTsKCXNlY3VyaXR5X2ZpbGVfZnJlZShmaWxlKTsK CWltYV9maWxlX2ZyZWUoZmlsZSk7CglpZiAodW5saWtlbHkoU19JU0NIUihpbm9kZS0+aV9tb2Rl KSAmJiBpbm9kZS0+aV9jZGV2ICE9IE5VTEwpKQoJCWNkZXZfcHV0KGlub2RlLT5pX2NkZXYpOwoJ Zm9wc19wdXQoZmlsZS0+Zl9vcCk7CglwdXRfcGlkKGZpbGUtPmZfb3duZXIucGlkKTsKCWZpbGVf c2JfbGlzdF9kZWwoZmlsZSk7CglpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpCgkJZHJv cF9maWxlX3dyaXRlX2FjY2VzcyhmaWxlKTsKCWZpbGUtPmZfcGF0aC5kZW50cnkgPSBOVUxMOwoJ ZmlsZS0+Zl9wYXRoLm1udCA9IE5VTEw7CglmaWxlX2ZyZWUoZmlsZSk7CglkcHV0KGRlbnRyeSk7 CgltbnRwdXQobW50KTsKfQoKc3RydWN0IGZpbGUgKmZnZXQodW5zaWduZWQgaW50IGZkKQp7Cglz dHJ1Y3QgZmlsZSAqZmlsZTsKCXN0cnVjdCBmaWxlc19zdHJ1Y3QgKmZpbGVzID0gY3VycmVudC0+ ZmlsZXM7CgoJcmN1X3JlYWRfbG9jaygpOwoJZmlsZSA9IGZjaGVja19maWxlcyhmaWxlcywgZmQp OwoJaWYgKGZpbGUpIHsKCQlpZiAoIWF0b21pY19sb25nX2luY19ub3RfemVybygmZmlsZS0+Zl9j b3VudCkpIHsKCQkJLyogRmlsZSBvYmplY3QgcmVmIGNvdWxkbid0IGJlIHRha2VuICovCgkJCXJj dV9yZWFkX3VubG9jaygpOwoJCQlyZXR1cm4gTlVMTDsKCQl9Cgl9CglyY3VfcmVhZF91bmxvY2so KTsKCglyZXR1cm4gZmlsZTsKfQoKRVhQT1JUX1NZTUJPTChmZ2V0KTsKCi8qCiAqIExpZ2h0d2Vp Z2h0IGZpbGUgbG9va3VwIC0gbm8gcmVmY250IGluY3JlbWVudCBpZiBmZCB0YWJsZSBpc24ndCBz aGFyZWQuIAogKiBZb3UgY2FuIHVzZSB0aGlzIG9ubHkgaWYgaXQgaXMgZ3VyYW50ZWVkIHRoYXQg dGhlIGN1cnJlbnQgdGFzayBhbHJlYWR5IAogKiBob2xkcyBhIHJlZmNudCB0byB0aGF0IGZpbGUu IFRoYXQgY2hlY2sgaGFzIHRvIGJlIGRvbmUgYXQgZmdldCgpIG9ubHkKICogYW5kIGEgZmxhZyBp cyByZXR1cm5lZCB0byBiZSBwYXNzZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgZnB1dF9saWdodCgp LgogKiBUaGVyZSBtdXN0IG5vdCBiZSBhIGNsb25pbmcgYmV0d2VlbiBhbiBmZ2V0X2xpZ2h0L2Zw dXRfbGlnaHQgcGFpci4KICovCnN0cnVjdCBmaWxlICpmZ2V0X2xpZ2h0KHVuc2lnbmVkIGludCBm ZCwgaW50ICpmcHV0X25lZWRlZCkKewoJc3RydWN0IGZpbGUgKmZpbGU7CglzdHJ1Y3QgZmlsZXNf c3RydWN0ICpmaWxlcyA9IGN1cnJlbnQtPmZpbGVzOwoKCSpmcHV0X25lZWRlZCA9IDA7CglpZiAo bGlrZWx5KChhdG9taWNfcmVhZCgmZmlsZXMtPmNvdW50KSA9PSAxKSkpIHsKCQlmaWxlID0gZmNo ZWNrX2ZpbGVzKGZpbGVzLCBmZCk7Cgl9IGVsc2UgewoJCXJjdV9yZWFkX2xvY2soKTsKCQlmaWxl ID0gZmNoZWNrX2ZpbGVzKGZpbGVzLCBmZCk7CgkJaWYgKGZpbGUpIHsKCQkJaWYgKGF0b21pY19s b25nX2luY19ub3RfemVybygmZmlsZS0+Zl9jb3VudCkpCgkJCQkqZnB1dF9uZWVkZWQgPSAxOwoJ CQllbHNlCgkJCQkvKiBEaWRuJ3QgZ2V0IHRoZSByZWZlcmVuY2UsIHNvbWVvbmUncyBmcmVlZCAq LwoJCQkJZmlsZSA9IE5VTEw7CgkJfQoJCXJjdV9yZWFkX3VubG9jaygpOwoJfQoKCXJldHVybiBm aWxlOwp9Cgp2b2lkIHB1dF9maWxwKHN0cnVjdCBmaWxlICpmaWxlKQp7CglpZiAoYXRvbWljX2xv bmdfZGVjX2FuZF90ZXN0KCZmaWxlLT5mX2NvdW50KSkgewoJCXNlY3VyaXR5X2ZpbGVfZnJlZShm aWxlKTsKCQlmaWxlX3NiX2xpc3RfZGVsKGZpbGUpOwoJCWZpbGVfZnJlZShmaWxlKTsKCX0KfQoK dm9pZCBmaWxlX3NiX2xpc3RfYWRkKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qgc3VwZXJfYmxv Y2sgKnNiKQp7CglzcGlubG9ja190ICpsb2NrOwoJc3RydWN0IGxpc3RfaGVhZCAqbGlzdDsKI2lm ZGVmIENPTkZJR19TTVAKCWludCBjcHU7CiNlbmRpZgoKCWxvY2sgPSAmZ2V0X2NwdV92YXIoZmls ZXNfY3B1bG9jayk7CiNpZmRlZiBDT05GSUdfU01QCgljcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7 CglsaXN0ID0gcGVyX2NwdV9wdHIoc2ItPnNfZmlsZXMsIGNwdSk7CglmaWxlLT5mX3NiX2xpc3Rf Y3B1ID0gY3B1OwojZWxzZQoJbGlzdCA9ICZzYi0+c19maWxlczsKI2VuZGlmCglwdXRfY3B1X3Zh cihmaWxlc19jcHVsb2NrKTsKCXNwaW5fbG9jayhsb2NrKTsKCUJVR19PTighbGlzdF9lbXB0eSgm ZmlsZS0+Zl91LmZ1X2xpc3QpKTsKCWxpc3RfYWRkKCZmaWxlLT5mX3UuZnVfbGlzdCwgbGlzdCk7 CglzcGluX3VubG9jayhsb2NrKTsKfQoKdm9pZCBmaWxlX3NiX2xpc3RfZGVsKHN0cnVjdCBmaWxl ICpmaWxlKQp7CglpZiAoIWxpc3RfZW1wdHkoJmZpbGUtPmZfdS5mdV9saXN0KSkgewoJCXNwaW5s b2NrX3QgKmxvY2s7CgojaWZkZWYgQ09ORklHX1NNUAoJCWxvY2sgPSAmcGVyX2NwdShmaWxlc19j cHVsb2NrLCBmaWxlLT5mX3NiX2xpc3RfY3B1KTsKI2Vsc2UKCQlsb2NrID0gJl9fZ2V0X2NwdV92 YXIoZmlsZXNfY3B1bG9jayk7CiNlbmRpZgoJCXNwaW5fbG9jayhsb2NrKTsKCQlsaXN0X2RlbF9p bml0KCZmaWxlLT5mX3UuZnVfbGlzdCk7CgkJc3Bpbl91bmxvY2sobG9jayk7Cgl9Cn0KCnN0YXRp YyB2b2lkIGZpbGVfbGlzdF9sb2NrX2FsbCh2b2lkKQp7CglpbnQgaTsKCWludCBuciA9IDA7CgoJ Zm9yX2VhY2hfcG9zc2libGVfY3B1KGkpIHsKCQlzcGlubG9ja190ICpsb2NrOwoKCQlsb2NrID0g JnBlcl9jcHUoZmlsZXNfY3B1bG9jaywgaSk7CgkJc3Bpbl9sb2NrX25lc3RlZChsb2NrLCBucik7 CgkJbnIrKzsKCX0KfQoKc3RhdGljIHZvaWQgZmlsZV9saXN0X3VubG9ja19hbGwodm9pZCkKewoJ aW50IGk7CgoJZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpIHsKCQlzcGlubG9ja190ICpsb2NrOwoK CQlsb2NrID0gJnBlcl9jcHUoZmlsZXNfY3B1bG9jaywgaSk7CgkJc3Bpbl91bmxvY2sobG9jayk7 Cgl9Cn0KCmludCBmc19tYXlfcmVtb3VudF9ybyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQp7Cglp bnQgaTsKCgkvKiBDaGVjayB0aGF0IG5vIGZpbGVzIGFyZSBjdXJyZW50bHkgb3BlbmVkIGZvciB3 cml0aW5nLiAqLwoJZmlsZV9saXN0X2xvY2tfYWxsKCk7Cglmb3JfZWFjaF9wb3NzaWJsZV9jcHUo aSkgewoJCXN0cnVjdCBmaWxlICpmaWxlOwoJCXN0cnVjdCBsaXN0X2hlYWQgKmxpc3Q7CgojaWZk ZWYgQ09ORklHX1NNUAoJCWxpc3QgPSBwZXJfY3B1X3B0cihzYi0+c19maWxlcywgaSk7CiNlbHNl CgkJbGlzdCA9ICZzYi0+c19maWxlczsKI2VuZGlmCgkJbGlzdF9mb3JfZWFjaF9lbnRyeShmaWxl LCBsaXN0LCBmX3UuZnVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpbm9k ZSAqaW5vZGU7CgogICAgICAgICAgICAgICAgICAgICAgIGlmICghKCYoZmlsZS0+Zl9wYXRoKSkp IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0VSUiAiZmlsZSAl cCBmcGF0aCA9PSBOVUxMXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZpbGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbGUtPmZfcGF0 aC5kZW50cnkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0VS UiAiZmlsZSAlcCBkZW50cnkgPT0gTlVMTFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmaWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl OwogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFm aWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHByaW50ayhLRVJOX0VSUiAiZmlsZSAlcCBkX2lub2RlID09IE5VTExcbiIsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgIGlub2RlID0gZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZTsKCgkJCS8q IEZpbGUgd2l0aCBwZW5kaW5nIGRlbGV0ZT8gKi8KCQkJaWYgKGlub2RlLT5pX25saW5rID09IDAp CgkJCQlnb3RvIHRvb19iYWQ7CgoJCQkvKiBXcml0ZWFibGUgZmlsZT8gKi8KCQkJaWYgKFNfSVNS RUcoaW5vZGUtPmlfbW9kZSkgJiYKCQkJCQkoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpKQoJ CQkJZ290byB0b29fYmFkOwoJCX0KCX0KCWZpbGVfbGlzdF91bmxvY2tfYWxsKCk7CglyZXR1cm4g MTsgLyogVGlzJyBjb29sIGJyby4gKi8KdG9vX2JhZDoKCWZpbGVfbGlzdF91bmxvY2tfYWxsKCk7 CglyZXR1cm4gMDsKfQoKLyoqCiAqCW1hcmtfZmlsZXNfcm8gLSBtYXJrIGFsbCBmaWxlcyByZWFk LW9ubHkKICoJQHNiOiBzdXBlcmJsb2NrIGluIHF1ZXN0aW9uCiAqCiAqCUFsbCBmaWxlcyBhcmUg bWFya2VkIHJlYWQtb25seS4gIFdlIGRvbid0IGNhcmUgYWJvdXQgcGVuZGluZwogKglkZWxldGUg ZmlsZXMgc28gdGhpcyBzaG91bGQgYmUgdXNlZCBpbiAnZm9yY2UnIG1vZGUgb25seS4KICovCnZv aWQgbWFya19maWxlc19ybyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQp7CglpbnQgaTsKCnJldHJ5 OgoJZmlsZV9saXN0X2xvY2tfYWxsKCk7Cglmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgewoJCXN0 cnVjdCBmaWxlICpmOwoJCXN0cnVjdCBsaXN0X2hlYWQgKmxpc3Q7CgojaWZkZWYgQ09ORklHX1NN UAoJCWxpc3QgPSBwZXJfY3B1X3B0cihzYi0+c19maWxlcywgaSk7CiNlbHNlCgkJbGlzdCA9ICZz Yi0+c19maWxlczsKI2VuZGlmCgkJbGlzdF9mb3JfZWFjaF9lbnRyeShmLCBsaXN0LCBmX3UuZnVf bGlzdCkgewoJCQlzdHJ1Y3QgdmZzbW91bnQgKm1udDsKCQkJaWYgKCFTX0lTUkVHKGYtPmZfcGF0 aC5kZW50cnktPmRfaW5vZGUtPmlfbW9kZSkpCgkJCSAgICAgICBjb250aW51ZTsKCQkJaWYgKCFm aWxlX2NvdW50KGYpKQoJCQkJY29udGludWU7CgkJCWlmICghKGYtPmZfbW9kZSAmIEZNT0RFX1dS SVRFKSkKCQkJCWNvbnRpbnVlOwoJCQlzcGluX2xvY2soJmYtPmZfbG9jayk7CgkJCWYtPmZfbW9k ZSAmPSB+Rk1PREVfV1JJVEU7CgkJCXNwaW5fdW5sb2NrKCZmLT5mX2xvY2spOwoJCQlpZiAoZmls ZV9jaGVja193cml0ZWFibGUoZikgIT0gMCkKCQkJCWNvbnRpbnVlOwoJCQlmaWxlX3JlbGVhc2Vf d3JpdGUoZik7CgkJCW1udCA9IG1udGdldChmLT5mX3BhdGgubW50KTsKCQkJLyogVGhpcyBjYW4g c2xlZXAsIHNvIHdlIGNhbid0IGhvbGQgdGhlIHNwaW5sb2NrLiAqLwoJCQlmaWxlX2xpc3RfdW5s b2NrX2FsbCgpOwoJCQltbnRfZHJvcF93cml0ZShtbnQpOwoJCQltbnRwdXQobW50KTsKCQkJZ290 byByZXRyeTsKCQl9Cgl9CglmaWxlX2xpc3RfdW5sb2NrX2FsbCgpOwp9Cgp2b2lkIF9faW5pdCBm aWxlc19pbml0KHVuc2lnbmVkIGxvbmcgbWVtcGFnZXMpCnsgCglpbnQgbjsgCglpbnQgaTsKCglm aWxwX2NhY2hlcCA9IGttZW1fY2FjaGVfY3JlYXRlKCJmaWxwIiwgc2l6ZW9mKHN0cnVjdCBmaWxl KSwgMCwKCQkJU0xBQl9IV0NBQ0hFX0FMSUdOIHwgU0xBQl9QQU5JQywgTlVMTCk7CgoJLyoKCSAq IE9uZSBmaWxlIHdpdGggYXNzb2NpYXRlZCBpbm9kZSBhbmQgZGNhY2hlIGlzIHZlcnkgcm91Z2hs eSAxSy4KCSAqIFBlciBkZWZhdWx0IGRvbid0IHVzZSBtb3JlIHRoYW4gMTAlIG9mIG91ciBtZW1v cnkgZm9yIGZpbGVzLiAKCSAqLyAKCgluID0gKG1lbXBhZ2VzICogKFBBR0VfU0laRSAvIDEwMjQp KSAvIDEwOwoJZmlsZXNfc3RhdC5tYXhfZmlsZXMgPSBuOyAKCWlmIChmaWxlc19zdGF0Lm1heF9m aWxlcyA8IE5SX0ZJTEUpCgkJZmlsZXNfc3RhdC5tYXhfZmlsZXMgPSBOUl9GSUxFOwoJZmlsZXNf ZGVmZXJfaW5pdCgpOwoJZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpCgkJc3Bpbl9sb2NrX2luaXQo JnBlcl9jcHUoZmlsZXNfY3B1bG9jaywgaSkpOwoJcGVyY3B1X2NvdW50ZXJfaW5pdCgmbnJfZmls ZXMsIDApOwp9IAo= --000e0cd573c4d15025048554719a-- -- 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/