From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott James Remnant Date: Thu, 31 Aug 2006 20:02:45 +0000 Subject: Re: [PATCH] add options to udevtrigger to control scanning Message-Id: <1157054565.14312.14.camel@quest.netsplit.com> MIME-Version: 1 Content-Type: multipart/mixed; boundary="===============1902145295==" List-Id: References: <20060831004138.GA28528@kroah.com> In-Reply-To: <20060831004138.GA28528@kroah.com> To: linux-hotplug@vger.kernel.org --===============1902145295== Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-Ydo9vEBKyB6RIOq6Ghgd" --=-Ydo9vEBKyB6RIOq6Ghgd Content-Type: multipart/mixed; boundary="=-0ZjMQgP44XiUILd65Ov9" --=-0ZjMQgP44XiUILd65Ov9 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Thu, 2006-08-31 at 10:31 -0700, Greg KH wrote: > > The Ubuntu guys use a patch which can filter on values to have control > > over what is triggered and what not. If we are going that road, I like > > their patch more than this. >=20 > Do you have a pointer to where this patch is? >=20 Attached; I sent it to this list a while back as part of my "patches collection" mail. The reason we use this is that we try and have an initramfs that works on every single machine, rather than produce a tailored one for the machine underneath. So we take a little more care about what we coldplug and when -- rather than just probing for everything and hoping for the best. Scott --=20 Scott James Remnant scott@ubuntu.com --=-0ZjMQgP44XiUILd65Ov9 Content-Disposition: inline; filename=40-udevtrigger-filters.patch Content-Type: text/x-patch; name=40-udevtrigger-filters.patch; charset=utf-8 Content-Transfer-Encoding: base64 ZGlmZiAtcnVOcCB1ZGV2LTA5M34vdWRldnRyaWdnZXIuOCB1ZGV2LTA5My91ZGV2dHJpZ2dlci44 DQotLS0gdWRldi0wOTN+L3VkZXZ0cmlnZ2VyLjgJMjAwNi0wNS0yOSAxMDoxODoxNi4wMDAwMDAw MDAgKzAxMDANCisrKyB1ZGV2LTA5My91ZGV2dHJpZ2dlci44CTIwMDYtMDYtMDcgMTk6MzA6MzAu MDAwMDAwMDAwICswMTAwDQpAQCAtMSwzNyArMSwxMDAgQEANCi0uXCIgKiogWW91IHByb2JhYmx5 IGRvIG5vdCB3YW50IHRvIGVkaXQgdGhpcyBmaWxlIGRpcmVjdGx5ICoqDQotLlwiIEl0IHdhcyBn ZW5lcmF0ZWQgdXNpbmcgdGhlIERvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzICh2ZXJzaW9uIDEuNjku MSkuDQotLlwiIEluc3RlYWQgb2YgbWFudWFsbHkgZWRpdGluZyBpdCwgeW91IHByb2JhYmx5IHNo b3VsZCBlZGl0IHRoZSBEb2NCb29rIFhNTA0KLS5cIiBzb3VyY2UgZm9yIGl0IGFuZCB0aGVuIHVz ZSB0aGUgRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgdG8gcmVnZW5lcmF0ZSBpdC4NCi0uVEggIlVE RVZUUklHR0VSIiAiOCIgIk1hcmNoIDIwMDYiICJ1ZGV2IiAidWRldnRyaWdnZXIiDQotLlwiIGRp c2FibGUgaHlwaGVuYXRpb24NCi0ubmgNCi0uXCIgZGlzYWJsZSBqdXN0aWZpY2F0aW9uIChhZGp1 c3QgdGV4dCB0byBsZWZ0IG1hcmdpbiBvbmx5KQ0KLS5hZCBsDQotLlNIICJOQU1FIg0KKy5cIkdl bmVyYXRlZCBieSBkYjJtYW4ueHNsLiBEb24ndCBtb2RpZnkgdGhpcywgbW9kaWZ5IHRoZSBzb3Vy Y2UuDQorLmRlIFNoIFwiIFN1YnNlY3Rpb24NCisuYnINCisuaWYgdCAuU3ANCisubmUgNQ0KKy5Q UA0KK1xmQlxcJDFcZlINCisuUFANCisuLg0KKy5kZSBTcCBcIiBWZXJ0aWNhbCBzcGFjZSAod2hl biB3ZSBjYW4ndCB1c2UgLlBQKQ0KKy5pZiB0IC5zcCAuNXYNCisuaWYgbiAuc3ANCisuLg0KKy5k ZSBJcCBcIiBMaXN0IGl0ZW0NCisuYnINCisuaWUgXFxuKC4kPj0zIC5uZSBcXCQzDQorLmVsIC5u ZSAzDQorLklQICJcXCQxIiBcXCQyDQorLi4NCisuVEggIlVERVZUUklHR0VSIiA4ICJNYXJjaCAy MDA2IiAidWRldiIgInVkZXZ0cmlnZ2VyIg0KKy5TSCBOQU1FDQogdWRldnRyaWdnZXIgXC0gcmVx dWVzdCBrZXJuZWwgZGV2aWNlcyBldmVudHMgZm9yIGNvbGRwbHVnDQogLlNIICJTWU5PUFNJUyIN CisuYWQgbA0KKy5oeSAwDQogLkhQIDEyDQotXGZCdWRldnRyaWdnZXJcZlIgW1xmQlwtXC12ZXJi b3NlXGZSXSBbXGZCXC1cLWRyeVwtcnVuXGZSXQ0KK1xmQnVkZXZ0cmlnZ2VyXGZSIFtcZkJcLVwt dmVyYm9zZVxmUl0gW1xmQlwtXC1kcnlcLXJ1blxmUl0gW1xmQlwtXC1zZXJpYWxcZlJdIFtcZkJG SUxURVJcJi5cJi5cJi5cZlJdDQorLmFkDQorLmh5DQorDQogLlNIICJERVNDUklQVElPTiINCisN CiAuUFANCi1UcmlnZ2VyIGtlcm5lbCBkZXZpY2UgdWV2ZW50cyB0byByZXBsYXkgbWlzc2luZyBl dmVudHMgYXQgc3lzdGVtIGNvbGRwbHVnLg0KK1RyaWdnZXIga2VybmVsIGRldmljZSB1ZXZlbnRz IHRvIHJlcGxheSBtaXNzaW5nIGV2ZW50cyBhdCBzeXN0ZW0gY29sZHBsdWdcJi4NCisNCiAuU0gg Ik9QVElPTlMiDQorDQogLlRQDQogXGZCXC1cLXZlcmJvc2VcZlINCi1wcmludCBvdXQgdGhlIGRl dmljZXMgZm91bmQgaW4gc3lzZnMuDQorcHJpbnQgb3V0IHRoZSBkZXZpY2VzIGZvdW5kIGluIHN5 c2ZzXCYuDQorDQogLlRQDQogXGZCXC1cLWRyeVwtcnVuXGZSDQotZG9uJ3QgYWN0dWFsbHkgdHJp Z2dlciB0aGUgZXZlbnQuDQorZG9uJ3QgYWN0dWFsbHkgdHJpZ2dlciB0aGUgZXZlbnRcJi4NCisN CisuVFANCitcZkJcLVwtc2VyaWFsXGZSDQorcnVuIHVkZXZzZXR0bGUgYmV0d2VlbiBldmVudHNc Ji4NCisNCisuU0ggIkZJTFRFUiBPUFRJT05TIg0KKw0KKy5QUA0KK0FsbCBvcHRpb25zIGFyZSBh Y2N1bXVsYXRpdmUgYW5kIG1heSBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMNCisNCisuVFAN CitcZkJcLUlcZklhdHRyXGZSPVxmSXZhbHVlXGZSXGZSDQorb25seSB0aG9zZSBkZXZpY2VzIGZv ciB3aGljaCB0aGUgZ2l2ZW4gYXR0cmlidXRlIG1hdGNoZXMgdGhlIHZhbHVlICh3aGljaCBtYXkg aW5jbHVkZSB3aWxkY2FyZHMpIGFyZSB0cmlnZ2VyZWQNCisNCisuVFANCitcZkJcLVhcZklhdHRy XGZSPVxmSXZhbHVlXGZSXGZSDQorb25seSB0aG9zZSBkZXZpY2VzIGZvciB3aGljaCB0aGUgZ2l2 ZW4gYXR0cmlidXRlIERPRVMgTk9UIE1BVENIIHRoZSB2YWx1ZSAod2hpY2ggbWF5IGluY2x1ZGUg d2lsZGNhcmRzKSBhcmUgdHJpZ2dlcmVkDQorDQorLlRQDQorXGZCXC1CXGZJYnVzXGZSXGZSDQor ZGV2aWNlcyBvbiB0aGUgZ2l2ZW4gYnVzIGFyZSB0cmlnZ2VyZWQNCisNCisuVFANCitcZkJcLUNc ZkljbGFzc1xmUlxmUg0KK2RldmljZXMgaW4gdGhlIGdpdmVuIGNsYXNzIGFyZSB0cmlnZ2VyZWQN CisNCisuVFANCitcZkJcLUZcZlINCitkZXZpY2VzIHRoYXQgaGF2ZSBwcmV2aW91c2x5IGZhaWxl ZCBhcmUgdHJpZ2dlcmVkDQorDQorLlRQDQorXGZCXC1iXGZSDQorYmxvY2sgZGV2aWNlcyBhcmUg dHJpZ2dlcmVkDQorDQorLlRQDQorXGZCXC1jXGZSDQorY2xhc3MgZGV2aWNlcyBhcmUgdHJpZ2dl cmVkDQorDQogLlNIICJFTlZJUk9OTUVOVCINCisNCiAuVFANCiBcZkJVREVWX0xPR1xmUg0KLU92 ZXJyaWRlcyB0aGUgc3lzbG9nIHByaW9yaXR5IHNwZWNpZmllZCBpbiB0aGUgY29uZmlnIGZpbGUu DQorT3ZlcnJpZGVzIHRoZSBzeXNsb2cgcHJpb3JpdHkgc3BlY2lmaWVkIGluIHRoZSBjb25maWcg ZmlsZVwmLg0KKw0KIC5TSCAiQVVUSE9SIg0KKw0KIC5QUA0KLVdyaXR0ZW4gYnkgS2F5IFNpZXZl cnMNCi08a2F5LnNpZXZlcnNAdnJmeS5vcmc+DQotYW5kIEhhbm5lcyBSZWluZWNrZQ0KLTxoYXJl QHN1c2UuZGU+Lg0KK1dyaXR0ZW4gYnkgS2F5IFNpZXZlcnMgPGtheVwmLnNpZXZlcnNAdnJmeVwm Lm9yZz4gYW5kIEhhbm5lcyBSZWluZWNrZSA8aGFyZUBzdXNlXCYuZGU+XCYuDQorDQogLlNIICJT RUUgQUxTTyINCisNCiAuUFANCiBcZkJ1ZGV2XGZSKDcpDQorDQorLlNIIEFVVEhPUg0KK0theSBT aWV2ZXJzLg0KZGlmZiAtcnVOcCB1ZGV2LTA5M34vdWRldnRyaWdnZXIuYyB1ZGV2LTA5My91ZGV2 dHJpZ2dlci5jDQotLS0gdWRldi0wOTN+L3VkZXZ0cmlnZ2VyLmMJMjAwNi0wNS0yOSAxMDoxODox Ni4wMDAwMDAwMDAgKzAxMDANCisrKyB1ZGV2LTA5My91ZGV2dHJpZ2dlci5jCTIwMDYtMDYtMDcg MjA6MDY6MzEuMDAwMDAwMDAwICswMTAwDQpAQCAtMjcsMTUgKzI3LDE5IEBADQogI2luY2x1ZGUg PGVycm5vLmg+DQogI2luY2x1ZGUgPGRpcmVudC5oPg0KICNpbmNsdWRlIDxmY250bC5oPg0KKyNp bmNsdWRlIDxjdHlwZS5oPg0KICNpbmNsdWRlIDxzeXNsb2cuaD4NCiAjaW5jbHVkZSA8c3lzL3N0 YXQuaD4NCiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQorI2luY2x1ZGUgPHN5cy93YWl0Lmg+DQog DQogI2luY2x1ZGUgInVkZXYuaCINCisjaW5jbHVkZSAidWRldmQuaCINCiANCiBzdGF0aWMgY29u c3QgY2hhciAqdWRldl9sb2dfc3RyOw0KIHN0YXRpYyBpbnQgdmVyYm9zZTsNCiBzdGF0aWMgaW50 IGRyeV9ydW47DQorc3RhdGljIGludCBzZXJpYWxfcGx1ZzsNCiANCiAjaWZkZWYgVVNFX0xPRw0K IHZvaWQgbG9nX21lc3NhZ2UoaW50IHByaW9yaXR5LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikN CkBAIC05NiwxMSArMTAwLDg5IEBAIHN0YXRpYyBpbnQgZGV2aWNlX2xpc3RfaW5zZXJ0KGNvbnN0 IGNoYXINCiAJcmV0dXJuIDA7DQogfQ0KIA0KK3N0cnVjdCBmaWx0ZXIgew0KKwlzdHJ1Y3QgbGlz dF9oZWFkIG5vZGU7DQorCWNoYXIgbmFtZVtOQU1FX1NJWkVdOw0KKwljaGFyIHZhbHVlW1ZBTFVF X1NJWkVdOw0KKwlpbnQgaW5jbHVkZTsNCit9Ow0KKw0KK0xJU1RfSEVBRChmaWx0ZXJfbGlzdCk7 DQorDQorc3RhdGljIGludCBmaWx0ZXJfbGlzdF9pbnNlcnQoaW50IGluY2x1ZGUsIGNvbnN0IGNo YXIgKmZpbHRlcikNCit7DQorCXN0cnVjdCBmaWx0ZXIgKm5ld19maWx0ZXI7DQorCWNvbnN0IGNo YXIgKnB0cjsNCisNCisJbmV3X2ZpbHRlciA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGZpbHRlcikp Ow0KKwlpZiAoIW5ld19maWx0ZXIpIHsNCisJCWRiZygiZXJyb3IgbWFsbG9jIik7DQorCQlyZXR1 cm4gLUVOT01FTTsNCisJfQ0KKwluZXdfZmlsdGVyLT5pbmNsdWRlID0gaW5jbHVkZTsNCisNCisJ cHRyID0gc3RyY2hyKGZpbHRlciwgJz0nKTsNCisJaWYgKHB0cikgew0KKwkJaWYgKChzaXplX3Qp KHB0ciArIDEgLSBmaWx0ZXIpID4gc2l6ZW9mKG5ld19maWx0ZXItPm5hbWUpKSB7DQorCQkJZXJy KCJhdHRyaWJ1dGUgbmFtZSB0b28gbG9uZyBpbiBmaWx0ZXIgJXMiLCBmaWx0ZXIpOw0KKwkJCWZy ZWUobmV3X2ZpbHRlcik7DQorCQkJcmV0dXJuIDE7DQorCQl9DQorCQltZW1jcHkobmV3X2ZpbHRl ci0+bmFtZSwgZmlsdGVyLCBwdHIgLSBmaWx0ZXIpOw0KKwkJbmV3X2ZpbHRlci0+bmFtZVtwdHIg LSBmaWx0ZXJdID0gJ1wwJzsNCisNCisJCXN0cmxjcHkobmV3X2ZpbHRlci0+dmFsdWUsIHB0ciAr IDEsIHNpemVvZihuZXdfZmlsdGVyLT52YWx1ZSkpOw0KKwl9IGVsc2Ugew0KKwkJc3RybGNweShu ZXdfZmlsdGVyLT5uYW1lLCBmaWx0ZXIsIHNpemVvZihuZXdfZmlsdGVyLT5uYW1lKSk7DQorCQlz dHJsY3B5KG5ld19maWx0ZXItPnZhbHVlLCAiPyoiLCBzaXplb2YobmV3X2ZpbHRlci0+dmFsdWUp KTsNCisJfQ0KKw0KKwlsaXN0X2FkZF90YWlsKCZuZXdfZmlsdGVyLT5ub2RlLCAmZmlsdGVyX2xp c3QpOw0KKwlkYmcoImFkZCAlcyBmaWx0ZXIgJyVzJyB2YWx1ZSAnJXMnIiwNCisJICAgIG5ld19m aWx0ZXItPmluY2x1ZGUgPyAiaW5jbHVkZSIgOiAiZXhjbHVkZSIsDQorCSAgICBuZXdfZmlsdGVy LT5uYW1lLCBuZXdfZmlsdGVyLT52YWx1ZSk7DQorCXJldHVybiAwOw0KK30NCisNCiBzdGF0aWMg dm9pZCB0cmlnZ2VyX3VldmVudChjb25zdCBjaGFyICpwYXRoKQ0KIHsNCisJc3RydWN0IGZpbHRl ciAqbG9vcF9maWx0ZXI7DQorCWNvbnN0IGNoYXIgKmRldnBhdGg7DQogCWNoYXIgZmlsZW5hbWVb UEFUSF9TSVpFXTsNCiAJaW50IGZkOw0KIA0KKwlkZXZwYXRoID0gcGF0aDsNCisJaWYgKCFzdHJu Y21wIChkZXZwYXRoLCBzeXNmc19wYXRoLCBzdHJsZW4oc3lzZnNfcGF0aCkpKQ0KKwkJZGV2cGF0 aCArPSBzdHJsZW4oc3lzZnNfcGF0aCk7DQorDQorCWxpc3RfZm9yX2VhY2hfZW50cnkobG9vcF9m aWx0ZXIsICZmaWx0ZXJfbGlzdCwgbm9kZSkgew0KKwkJY2hhciAqYXR0ciwgdmFsdWVbMjU2XTsN CisJCWludCBpOw0KKw0KKwkJYXR0ciA9IHN5c2ZzX2F0dHJfZ2V0X3ZhbHVlKGRldnBhdGgsIGxv b3BfZmlsdGVyLT5uYW1lKTsNCisJCWlmICghYXR0cikgew0KKwkJCWlmIChsb29wX2ZpbHRlci0+ aW5jbHVkZSkNCisJCQkJcmV0dXJuOw0KKw0KKwkJCWNvbnRpbnVlOw0KKwkJfQ0KKw0KKwkJaSA9 IHN0cmxjcHkodmFsdWUsIGF0dHIsIHNpemVvZih2YWx1ZSkpOw0KKwkJd2hpbGUgKGkgPiAwICYm IGlzc3BhY2UodmFsdWVbaS0xXSkpDQorCQkJdmFsdWVbLS1pXSA9ICdcMCc7DQorDQorCQlpZiAo c3RyY21wX3BhdHRlcm4obG9vcF9maWx0ZXItPnZhbHVlLCB2YWx1ZSkgPT0gMCkgew0KKwkJCWRi ZygiZGV2aWNlICclcycgYXR0ciAnJXMnIG1hdGNoZWQgZmlsdGVyICclcycgPC0+ICclcyciLA0K KwkJCSAgICBwYXRoLCBsb29wX2ZpbHRlci0+bmFtZSwgdmFsdWUsIGxvb3BfZmlsdGVyLT52YWx1 ZSk7DQorDQorCQkJaWYgKCFsb29wX2ZpbHRlci0+aW5jbHVkZSkNCisJCQkJcmV0dXJuOw0KKwkJ fSBlbHNlIHsNCisJCQlpZiAobG9vcF9maWx0ZXItPmluY2x1ZGUpDQorCQkJCXJldHVybjsNCisJ CX0NCisJfQ0KKw0KIAlzdHJsY3B5KGZpbGVuYW1lLCBwYXRoLCBzaXplb2YoZmlsZW5hbWUpKTsN CiAJc3RybGNhdChmaWxlbmFtZSwgIi91ZXZlbnQiLCBzaXplb2YoZmlsZW5hbWUpKTsNCiANCkBA IC0xMjAsNiArMjAyLDI0IEBAIHN0YXRpYyB2b2lkIHRyaWdnZXJfdWV2ZW50KGNvbnN0IGNoYXIg KnANCiAJCWluZm8oImVycm9yIG9uIHRyaWdnZXJpbmcgJXM6ICVzXG4iLCBmaWxlbmFtZSwgc3Ry ZXJyb3IoZXJybm8pKTsNCiANCiAJY2xvc2UoZmQpOw0KKw0KKwlpZiAoc2VyaWFsX3BsdWcgJiYg IWRyeV9ydW4pIHsNCisJCXBpZF90IHBpZDsNCisNCisJCXBpZCA9IGZvcmsoKTsNCisJCXN3aXRj aChwaWQpIHsNCisJCWNhc2UgMDoNCisJCQlleGVjbCgiL3NiaW4vdWRldnNldHRsZSIsICIvc2Jp bi91ZGV2c2V0dGxlIiwgTlVMTCk7DQorDQorCQkJLyogd2Ugc2hvdWxkIG5ldmVyIHJlYWNoIHRo aXMgKi8NCisJCQllcnIoImV4ZWMgb2YgdWRldnNldHRsZSBmYWlsZWQiKTsNCisJCQlfZXhpdCgx KTsNCisJCWNhc2UgLTE6DQorCQkJZXJyKCJmb3JrIG9mIHVkZXZzZXR0bGUgZmFpbGVkOiAlcyIs IHN0cmVycm9yKGVycm5vKSk7DQorCQlkZWZhdWx0Og0KKwkJCXdhaXRwaWQocGlkLCBOVUxMLCAw KTsNCisJCX0NCisJfQ0KIH0NCiANCiBzdGF0aWMgdm9pZCBleGVjX2xpc3RzKHZvaWQpDQpAQCAt MTY2LDYgKzI2NiwzNSBAQCBzdGF0aWMgaW50IGlzX2RldmljZShjb25zdCBjaGFyICpwYXRoKQ0K IAlyZXR1cm4gMTsNCiB9DQogDQorc3RhdGljIHZvaWQgdWRldl9zY2FuX2J1c19kZXZpY2VzKGNv bnN0IGNoYXIgKmRldnBhdGgpDQorew0KKwljaGFyIGRpcm5hbWVbUEFUSF9TSVpFXTsNCisJRElS ICpkaXIyOw0KKwlzdHJ1Y3QgZGlyZW50ICpkZW50MjsNCisNCisJc3RybGNweShkaXJuYW1lLCBk ZXZwYXRoLCBzaXplb2YoZGlybmFtZSkpOw0KKwlzdHJsY2F0KGRpcm5hbWUsICIvZGV2aWNlcyIs IHNpemVvZihkaXJuYW1lKSk7DQorDQorCS8qIGxvb2sgZm9yIGRldmljZXMgKi8NCisJZGlyMiA9 IG9wZW5kaXIoZGlybmFtZSk7DQorCWlmIChkaXIyICE9IE5VTEwpIHsNCisJCWZvciAoZGVudDIg PSByZWFkZGlyKGRpcjIpOyBkZW50MiAhPSBOVUxMOyBkZW50MiA9IHJlYWRkaXIoZGlyMikpIHsN CisJCQljaGFyIGRpcm5hbWUyW1BBVEhfU0laRV07DQorDQorCQkJaWYgKGRlbnQyLT5kX25hbWVb MF0gPT0gJy4nKQ0KKwkJCQljb250aW51ZTsNCisNCisJCQlzdHJsY3B5KGRpcm5hbWUyLCBkaXJu YW1lLCBzaXplb2YoZGlybmFtZTIpKTsNCisJCQlzdHJsY2F0KGRpcm5hbWUyLCAiLyIsIHNpemVv ZihkaXJuYW1lMikpOw0KKwkJCXN0cmxjYXQoZGlybmFtZTIsIGRlbnQyLT5kX25hbWUsIHNpemVv ZihkaXJuYW1lMikpOw0KKw0KKwkJCWlmIChpc19kZXZpY2UoZGlybmFtZTIpKQ0KKwkJCQlkZXZp Y2VfbGlzdF9pbnNlcnQoZGlybmFtZTIpOw0KKwkJfQ0KKwkJY2xvc2VkaXIoZGlyMik7DQorCX0N Cit9DQorDQogc3RhdGljIHZvaWQgdWRldl9zY2FuX2J1cyh2b2lkKQ0KIHsNCiAJY2hhciBiYXNl W1BBVEhfU0laRV07DQpAQCAtMTc5LDggKzMwOCw2IEBAIHN0YXRpYyB2b2lkIHVkZXZfc2Nhbl9i dXModm9pZCkNCiAJaWYgKGRpciAhPSBOVUxMKSB7DQogCQlmb3IgKGRlbnQgPSByZWFkZGlyKGRp cik7IGRlbnQgIT0gTlVMTDsgZGVudCA9IHJlYWRkaXIoZGlyKSkgew0KIAkJCWNoYXIgZGlybmFt ZVtQQVRIX1NJWkVdOw0KLQkJCURJUiAqZGlyMjsNCi0JCQlzdHJ1Y3QgZGlyZW50ICpkZW50MjsN CiANCiAJCQlpZiAoZGVudC0+ZF9uYW1lWzBdID09ICcuJykNCiAJCQkJY29udGludWU7DQpAQCAt MTg4LDMxICszMTUsMjQgQEAgc3RhdGljIHZvaWQgdWRldl9zY2FuX2J1cyh2b2lkKQ0KIAkJCXN0 cmxjcHkoZGlybmFtZSwgYmFzZSwgc2l6ZW9mKGRpcm5hbWUpKTsNCiAJCQlzdHJsY2F0KGRpcm5h bWUsICIvIiwgc2l6ZW9mKGRpcm5hbWUpKTsNCiAJCQlzdHJsY2F0KGRpcm5hbWUsIGRlbnQtPmRf bmFtZSwgc2l6ZW9mKGRpcm5hbWUpKTsNCi0JCQlzdHJsY2F0KGRpcm5hbWUsICIvZGV2aWNlcyIs IHNpemVvZihkaXJuYW1lKSk7DQotDQotCQkJLyogbG9vayBmb3IgZGV2aWNlcyAqLw0KLQkJCWRp cjIgPSBvcGVuZGlyKGRpcm5hbWUpOw0KLQkJCWlmIChkaXIyICE9IE5VTEwpIHsNCi0JCQkJZm9y IChkZW50MiA9IHJlYWRkaXIoZGlyMik7IGRlbnQyICE9IE5VTEw7IGRlbnQyID0gcmVhZGRpcihk aXIyKSkgew0KLQkJCQkJY2hhciBkaXJuYW1lMltQQVRIX1NJWkVdOw0KIA0KLQkJCQkJaWYgKGRl bnQyLT5kX25hbWVbMF0gPT0gJy4nKQ0KLQkJCQkJCWNvbnRpbnVlOw0KLQ0KLQkJCQkJc3RybGNw eShkaXJuYW1lMiwgZGlybmFtZSwgc2l6ZW9mKGRpcm5hbWUyKSk7DQotCQkJCQlzdHJsY2F0KGRp cm5hbWUyLCAiLyIsIHNpemVvZihkaXJuYW1lMikpOw0KLQkJCQkJc3RybGNhdChkaXJuYW1lMiwg ZGVudDItPmRfbmFtZSwgc2l6ZW9mKGRpcm5hbWUyKSk7DQotDQotCQkJCQlpZiAoaXNfZGV2aWNl KGRpcm5hbWUyKSkNCi0JCQkJCQlkZXZpY2VfbGlzdF9pbnNlcnQoZGlybmFtZTIpOw0KLQkJCQl9 DQotCQkJCWNsb3NlZGlyKGRpcjIpOw0KLQkJCX0NCisJCQl1ZGV2X3NjYW5fYnVzX2RldmljZXMo ZGlybmFtZSk7DQogCQl9DQogCQljbG9zZWRpcihkaXIpOw0KIAl9DQogfQ0KIA0KK3N0YXRpYyB2 b2lkIHVkZXZfc2Nhbl9vbmVfYnVzKGNvbnN0IGNoYXIgKmJ1cykNCit7DQorCWNoYXIgYmFzZVtQ QVRIX1NJWkVdOw0KKw0KKwlzdHJsY3B5KGJhc2UsIHN5c2ZzX3BhdGgsIHNpemVvZihiYXNlKSk7 DQorCXN0cmxjYXQoYmFzZSwgIi9idXMvIiwgc2l6ZW9mKGJhc2UpKTsNCisJc3RybGNhdChiYXNl LCBidXMsIHNpemVvZihiYXNlKSk7DQorDQorCXVkZXZfc2Nhbl9idXNfZGV2aWNlcyhiYXNlKTsN Cit9DQorDQogc3RhdGljIHZvaWQgdWRldl9zY2FuX2Jsb2NrKHZvaWQpDQogew0KIAljaGFyIGJh c2VbUEFUSF9TSVpFXTsNCkBAIC0yNzIsNiArMzkyLDMyIEBAIHN0YXRpYyB2b2lkIHVkZXZfc2Nh bl9ibG9jayh2b2lkKQ0KIAl9DQogfQ0KIA0KK3N0YXRpYyB2b2lkIHVkZXZfc2Nhbl9jbGFzc19k ZXZpY2VzKGNvbnN0IGNoYXIgKmRldnBhdGgpDQorew0KKwlESVIgKmRpcjI7DQorCXN0cnVjdCBk aXJlbnQgKmRlbnQyOw0KKw0KKwlkaXIyID0gb3BlbmRpcihkZXZwYXRoKTsNCisJaWYgKGRpcjIg IT0gTlVMTCkgew0KKwkJZm9yIChkZW50MiA9IHJlYWRkaXIoZGlyMik7IGRlbnQyICE9IE5VTEw7 IGRlbnQyID0gcmVhZGRpcihkaXIyKSkgew0KKwkJCWNoYXIgZGlybmFtZVtQQVRIX1NJWkVdOw0K Kw0KKwkJCWlmIChkZW50Mi0+ZF9uYW1lWzBdID09ICcuJykNCisJCQkJY29udGludWU7DQorDQor CQkJaWYgKCFzdHJjbXAoZGVudDItPmRfbmFtZSwgImRldmljZSIpKQ0KKwkJCQljb250aW51ZTsN CisNCisJCQlzdHJsY3B5KGRpcm5hbWUsIGRldnBhdGgsIHNpemVvZihkaXJuYW1lKSk7DQorCQkJ c3RybGNhdChkaXJuYW1lLCAiLyIsIHNpemVvZihkaXJuYW1lKSk7DQorCQkJc3RybGNhdChkaXJu YW1lLCBkZW50Mi0+ZF9uYW1lLCBzaXplb2YoZGlybmFtZSkpOw0KKwkJCWlmIChpc19kZXZpY2Uo ZGlybmFtZSkpDQorCQkJCWRldmljZV9saXN0X2luc2VydChkaXJuYW1lKTsNCisJCX0NCisJCWNs b3NlZGlyKGRpcjIpOw0KKwl9DQorfQ0KKw0KIHN0YXRpYyB2b2lkIHVkZXZfc2Nhbl9jbGFzcyh2 b2lkKQ0KIHsNCiAJY2hhciBiYXNlW1BBVEhfU0laRV07DQpAQCAtMjg1LDggKzQzMSw2IEBAIHN0 YXRpYyB2b2lkIHVkZXZfc2Nhbl9jbGFzcyh2b2lkKQ0KIAlpZiAoZGlyICE9IE5VTEwpIHsNCiAJ CWZvciAoZGVudCA9IHJlYWRkaXIoZGlyKTsgZGVudCAhPSBOVUxMOyBkZW50ID0gcmVhZGRpcihk aXIpKSB7DQogCQkJY2hhciBkaXJuYW1lW1BBVEhfU0laRV07DQotCQkJRElSICpkaXIyOw0KLQkJ CXN0cnVjdCBkaXJlbnQgKmRlbnQyOw0KIA0KIAkJCWlmIChkZW50LT5kX25hbWVbMF0gPT0gJy4n KQ0KIAkJCQljb250aW51ZTsNCkBAIC0yOTQsMjUgKzQzOCw1NCBAQCBzdGF0aWMgdm9pZCB1ZGV2 X3NjYW5fY2xhc3Modm9pZCkNCiAJCQlzdHJsY3B5KGRpcm5hbWUsIGJhc2UsIHNpemVvZihkaXJu YW1lKSk7DQogCQkJc3RybGNhdChkaXJuYW1lLCAiLyIsIHNpemVvZihkaXJuYW1lKSk7DQogCQkJ c3RybGNhdChkaXJuYW1lLCBkZW50LT5kX25hbWUsIHNpemVvZihkaXJuYW1lKSk7DQotCQkJZGly MiA9IG9wZW5kaXIoZGlybmFtZSk7DQotCQkJaWYgKGRpcjIgIT0gTlVMTCkgew0KLQkJCQlmb3Ig KGRlbnQyID0gcmVhZGRpcihkaXIyKTsgZGVudDIgIT0gTlVMTDsgZGVudDIgPSByZWFkZGlyKGRp cjIpKSB7DQotCQkJCQljaGFyIGRpcm5hbWUyW1BBVEhfU0laRV07DQogDQotCQkJCQlpZiAoZGVu dDItPmRfbmFtZVswXSA9PSAnLicpDQotCQkJCQkJY29udGludWU7DQorCQkJdWRldl9zY2FuX2Ns YXNzX2RldmljZXMoZGlybmFtZSk7DQorCQl9DQorCQljbG9zZWRpcihkaXIpOw0KKwl9DQorfQ0K IA0KLQkJCQkJaWYgKCFzdHJjbXAoZGVudDItPmRfbmFtZSwgImRldmljZSIpKQ0KLQkJCQkJCWNv bnRpbnVlOw0KK3N0YXRpYyB2b2lkIHVkZXZfc2Nhbl9vbmVfY2xhc3MoY29uc3QgY2hhciAqY2xh c3MpDQorew0KKwljaGFyIGJhc2VbUEFUSF9TSVpFXTsNCiANCi0JCQkJCXN0cmxjcHkoZGlybmFt ZTIsIGRpcm5hbWUsIHNpemVvZihkaXJuYW1lMikpOw0KLQkJCQkJc3RybGNhdChkaXJuYW1lMiwg Ii8iLCBzaXplb2YoZGlybmFtZTIpKTsNCi0JCQkJCXN0cmxjYXQoZGlybmFtZTIsIGRlbnQyLT5k X25hbWUsIHNpemVvZihkaXJuYW1lMikpOw0KLQkJCQkJaWYgKGlzX2RldmljZShkaXJuYW1lMikp DQotCQkJCQkJZGV2aWNlX2xpc3RfaW5zZXJ0KGRpcm5hbWUyKTsNCi0JCQkJfQ0KLQkJCQljbG9z ZWRpcihkaXIyKTsNCi0JCQl9DQorCXN0cmxjcHkoYmFzZSwgc3lzZnNfcGF0aCwgc2l6ZW9mKGJh c2UpKTsNCisJc3RybGNhdChiYXNlLCAiL2NsYXNzLyIsIHNpemVvZihiYXNlKSk7DQorCXN0cmxj YXQoYmFzZSwgY2xhc3MsIHNpemVvZihiYXNlKSk7DQorDQorCXVkZXZfc2Nhbl9jbGFzc19kZXZp Y2VzKGJhc2UpOw0KK30NCisNCitzdGF0aWMgdm9pZCB1ZGV2X3NjYW5fZmFpbGVkKHZvaWQpDQor ew0KKwljaGFyIGJhc2VbUEFUSF9TSVpFXTsNCisJRElSICpkaXI7DQorCXN0cnVjdCBkaXJlbnQg KmRlbnQ7DQorDQorCXN0cmxjcHkoYmFzZSwgdWRldl9yb290LCBzaXplb2YoYmFzZSkpOw0KKwlz dHJsY2F0KGJhc2UsICIvIiwgc2l6ZW9mKGJhc2UpKTsNCisJc3RybGNhdChiYXNlLCBFVkVOVF9G QUlMRURfRElSLCBzaXplb2YoYmFzZSkpOw0KKw0KKwlkaXIgPSBvcGVuZGlyKGJhc2UpOw0KKwlp ZiAoZGlyICE9IE5VTEwpIHsNCisJCWZvciAoZGVudCA9IHJlYWRkaXIoZGlyKTsgZGVudCAhPSBO VUxMOyBkZW50ID0gcmVhZGRpcihkaXIpKSB7DQorCQkJY2hhciBsaW5rbmFtZVtQQVRIX1NJWkVd Ow0KKwkJCWNoYXIgZGlybmFtZVtQQVRIX1NJWkVdOw0KKw0KKwkJCWlmIChkZW50LT5kX25hbWVb MF0gPT0gJy4nKQ0KKwkJCQljb250aW51ZTsNCisNCisJCQlzdHJsY3B5KGxpbmtuYW1lLCBiYXNl LCBzaXplb2YobGlua25hbWUpKTsNCisJCQlzdHJsY2F0KGxpbmtuYW1lLCAiLyIsIHNpemVvZihs aW5rbmFtZSkpOw0KKwkJCXN0cmxjYXQobGlua25hbWUsIGRlbnQtPmRfbmFtZSwgc2l6ZW9mKGxp bmtuYW1lKSk7DQorDQorCQkJaWYgKHJlYWRsaW5rKGxpbmtuYW1lLCBkaXJuYW1lLCBzaXplb2Yo ZGlybmFtZSkpID09IDApDQorCQkJCWNvbnRpbnVlOw0KKw0KKwkJCWlmIChpc19kZXZpY2UoZGly bmFtZSkpDQorCQkJCWRldmljZV9saXN0X2luc2VydChkaXJuYW1lKTsNCisJCQllbHNlDQorCQkJ CWNvbnRpbnVlOw0KIAkJfQ0KIAkJY2xvc2VkaXIoZGlyKTsNCiAJfQ0KQEAgLTMyMCw2ICs0OTMs NyBAQCBzdGF0aWMgdm9pZCB1ZGV2X3NjYW5fY2xhc3Modm9pZCkNCiANCiBpbnQgbWFpbihpbnQg YXJnYywgY2hhciAqYXJndltdLCBjaGFyICplbnZwW10pDQogew0KKwlpbnQgc2Nhbl9kZWZhdWx0 ID0gMTsNCiAJaW50IGk7DQogDQogCWxvZ2dpbmdfaW5pdCgidWRldnRyaWdnZXIiKTsNCkBAIC0z MjgsNiArNTAyLDggQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgY2hhciAqZQ0K IA0KIAl1ZGV2X2xvZ19zdHIgPSBnZXRlbnYoIlVERVZfTE9HIik7DQogDQorCXN5c2ZzX2luaXQo KTsNCisNCiAJZm9yIChpID0gMSA7IGkgPCBhcmdjOyBpKyspIHsNCiAJCWNoYXIgKmFyZyA9IGFy Z3ZbaV07DQogDQpAQCAtMzM1LDE3ICs1MTEsNDAgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg KmFyZ3ZbXSwgY2hhciAqZQ0KIAkJCXZlcmJvc2UgPSAxOw0KIAkJZWxzZSBpZiAoc3RyY21wKGFy ZywgIi0tZHJ5LXJ1biIpID09IDAgfHwgc3RyY21wKGFyZywgIi1uIikgPT0gMCkNCiAJCQlkcnlf cnVuID0gMTsNCi0JCWVsc2Ugew0KLQkJCWZwcmludGYoc3RkZXJyLCAiVXNhZ2U6IHVkZXZ0cmln Z2VyIFstLXZlcmJvc2VdIFstLWRyeS1ydW5dXG4iKTsNCisJCWVsc2UgaWYgKHN0cmNtcChhcmcs ICItLXNlcmlhbCIpID09IDAgfHwgc3RyY21wKGFyZywgIi1zIikgPT0gMCkNCisJCQlzZXJpYWxf cGx1ZyA9IDE7DQorCQllbHNlIGlmIChzdHJuY21wKGFyZywgIi1JIiwgMikgPT0gMCkNCisJCQlm aWx0ZXJfbGlzdF9pbnNlcnQoMSwgYXJnICsgMik7DQorCQllbHNlIGlmIChzdHJuY21wKGFyZywg Ii1YIiwgMikgPT0gMCkNCisJCQlmaWx0ZXJfbGlzdF9pbnNlcnQoMCwgYXJnICsgMik7DQorCQll bHNlIGlmIChzdHJuY21wKGFyZywgIi1CIiwgMikgPT0gMCkgew0KKwkJCXVkZXZfc2Nhbl9vbmVf YnVzKGFyZyArIDIpOw0KKwkJCXNjYW5fZGVmYXVsdCA9IDA7DQorCQl9IGVsc2UgaWYgKHN0cm5j bXAoYXJnLCAiLUMiLCAyKSA9PSAwKSB7DQorCQkJdWRldl9zY2FuX29uZV9jbGFzcyhhcmcgKyAy KTsNCisJCQlzY2FuX2RlZmF1bHQgPSAwOw0KKwkJfSBlbHNlIGlmIChzdHJjbXAoYXJnLCAiLUYi KSA9PSAwKSB7DQorCQkJdWRldl9zY2FuX2ZhaWxlZCgpOw0KKwkJCXNjYW5fZGVmYXVsdCA9IDA7 DQorCQl9IGVsc2UgaWYgKHN0cmNtcChhcmcsICItYiIpID09IDApIHsNCisJCQl1ZGV2X3NjYW5f b25lX2NsYXNzKCJibG9jayIpOw0KKwkJCXVkZXZfc2Nhbl9ibG9jaygpOw0KKwkJCXNjYW5fZGVm YXVsdCA9IDA7DQorCQl9IGVsc2UgaWYgKHN0cmNtcChhcmcsICItYyIpID09IDApIHsNCisJCQl1 ZGV2X3NjYW5fY2xhc3MoKTsNCisJCQlzY2FuX2RlZmF1bHQgPSAwOw0KKwkJfSBlbHNlIHsNCisJ CQlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiB1ZGV2dHJpZ2dlciBbLS12ZXJib3NlXSBbLS1kcnkt cnVuXSBbLS1zZXJpYWxdIFtGSUxURVIuLi5dXG4iKTsNCiAJCQlnb3RvIGV4aXQ7DQogCQl9DQog CX0NCiANCi0Jc3lzZnNfaW5pdCgpOw0KKwlpZiAoc2Nhbl9kZWZhdWx0KSB7DQorCQl1ZGV2X3Nj YW5fYnVzKCk7DQorCQl1ZGV2X3NjYW5fY2xhc3MoKTsNCisJCXVkZXZfc2Nhbl9ibG9jaygpOw0K Kwl9DQogDQotCXVkZXZfc2Nhbl9idXMoKTsNCi0JdWRldl9zY2FuX2NsYXNzKCk7DQotCXVkZXZf c2Nhbl9ibG9jaygpOw0KIAlleGVjX2xpc3RzKCk7DQogDQogCXN5c2ZzX2NsZWFudXAoKTsNCmRp ZmYgLXJ1TnAgdWRldi0wOTN+L3VkZXZ0cmlnZ2VyLnhtbCB1ZGV2LTA5My91ZGV2dHJpZ2dlci54 bWwNCi0tLSB1ZGV2LTA5M34vdWRldnRyaWdnZXIueG1sCTIwMDYtMDUtMjkgMTA6MTg6MTYuMDAw MDAwMDAwICswMTAwDQorKysgdWRldi0wOTMvdWRldnRyaWdnZXIueG1sCTIwMDYtMDYtMDcgMTk6 MzA6MTcuMDAwMDAwMDAwICswMTAwDQpAQCAtMzksNiArMzksOCBAQA0KICAgICAgICAgICA8Y29t bWFuZD51ZGV2dHJpZ2dlcjwvY29tbWFuZD4NCiAgICAgICAgICAgPGFyZz48b3B0aW9uPi0tdmVy Ym9zZTwvb3B0aW9uPjwvYXJnPg0KICAgICAgICAgICA8YXJnPjxvcHRpb24+LS1kcnktcnVuPC9v cHRpb24+PC9hcmc+DQorICAgICAgICAgIDxhcmc+PG9wdGlvbj4tLXNlcmlhbDwvb3B0aW9uPjwv YXJnPg0KKyAgICAgICAgICA8YXJnPjxvcHRpb24+RklMVEVSLi4uPC9vcHRpb24+PC9hcmc+DQog ICAgICAgICA8L2NtZHN5bm9wc2lzPg0KICAgICAgIDwvcmVmc3lub3BzaXNkaXY+DQogDQpAQCAt NjAsNiArNjIsNjMgQEANCiAgICAgICAgICAgICAgIDxwYXJhPmRvbid0IGFjdHVhbGx5IHRyaWdn ZXIgdGhlIGV2ZW50LjwvcGFyYT4NCiAgICAgICAgICAgICA8L2xpc3RpdGVtPg0KICAgICAgICAg ICA8L3Zhcmxpc3RlbnRyeT4NCisgICAgICAgICAgPHZhcmxpc3RlbnRyeT4NCisgICAgICAgICAg ICA8dGVybT48b3B0aW9uPi0tc2VyaWFsPC9vcHRpb24+PC90ZXJtPg0KKyAgICAgICAgICAgIDxs aXN0aXRlbT4NCisgICAgICAgICAgICAgIDxwYXJhPnJ1biB1ZGV2c2V0dGxlIGJldHdlZW4gZXZl bnRzLjwvcGFyYT4NCisgICAgICAgICAgICA8L2xpc3RpdGVtPg0KKyAgICAgICAgICA8L3Zhcmxp c3RlbnRyeT4NCisgICAgICAgIDwvdmFyaWFibGVsaXN0Pg0KKyAgICAgIDwvcmVmc2VjdDE+DQor DQorICAgICAgPHJlZnNlY3QxPjx0aXRsZT5GSUxURVIgT1BUSU9OUzwvdGl0bGU+DQorICAgICAg PHBhcmE+QWxsIG9wdGlvbnMgYXJlIGFjY3VtdWxhdGl2ZSBhbmQgbWF5IGJlIHNwZWNpZmllZCBt dWx0aXBsZSB0aW1lczwvcGFyYT4NCisgICAgICAgIDx2YXJpYWJsZWxpc3Q+DQorICAgICAgICAg IDx2YXJsaXN0ZW50cnk+DQorICAgICAgICAgICAgPHRlcm0+PG9wdGlvbj4tSTxyZXBsYWNlYWJs ZT5hdHRyPC9yZXBsYWNlYWJsZT49PHJlcGxhY2VhYmxlPnZhbHVlPC9yZXBsYWNlYWJsZT48L29w dGlvbj48L3Rlcm0+DQorICAgICAgICAgICAgPGxpc3RpdGVtPg0KKyAgICAgICAgICAgICAgPHBh cmE+b25seSB0aG9zZSBkZXZpY2VzIGZvciB3aGljaCB0aGUgZ2l2ZW4gYXR0cmlidXRlIG1hdGNo ZXMNCisJICAgICAgdGhlIHZhbHVlICh3aGljaCBtYXkgaW5jbHVkZSB3aWxkY2FyZHMpIGFyZSB0 cmlnZ2VyZWQ8L3BhcmE+DQorICAgICAgICAgICAgPC9saXN0aXRlbT4NCisgICAgICAgICAgPC92 YXJsaXN0ZW50cnk+DQorICAgICAgICAgIDx2YXJsaXN0ZW50cnk+DQorICAgICAgICAgICAgPHRl cm0+PG9wdGlvbj4tWDxyZXBsYWNlYWJsZT5hdHRyPC9yZXBsYWNlYWJsZT49PHJlcGxhY2VhYmxl PnZhbHVlPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+DQorICAgICAgICAgICAgPGxpc3Rp dGVtPg0KKyAgICAgICAgICAgICAgPHBhcmE+b25seSB0aG9zZSBkZXZpY2VzIGZvciB3aGljaCB0 aGUgZ2l2ZW4gYXR0cmlidXRlIERPRVMNCisJICAgICAgTk9UIE1BVENIIHRoZSB2YWx1ZSAod2hp Y2ggbWF5IGluY2x1ZGUgd2lsZGNhcmRzKSBhcmUNCisJICAgICAgdHJpZ2dlcmVkPC9wYXJhPg0K KyAgICAgICAgICAgIDwvbGlzdGl0ZW0+DQorICAgICAgICAgIDwvdmFybGlzdGVudHJ5Pg0KKyAg ICAgICAgICA8dmFybGlzdGVudHJ5Pg0KKyAgICAgICAgICAgIDx0ZXJtPjxvcHRpb24+LUI8cmVw bGFjZWFibGU+YnVzPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+DQorICAgICAgICAgICAg PGxpc3RpdGVtPg0KKyAgICAgICAgICAgICAgPHBhcmE+ZGV2aWNlcyBvbiB0aGUgZ2l2ZW4gYnVz IGFyZSB0cmlnZ2VyZWQ8L3BhcmE+DQorICAgICAgICAgICAgPC9saXN0aXRlbT4NCisgICAgICAg ICAgPC92YXJsaXN0ZW50cnk+DQorICAgICAgICAgIDx2YXJsaXN0ZW50cnk+DQorICAgICAgICAg ICAgPHRlcm0+PG9wdGlvbj4tQzxyZXBsYWNlYWJsZT5jbGFzczwvcmVwbGFjZWFibGU+PC9vcHRp b24+PC90ZXJtPg0KKyAgICAgICAgICAgIDxsaXN0aXRlbT4NCisgICAgICAgICAgICAgIDxwYXJh PmRldmljZXMgaW4gdGhlIGdpdmVuIGNsYXNzIGFyZSB0cmlnZ2VyZWQ8L3BhcmE+DQorICAgICAg ICAgICAgPC9saXN0aXRlbT4NCisgICAgICAgICAgPC92YXJsaXN0ZW50cnk+DQorICAgICAgICAg IDx2YXJsaXN0ZW50cnk+DQorICAgICAgICAgICAgPHRlcm0+PG9wdGlvbj4tRjwvb3B0aW9uPjwv dGVybT4NCisgICAgICAgICAgICA8bGlzdGl0ZW0+DQorICAgICAgICAgICAgICA8cGFyYT5kZXZp Y2VzIHRoYXQgaGF2ZSBwcmV2aW91c2x5IGZhaWxlZCBhcmUgdHJpZ2dlcmVkPC9wYXJhPg0KKyAg ICAgICAgICAgIDwvbGlzdGl0ZW0+DQorICAgICAgICAgIDwvdmFybGlzdGVudHJ5Pg0KKyAgICAg ICAgICA8dmFybGlzdGVudHJ5Pg0KKyAgICAgICAgICAgIDx0ZXJtPjxvcHRpb24+LWI8L29wdGlv bj48L3Rlcm0+DQorICAgICAgICAgICAgPGxpc3RpdGVtPg0KKyAgICAgICAgICAgICAgPHBhcmE+ YmxvY2sgZGV2aWNlcyBhcmUgdHJpZ2dlcmVkPC9wYXJhPg0KKyAgICAgICAgICAgIDwvbGlzdGl0 ZW0+DQorICAgICAgICAgIDwvdmFybGlzdGVudHJ5Pg0KKyAgICAgICAgICA8dmFybGlzdGVudHJ5 Pg0KKyAgICAgICAgICAgIDx0ZXJtPjxvcHRpb24+LWM8L29wdGlvbj48L3Rlcm0+DQorICAgICAg ICAgICAgPGxpc3RpdGVtPg0KKyAgICAgICAgICAgICAgPHBhcmE+Y2xhc3MgZGV2aWNlcyBhcmUg dHJpZ2dlcmVkPC9wYXJhPg0KKyAgICAgICAgICAgIDwvbGlzdGl0ZW0+DQorICAgICAgICAgIDwv dmFybGlzdGVudHJ5Pg0KICAgICAgICAgPC92YXJpYWJsZWxpc3Q+DQogICAgICAgPC9yZWZzZWN0 MT4NCiANCm== --=-0ZjMQgP44XiUILd65Ov9-- --=-Ydo9vEBKyB6RIOq6Ghgd Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQBE90BlSnQiFMl4yK4RAqMuAJ9Rl/+z5mYneaN4ij/+35Nz3/hc4ACgk0nH n1uUxM7sOIdx1OQ5q6qEbU0= =7bk9 -----END PGP SIGNATURE----- --=-Ydo9vEBKyB6RIOq6Ghgd-- --===============1902145295== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 --===============1902145295== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel --===============1902145295==--