From owner-freebsd-jail@FreeBSD.ORG Mon Mar 21 18:58:48 2011 Return-Path: Delivered-To: freebsd-jail@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B02F106564A; Mon, 21 Mar 2011 18:58:48 +0000 (UTC) (envelope-from lacombar@gmail.com) Received: from mail-iw0-f182.google.com (mail-iw0-f182.google.com [209.85.214.182]) by mx1.freebsd.org (Postfix) with ESMTP id F3B4C8FC17; Mon, 21 Mar 2011 18:58:47 +0000 (UTC) Received: by iwn33 with SMTP id 33so7915790iwn.13 for ; Mon, 21 Mar 2011 11:58:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=q5BwkdUB9f59ZBI7VavxMQKHjZlYEsn952cYJ3uVxxU=; b=BjF7nkpJv25DBNg2hJD/QSs9FPs+/HGJLJ0YDe8Hg+LuLS0F+sa9yumN5dO5I0zgrz h/LKeTYbSmFD8w3/NkJ83TRw+yaSh27qrYP3QW/osVC77+otUAkJbBCV2OM2J4I0nm8b KWrxrWsIl71nj7xMq/MbFxT0Ggg7nJiKgLSqk= 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=AQYEHuyGfQwAz6AgxoiWHKRm8aGWHDE5+ZfTA9LGOM8JY38boHqFNfRMJwz0Ka+F+/ iM+jgRPO90mArNqbYIvqaQVGKTCP7sv6hcG5x4//OX5q49u4My86zMzP8Nm6GiKxsuMb AnYUP6adbehKvV74gCXIWrd/LTL3qP4079C50= MIME-Version: 1.0 Received: by 10.43.63.72 with SMTP id xd8mr7384180icb.215.1300732288438; Mon, 21 Mar 2011 11:31:28 -0700 (PDT) Received: by 10.42.146.72 with HTTP; Mon, 21 Mar 2011 11:31:28 -0700 (PDT) In-Reply-To: <4D86EA62.9060506@gmail.com> References: <4D85AE1B.7010407@gmail.com> <20110320173157.00002024@unknown> <4D86EA62.9060506@gmail.com> Date: Mon, 21 Mar 2011 14:31:28 -0400 Message-ID: From: Arnaud Lacombe To: David Demelier Content-Type: multipart/mixed; boundary=bcaec51d29f200109d049f025619 Cc: Alexander Leidinger , freebsd-current@freebsd.org, freebsd-jail@freebsd.org Subject: Re: WITHOUT_JAIL and make delete-old{,-libs} X-BeenThere: freebsd-jail@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion about FreeBSD jail\(8\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2011 18:58:48 -0000 --bcaec51d29f200109d049f025619 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi, [added freebsd-jail@freebsd.org to CC: list] On Mon, Mar 21, 2011 at 2:04 AM, David Demelier wrote: > On 20/03/2011 17:31, Alexander Leidinger wrote: >> >> On Sun, 20 Mar 2011 08:34:51 +0100 David Demelier >> =A0wrote: >> >>> Hello, >>> >>> I was surprised to see there is no ${MK_JAIL} conditional to remove >>> old files on 8.2-RELEASE so I started to write it without watching if >>> -CURRENT already make it in >>> /usr/src/tools/build/mk/OptionalObsoleteFiles.inc. >>> >>> .if ${MK_JAIL} =3D=3D no >>> OLD_FILES+=3Dusr/sbin/jail >>> OLD_FILES+=3Dusr/sbin/jexec >>> OLD_FILES+=3Dusr/sbin/jls >>> OLD_FILES+=3Dusr/share/man/man8/jail.8.gz >>> OLD_FILES+=3Dusr/share/man/man8/jexec.8.gz >>> OLD_FILES+=3Dusr/share/man/man8/jls.8.gz >>> .endif >>> >>> I personnaly added more files : >>> >>> OLD_LIBS+=3Dlib/libjail.so.1 >>> OLD_LIBS+=3Dusr/lib/libjail.a >>> OLD_LIBS+=3Dusr/lib/libjail_p.a >>> OLD_FILES+=3Dusr/lib/libjail.so >>> OLD_FILES+=3Detc/rc.d/jail >> >> So if you do an installworld, do those files you added show up again or >> not? If they show up, they are wrong to be added there. Delete old is >> supposed to delete stuff which does not get installed during an >> installworld but was installed in some older version of FreeBSD. From >> my reading of the Makefile in src/lib/ (on -current) it looks like at >> least the libjail is installed regardless of the knob. I do not know if >> this is a bug or by design, this would have to be discussed on the >> mailinglist which is about FreeBSD jails. >> >> If those files are not installed during an installworld, it's obviously >> a bug which needs to be fixed (and I would have misunderstood the >> Makefile). >> >>> (/usr/lib/libjail.so is a symbolic link) >>> >>> I think they should be removed too, thus can you merge it to -STABLE >>> if it's not already done? (sorry I'm not used to the cvs web >>> interface and I don't have -STABLE right now) >>> >>> Cheers, >>> >> > > No I understood why, that's because a lot of userland programs that can > handle jails processes are linked to the libjail such as top, ifconfig, .= .. > I happened to have made a patch for ifconfig, see attachment. AFAIT, buildworld builds fine with WITHOUT_JAIL=3D1, so there should not be further build dependency. - Arnaud --bcaec51d29f200109d049f025619 Content-Type: application/octet-stream; name="honors-WITHOUT_JAIL.patch" Content-Disposition: attachment; filename="honors-WITHOUT_JAIL.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gljqelko0 RnJvbSBkZGUxYmNhYjYzYmE1NmEwMjAyZmVlMGIyZGM0YmQxMTVhYTE5MmEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBcm5hdWQgTGFjb21iZSA8bGFjb21iYXJAZ21haWwuY29tPgpE YXRlOiBGcmksIDE4IE1hciAyMDExIDE3OjM0OjIzIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gSG9u b3JzIFdJVEhPVVRfSkFJTAoKVGhpcyBwYXRjaCBmaXhlcyBidWlsZHdvcmxkIHdoZW4gbGliamFp bCBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIGJ1aWxkLCBhcyBpdApzaG91bGQgYmUgaWYgV0lUSE9V VF9KQUlMIGRlZmluZWQuCgpDb21waWxlLXRlc3RlZCwgbm90IHJ1bnRpbWUgY2hlY2sgZG9uZS4K ClNpZ25lZC1vZmYtYnk6IEFybmF1ZCBMYWNvbWJlIDxsYWNvbWJhckBnbWFpbC5jb20+CgotLS0K IGxpYi9NYWtlZmlsZSAgICAgICAgICAgICB8ICAgIDYgKysrLQogc2Jpbi9pZmNvbmZpZy9NYWtl ZmlsZSAgIHwgICAxMCArKysrLQogc2Jpbi9pZmNvbmZpZy9pZmNvbmZpZy5jIHwgICAzMSAtLS0t LS0tLS0tLS0tLS0tCiBzYmluL2lmY29uZmlnL3ZuZXQuYyAgICAgfCAgIDkxICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTA0 IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNiaW4v aWZjb25maWcvdm5ldC5jCgpkaWZmIC0tZ2l0IGEvbGliL01ha2VmaWxlIGIvbGliL01ha2VmaWxl CmluZGV4IDRmZWYxYmIuLjlkODg4ODAgMTAwNjQ0Ci0tLSBhL2xpYi9NYWtlZmlsZQorKysgYi9s aWIvTWFrZWZpbGUKQEAgLTc3LDcgKzc3LDcgQEAgU1VCRElSPQkke1NVQkRJUl9PUkRFUkVEfSBc CiAJJHtfbGlicnBjc2VjX2dzc30gXAogCWxpYmlwc2VjIFwKIAkke19saWJpcHh9IFwKLQlsaWJq YWlsIFwKKwkke19saWJqYWlsfSBcCiAJbGlia2ljb252IFwKIAlsaWJsem1hIFwKIAlsaWJtYWdp YyBcCkBAIC0xNjUsNiArMTY1LDEwIEBAIF9saWJpY29udl9tb2R1bGVzPQlsaWJpY29udl9tb2R1 bGVzCiBfbGliaXB4PQlsaWJpcHgKIC5lbmRpZgogCisuaWYgJHtNS19KQUlMfSAhPSAibm8iCitf bGliamFpbD0JbGliamFpbAorLmVuZGlmCisKIC5pZiAke01LX0xJQlRIUn0gIT0gIm5vIgogX2xp YnRocj0JbGlidGhyCiAuZW5kaWYKZGlmZiAtLWdpdCBhL3NiaW4vaWZjb25maWcvTWFrZWZpbGUg Yi9zYmluL2lmY29uZmlnL01ha2VmaWxlCmluZGV4IDc3NDkxZjIuLjVmZjkyMDggMTAwNjQ0Ci0t LSBhL3NiaW4vaWZjb25maWcvTWFrZWZpbGUKKysrIGIvc2Jpbi9pZmNvbmZpZy9NYWtlZmlsZQpA QCAtMjgsOCArMjgsMTQgQEAgU1JDUys9CWlmZ3JlLmMJCQkjIEdSRSBrZXlzIGV0YwogU1JDUys9 CWlmZ2lmLmMJCQkjIEdJRiByZXZlcnNlZCBoZWFkZXIgd29ya2Fyb3VuZAogCiBTUkNTKz0JaWZp ZWVlODAyMTEuYyByZWdkb21haW4uYyAjIFNJT0NbR1NdSUVFRTgwMjExIHN1cHBvcnQKLURQQURE Kz0JJHtMSUJCU0RYTUx9ICR7TElCSkFJTH0gJHtMSUJTQlVGfQotTERBREQrPQktbGJzZHhtbCAt bGphaWwgLWxzYnVmCitEUEFERCs9CSR7TElCQlNEWE1MfSAke0xJQlNCVUZ9CitMREFERCs9CS1s YnNkeG1sIC1sc2J1ZgorCisuaWYgJHtNS19KQUlMfSAhPSAibm8iCitTUkNTKz0gdm5ldC5jCitE UEFERCs9CSR7TElCSkFJTH0KK0xEQUREKz0JLWxqYWlsCisuZW5kaWYKIAogU1JDUys9CWlmY2Fy cC5jCQkjIFNJT0NbR1NdVkggc3VwcG9ydAogU1JDUys9CWlmZ3JvdXAuYwkJIyAuLi4KZGlmZiAt LWdpdCBhL3NiaW4vaWZjb25maWcvaWZjb25maWcuYyBiL3NiaW4vaWZjb25maWcvaWZjb25maWcu YwppbmRleCA3YzVkMzUxLi4wMGM4ZDlmIDEwMDY0NAotLS0gYS9zYmluL2lmY29uZmlnL2lmY29u ZmlnLmMKKysrIGIvc2Jpbi9pZmNvbmZpZy9pZmNvbmZpZy5jCkBAIC02Niw3ICs2Niw2IEBAIHN0 YXRpYyBjb25zdCBjaGFyIHJjc2lkW10gPQogI2luY2x1ZGUgPGVyci5oPgogI2luY2x1ZGUgPGVy cm5vLmg+CiAjaW5jbHVkZSA8ZmNudGwuaD4KLSNpbmNsdWRlIDxqYWlsLmg+CiAjaW5jbHVkZSA8 c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTY2 NCwzNCArNjYzLDYgQEAgZGVsZXRldHVubmVsKGNvbnN0IGNoYXIgKnZuYW1lLCBpbnQgcGFyYW0s IGludCBzLCBjb25zdCBzdHJ1Y3QgYWZzd3RjaCAqYWZwKQogfQogCiBzdGF0aWMgdm9pZAotc2V0 aWZ2bmV0KGNvbnN0IGNoYXIgKmpuYW1lLCBpbnQgZHVtbXkgX191bnVzZWQsIGludCBzLAotICAg IGNvbnN0IHN0cnVjdCBhZnN3dGNoICphZnApCi17Ci0Jc3RydWN0IGlmcmVxIG15X2lmcjsKLQot CW1lbWNweSgmbXlfaWZyLCAmaWZyLCBzaXplb2YobXlfaWZyKSk7Ci0JbXlfaWZyLmlmcl9qaWQg PSBqYWlsX2dldGlkKGpuYW1lKTsKLQlpZiAobXlfaWZyLmlmcl9qaWQgPCAwKQotCQllcnJ4KDEs ICIlcyIsIGphaWxfZXJybXNnKTsKLQlpZiAoaW9jdGwocywgU0lPQ1NJRlZORVQsICZteV9pZnIp IDwgMCkKLQkJZXJyKDEsICJTSU9DU0lGVk5FVCIpOwotfQotCi1zdGF0aWMgdm9pZAotc2V0aWZy dm5ldChjb25zdCBjaGFyICpqbmFtZSwgaW50IGR1bW15IF9fdW51c2VkLCBpbnQgcywKLSAgICBj b25zdCBzdHJ1Y3QgYWZzd3RjaCAqYWZwKQotewotCXN0cnVjdCBpZnJlcSBteV9pZnI7Ci0KLQlt ZW1jcHkoJm15X2lmciwgJmlmciwgc2l6ZW9mKG15X2lmcikpOwotCW15X2lmci5pZnJfamlkID0g amFpbF9nZXRpZChqbmFtZSk7Ci0JaWYgKG15X2lmci5pZnJfamlkIDwgMCkKLQkJZXJyeCgxLCAi JXMiLCBqYWlsX2Vycm1zZyk7Ci0JaWYgKGlvY3RsKHMsIFNJT0NTSUZSVk5FVCwgJm15X2lmcikg PCAwKQotCQllcnIoMSwgIlNJT0NTSUZSVk5FVCglZCwgJXMpIiwgbXlfaWZyLmlmcl9qaWQsIG15 X2lmci5pZnJfbmFtZSk7Ci19Ci0KLXN0YXRpYyB2b2lkCiBzZXRpZm5ldG1hc2soY29uc3QgY2hh ciAqYWRkciwgaW50IGR1bW15IF9fdW51c2VkLCBpbnQgcywKICAgICBjb25zdCBzdHJ1Y3QgYWZz d3RjaCAqYWZwKQogewpAQCAtMTEzMyw4ICsxMTA0LDYgQEAgc3RhdGljIHN0cnVjdCBjbWQgYmFz aWNfY21kc1tdID0gewogCURFRl9DTURfQVJHMigidHVubmVsIiwJCQlzZXR0dW5uZWwpLAogCURF Rl9DTUQoIi10dW5uZWwiLCAwLAkJCWRlbGV0ZXR1bm5lbCksCiAJREVGX0NNRCgiZGVsZXRldHVu bmVsIiwgMCwJCWRlbGV0ZXR1bm5lbCksCi0JREVGX0NNRF9BUkcoInZuZXQiLAkJCXNldGlmdm5l dCksCi0JREVGX0NNRF9BUkcoIi12bmV0IiwJCQlzZXRpZnJ2bmV0KSwKIAlERUZfQ01EKCJsaW5r MCIsCUlGRl9MSU5LMCwJc2V0aWZmbGFncyksCiAJREVGX0NNRCgiLWxpbmswIiwJLUlGRl9MSU5L MCwJc2V0aWZmbGFncyksCiAJREVGX0NNRCgibGluazEiLAlJRkZfTElOSzEsCXNldGlmZmxhZ3Mp LApkaWZmIC0tZ2l0IGEvc2Jpbi9pZmNvbmZpZy92bmV0LmMgYi9zYmluL2lmY29uZmlnL3ZuZXQu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzg2ZDE0Ci0tLSAvZGV2L251 bGwKKysrIGIvc2Jpbi9pZmNvbmZpZy92bmV0LmMKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENv cHlyaWdodCAoYykgMTk4MywgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkg b2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90 aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiA0LiBOZWl0 aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy aWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz IGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9y IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ IFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJF U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO VCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5Z IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O U0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZF UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS QUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRI SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNV Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgbGludAorc3RhdGljIGNvbnN0IGNoYXIgcmNzaWRb XSA9CisgICIkRnJlZUJTRCQiOworI2VuZGlmIC8qIG5vdCBsaW50ICovCisKKyNpbmNsdWRlIDxz eXMvcGFyYW0uaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8c3lzL2lvY3Rs Lmg+CisKKyNpbmNsdWRlIDxuZXQvaWYuaD4KKyNpbmNsdWRlIDxuZXQvaWZfdmFyLmg+CisKKyNp bmNsdWRlIDxlcnIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxqYWlsLmg+CisK KyNpbmNsdWRlICJpZmNvbmZpZy5oIgorCitzdGF0aWMgdm9pZAorc2V0aWZ2bmV0KGNvbnN0IGNo YXIgKmpuYW1lLCBpbnQgZHVtbXkgX191bnVzZWQsIGludCBzLAorICAgIGNvbnN0IHN0cnVjdCBh ZnN3dGNoICphZnApCit7CisJc3RydWN0IGlmcmVxIG15X2lmcjsKKworCW1lbWNweSgmbXlfaWZy LCAmaWZyLCBzaXplb2YobXlfaWZyKSk7CisJbXlfaWZyLmlmcl9qaWQgPSBqYWlsX2dldGlkKGpu YW1lKTsKKwlpZiAobXlfaWZyLmlmcl9qaWQgPCAwKQorCQllcnJ4KDEsICIlcyIsIGphaWxfZXJy bXNnKTsKKwlpZiAoaW9jdGwocywgU0lPQ1NJRlZORVQsICZteV9pZnIpIDwgMCkKKwkJZXJyKDEs ICJTSU9DU0lGVk5FVCIpOworfQorCitzdGF0aWMgdm9pZAorc2V0aWZydm5ldChjb25zdCBjaGFy ICpqbmFtZSwgaW50IGR1bW15IF9fdW51c2VkLCBpbnQgcywKKyAgICBjb25zdCBzdHJ1Y3QgYWZz d3RjaCAqYWZwKQoreworCXN0cnVjdCBpZnJlcSBteV9pZnI7CisKKwltZW1jcHkoJm15X2lmciwg Jmlmciwgc2l6ZW9mKG15X2lmcikpOworCW15X2lmci5pZnJfamlkID0gamFpbF9nZXRpZChqbmFt ZSk7CisJaWYgKG15X2lmci5pZnJfamlkIDwgMCkKKwkJZXJyeCgxLCAiJXMiLCBqYWlsX2Vycm1z Zyk7CisJaWYgKGlvY3RsKHMsIFNJT0NTSUZSVk5FVCwgJm15X2lmcikgPCAwKQorCQllcnIoMSwg IlNJT0NTSUZSVk5FVCglZCwgJXMpIiwgbXlfaWZyLmlmcl9qaWQsIG15X2lmci5pZnJfbmFtZSk7 Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY21kIHZuZXRfY21kc1tdID0KK3sKKwlERUZfQ01EX0FSRygi dm5ldCIsCXNldGlmdm5ldCksCisJREVGX0NNRF9BUkcoIi12bmV0IiwJc2V0aWZydm5ldCksCit9 OworCitzdGF0aWMgX19jb25zdHJ1Y3RvciB2b2lkCit2bmV0X2N0b3Iodm9pZCkKK3sKKyNkZWZp bmUJTihhKQkoc2l6ZW9mKGEpIC8gc2l6ZW9mKGFbMF0pKQorCXNpemVfdCBpOworCisJZm9yIChp ID0gMDsgaSA8IE4odm5ldF9jbWRzKTsgIGkrKykKKwkJY21kX3JlZ2lzdGVyKCZ2bmV0X2NtZHNb aV0pOworI3VuZGVmIE4KK30KLS0gCjEuNy40LjEuMzEzLmdkN2M1OS5kaXJ0eQoK --bcaec51d29f200109d049f025619--