From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933492AbdDGMrC (ORCPT ); Fri, 7 Apr 2017 08:47:02 -0400 Received: from imap0.codethink.co.uk ([185.43.218.159]:57412 "EHLO imap0.codethink.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755886AbdDGMqF (ORCPT ); Fri, 7 Apr 2017 08:46:05 -0400 Message-ID: <1491569158.10415.49.camel@codethink.co.uk> Subject: Re: [PATCH 4.4 25/26] blk: Ensure users for current->bio_list can see the full list. From: Ben Hutchings To: Jinpu Wang , Greg Kroah-Hartman Cc: "linux-kernel@vger.kernel.org" , stable , NeilBrown , Jens Axboe Date: Fri, 07 Apr 2017 13:45:58 +0100 In-Reply-To: References: <20170406083604.362636628@linuxfoundation.org> <20170406083605.968271891@linuxfoundation.org> <1491502678.10415.40.camel@codethink.co.uk> Organization: Codethink Ltd. Content-Type: multipart/mixed; boundary="=-i/Sy/cOjhssI8LDl1iBO" X-Mailer: Evolution 3.12.9-1+b1 Mime-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-i/Sy/cOjhssI8LDl1iBO Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On Fri, 2017-04-07 at 10:33 +0200, Jinpu Wang wrote: > On Thu, Apr 6, 2017 at 8:17 PM, Ben Hutchings > wrote: > > On Thu, 2017-04-06 at 10:38 +0200, Greg Kroah-Hartman wrote: > >> 4.4-stable review patch. If anyone has any objections, please let me know. > >> > >> ------------------ > >> > >> From: NeilBrown > >> > >> commit f5fe1b51905df7cfe4fdfd85c5fb7bc5b71a094f upstream. [...] > > Why did you drop the changes in drivers/md/dm.c? [...] > Because the code snip doesn't exist in 4.4. It does, and the upstream patch applies to it without any changes! I'm objecting to this and the preceding patch until there's a proper explanation of why device-mapper should be excluded from the backport. I've attached an alternate version of this patch that has the device-mapper part restored. While I haven't tested this (don't know what the test case would be) I think it is rather more likely to be a correct backport to 4.4. Ben. -- Ben Hutchings Software Developer, Codethink Ltd. --=-i/Sy/cOjhssI8LDl1iBO Content-Disposition: attachment; filename*0=blk-ensure-users-for-current-bio_list-can-see-the-full-list.p; filename*1=atch Content-Type: text/x-patch; name="blk-ensure-users-for-current-bio_list-can-see-the-full-list.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBmNWZlMWI1MTkwNWRmN2NmZTRmZGZkODVjNWZiN2JjNWI3MWEwOTRmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOZWlsQnJvd24gPG5laWxiQHN1c2UuY29tPgpEYXRlOiBGcmks IDEwIE1hciAyMDE3IDE3OjAwOjQ3ICsxMTAwClN1YmplY3Q6IGJsazogRW5zdXJlIHVzZXJzIGZv ciBjdXJyZW50LT5iaW9fbGlzdCBjYW4gc2VlIHRoZSBmdWxsIGxpc3QuCgpGcm9tOiBOZWlsQnJv d24gPG5laWxiQHN1c2UuY29tPgoKY29tbWl0IGY1ZmUxYjUxOTA1ZGY3Y2ZlNGZkZmQ4NWM1ZmI3 YmM1YjcxYTA5NGYgdXBzdHJlYW0uCgpDb21taXQgNzliZDk5NTk2YjczICgiYmxrOiBpbXByb3Zl IG9yZGVyIG9mIGJpbyBoYW5kbGluZyBpbiBnZW5lcmljX21ha2VfcmVxdWVzdCgpIikKY2hhbmdl ZCBjdXJyZW50LT5iaW9fbGlzdCBzbyB0aGF0IGl0IGRpZCBub3QgY29udGFpbiAqYWxsKiBvZiB0 aGUKcXVldWVkIGJpb3MsIGJ1dCBvbmx5IHRob3NlIHN1Ym1pdHRlZCBieSB0aGUgY3VycmVudGx5 IHJ1bm5pbmcKbWFrZV9yZXF1ZXN0X2ZuLgoKVGhlcmUgYXJlIHR3byBwbGFjZXMgd2hpY2ggd2Fs ayB0aGUgbGlzdCBhbmQgcmVxdWV1ZSBzZWxlY3RlZCBiaW9zLAphbmQgb3RoZXJzIHRoYXQgY2hl Y2sgaWYgdGhlIGxpc3QgaXMgZW1wdHkuICBUaGVzZSBhcmUgbm8gbG9uZ2VyCmNvcnJlY3QuCgpT byByZWRlZmluZSBjdXJyZW50LT5iaW9fbGlzdCB0byBwb2ludCB0byBhbiBhcnJheSBvZiB0d28g bGlzdHMsIHdoaWNoCmNvbnRhaW4gYWxsIHF1ZXVlZCBiaW9zLCBhbmQgYWRqdXN0IHZhcmlvdXMg Y29kZSB0byB0ZXN0IG9yIHdhbGsgYm90aApsaXN0cy4KClNpZ25lZC1vZmYtYnk6IE5laWxCcm93 biA8bmVpbGJAc3VzZS5jb20+CkZpeGVzOiA3OWJkOTk1OTZiNzMgKCJibGs6IGltcHJvdmUgb3Jk ZXIgb2YgYmlvIGhhbmRsaW5nIGluIGdlbmVyaWNfbWFrZV9yZXF1ZXN0KCkiKQpTaWduZWQtb2Zm LWJ5OiBKZW5zIEF4Ym9lIDxheGJvZUBmYi5jb20+Cltqd2FuZzogYmFja3BvcnQgdG8gNC40XQpT aWduZWQtb2ZmLWJ5OiBKYWNrIFdhbmcgPGppbnB1LndhbmdAcHJvZml0YnJpY2tzLmNvbT4KU2ln bmVkLW9mZi1ieTogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9y Zz4KW2J3aDogUmVzdG9yZSBjaGFuZ2VzIGluIGRldmljZS1tYXBwZXIgZnJvbSB1cHN0cmVhbSB2 ZXJzaW9uXQpTaWduZWQtb2ZmLWJ5OiBCZW4gSHV0Y2hpbmdzIDxiZW4uaHV0Y2hpbmdzQGNvZGV0 aGluay5jby51az4KLS0tCiBibG9jay9iaW8uYyAgICAgICAgIHwgICAxMiArKysrKysrKystLS0K IGJsb2NrL2Jsay1jb3JlLmMgICAgfCAgIDMxICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0KIGRyaXZlcnMvbWQvZG0uYyAgICAgfCAgIDI5ICsrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tCiBkcml2ZXJzL21kL3JhaWQxLmMgIHwgICAgMyArKy0KIGRyaXZlcnMvbWQvcmFpZDEwLmMg fCAgICAzICsrLQogNSBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlv bnMoLSkKCi0tLSBhL2Jsb2NrL2Jpby5jCisrKyBiL2Jsb2NrL2Jpby5jCkBAIC0zNzMsMTAgKzM3 MywxNCBAQCBzdGF0aWMgdm9pZCBwdW50X2Jpb3NfdG9fcmVzY3VlcihzdHJ1Y3QKIAliaW9fbGlz dF9pbml0KCZwdW50KTsKIAliaW9fbGlzdF9pbml0KCZub3B1bnQpOwogCi0Jd2hpbGUgKChiaW8g PSBiaW9fbGlzdF9wb3AoY3VycmVudC0+YmlvX2xpc3QpKSkKKwl3aGlsZSAoKGJpbyA9IGJpb19s aXN0X3BvcCgmY3VycmVudC0+YmlvX2xpc3RbMF0pKSkKIAkJYmlvX2xpc3RfYWRkKGJpby0+Ymlf cG9vbCA9PSBicyA/ICZwdW50IDogJm5vcHVudCwgYmlvKTsKKwljdXJyZW50LT5iaW9fbGlzdFsw XSA9IG5vcHVudDsKIAotCSpjdXJyZW50LT5iaW9fbGlzdCA9IG5vcHVudDsKKwliaW9fbGlzdF9p bml0KCZub3B1bnQpOworCXdoaWxlICgoYmlvID0gYmlvX2xpc3RfcG9wKCZjdXJyZW50LT5iaW9f bGlzdFsxXSkpKQorCQliaW9fbGlzdF9hZGQoYmlvLT5iaV9wb29sID09IGJzID8gJnB1bnQgOiAm bm9wdW50LCBiaW8pOworCWN1cnJlbnQtPmJpb19saXN0WzFdID0gbm9wdW50OwogCiAJc3Bpbl9s b2NrKCZicy0+cmVzY3VlX2xvY2spOwogCWJpb19saXN0X21lcmdlKCZicy0+cmVzY3VlX2xpc3Qs ICZwdW50KTsKQEAgLTQ2NCw3ICs0NjgsOSBAQCBzdHJ1Y3QgYmlvICpiaW9fYWxsb2NfYmlvc2V0 KGdmcF90IGdmcF9tCiAJCSAqIHdlIHJldHJ5IHdpdGggdGhlIG9yaWdpbmFsIGdmcF9mbGFncy4K IAkJICovCiAKLQkJaWYgKGN1cnJlbnQtPmJpb19saXN0ICYmICFiaW9fbGlzdF9lbXB0eShjdXJy ZW50LT5iaW9fbGlzdCkpCisJCWlmIChjdXJyZW50LT5iaW9fbGlzdCAmJgorCQkgICAgKCFiaW9f bGlzdF9lbXB0eSgmY3VycmVudC0+YmlvX2xpc3RbMF0pIHx8CisJCSAgICAgIWJpb19saXN0X2Vt cHR5KCZjdXJyZW50LT5iaW9fbGlzdFsxXSkpKQogCQkJZ2ZwX21hc2sgJj0gfl9fR0ZQX0RJUkVD VF9SRUNMQUlNOwogCiAJCXAgPSBtZW1wb29sX2FsbG9jKGJzLT5iaW9fcG9vbCwgZ2ZwX21hc2sp OwotLS0gYS9ibG9jay9ibGstY29yZS5jCisrKyBiL2Jsb2NrL2Jsay1jb3JlLmMKQEAgLTIwMjEs NyArMjAyMSwxNCBAQCBlbmRfaW86CiAgKi8KIGJsa19xY190IGdlbmVyaWNfbWFrZV9yZXF1ZXN0 KHN0cnVjdCBiaW8gKmJpbykKIHsKLQlzdHJ1Y3QgYmlvX2xpc3QgYmlvX2xpc3Rfb25fc3RhY2s7 CisJLyoKKwkgKiBiaW9fbGlzdF9vbl9zdGFja1swXSBjb250YWlucyBiaW9zIHN1Ym1pdHRlZCBi eSB0aGUgY3VycmVudAorCSAqIG1ha2VfcmVxdWVzdF9mbi4KKwkgKiBiaW9fbGlzdF9vbl9zdGFj a1sxXSBjb250YWlucyBiaW9zIHRoYXQgd2VyZSBzdWJtaXR0ZWQgYmVmb3JlCisJICogdGhlIGN1 cnJlbnQgbWFrZV9yZXF1ZXN0X2ZuLCBidXQgdGhhdCBoYXZlbid0IGJlZW4gcHJvY2Vzc2VkCisJ ICogeWV0LgorCSAqLworCXN0cnVjdCBiaW9fbGlzdCBiaW9fbGlzdF9vbl9zdGFja1syXTsKIAli bGtfcWNfdCByZXQgPSBCTEtfUUNfVF9OT05FOwogCiAJaWYgKCFnZW5lcmljX21ha2VfcmVxdWVz dF9jaGVja3MoYmlvKSkKQEAgLTIwMzgsNyArMjA0NSw3IEBAIGJsa19xY190IGdlbmVyaWNfbWFr ZV9yZXF1ZXN0KHN0cnVjdCBiaW8KIAkgKiBzaG91bGQgYmUgYWRkZWQgYXQgdGhlIHRhaWwKIAkg Ki8KIAlpZiAoY3VycmVudC0+YmlvX2xpc3QpIHsKLQkJYmlvX2xpc3RfYWRkKGN1cnJlbnQtPmJp b19saXN0LCBiaW8pOworCQliaW9fbGlzdF9hZGQoJmN1cnJlbnQtPmJpb19saXN0WzBdLCBiaW8p OwogCQlnb3RvIG91dDsKIAl9CiAKQEAgLTIwNTcsMTcgKzIwNjQsMTcgQEAgYmxrX3FjX3QgZ2Vu ZXJpY19tYWtlX3JlcXVlc3Qoc3RydWN0IGJpbwogCSAqIGJpb19saXN0LCBhbmQgY2FsbCBpbnRv IC0+bWFrZV9yZXF1ZXN0KCkgYWdhaW4uCiAJICovCiAJQlVHX09OKGJpby0+YmlfbmV4dCk7Ci0J YmlvX2xpc3RfaW5pdCgmYmlvX2xpc3Rfb25fc3RhY2spOwotCWN1cnJlbnQtPmJpb19saXN0ID0g JmJpb19saXN0X29uX3N0YWNrOworCWJpb19saXN0X2luaXQoJmJpb19saXN0X29uX3N0YWNrWzBd KTsKKwljdXJyZW50LT5iaW9fbGlzdCA9IGJpb19saXN0X29uX3N0YWNrOwogCWRvIHsKIAkJc3Ry dWN0IHJlcXVlc3RfcXVldWUgKnEgPSBiZGV2X2dldF9xdWV1ZShiaW8tPmJpX2JkZXYpOwogCiAJ CWlmIChsaWtlbHkoYmxrX3F1ZXVlX2VudGVyKHEsIF9fR0ZQX0RJUkVDVF9SRUNMQUlNKSA9PSAw KSkgewotCQkJc3RydWN0IGJpb19saXN0IGxvd2VyLCBzYW1lLCBob2xkOworCQkJc3RydWN0IGJp b19saXN0IGxvd2VyLCBzYW1lOwogCiAJCQkvKiBDcmVhdGUgYSBmcmVzaCBiaW9fbGlzdCBmb3Ig YWxsIHN1Ym9yZGluYXRlIHJlcXVlc3RzICovCi0JCQlob2xkID0gYmlvX2xpc3Rfb25fc3RhY2s7 Ci0JCQliaW9fbGlzdF9pbml0KCZiaW9fbGlzdF9vbl9zdGFjayk7CisJCQliaW9fbGlzdF9vbl9z dGFja1sxXSA9IGJpb19saXN0X29uX3N0YWNrWzBdOworCQkJYmlvX2xpc3RfaW5pdCgmYmlvX2xp c3Rfb25fc3RhY2tbMF0pOwogCiAJCQlyZXQgPSBxLT5tYWtlX3JlcXVlc3RfZm4ocSwgYmlvKTsK IApAQCAtMjA3NywxOSArMjA4NCwxOSBAQCBibGtfcWNfdCBnZW5lcmljX21ha2VfcmVxdWVzdChz dHJ1Y3QgYmlvCiAJCQkgKi8KIAkJCWJpb19saXN0X2luaXQoJmxvd2VyKTsKIAkJCWJpb19saXN0 X2luaXQoJnNhbWUpOwotCQkJd2hpbGUgKChiaW8gPSBiaW9fbGlzdF9wb3AoJmJpb19saXN0X29u X3N0YWNrKSkgIT0gTlVMTCkKKwkJCXdoaWxlICgoYmlvID0gYmlvX2xpc3RfcG9wKCZiaW9fbGlz dF9vbl9zdGFja1swXSkpICE9IE5VTEwpCiAJCQkJaWYgKHEgPT0gYmRldl9nZXRfcXVldWUoYmlv LT5iaV9iZGV2KSkKIAkJCQkJYmlvX2xpc3RfYWRkKCZzYW1lLCBiaW8pOwogCQkJCWVsc2UKIAkJ CQkJYmlvX2xpc3RfYWRkKCZsb3dlciwgYmlvKTsKIAkJCS8qIG5vdyBhc3NlbWJsZSBzbyB3ZSBo YW5kbGUgdGhlIGxvd2VzdCBsZXZlbCBmaXJzdCAqLwotCQkJYmlvX2xpc3RfbWVyZ2UoJmJpb19s aXN0X29uX3N0YWNrLCAmbG93ZXIpOwotCQkJYmlvX2xpc3RfbWVyZ2UoJmJpb19saXN0X29uX3N0 YWNrLCAmc2FtZSk7Ci0JCQliaW9fbGlzdF9tZXJnZSgmYmlvX2xpc3Rfb25fc3RhY2ssICZob2xk KTsKKwkJCWJpb19saXN0X21lcmdlKCZiaW9fbGlzdF9vbl9zdGFja1swXSwgJmxvd2VyKTsKKwkJ CWJpb19saXN0X21lcmdlKCZiaW9fbGlzdF9vbl9zdGFja1swXSwgJnNhbWUpOworCQkJYmlvX2xp c3RfbWVyZ2UoJmJpb19saXN0X29uX3N0YWNrWzBdLCAmYmlvX2xpc3Rfb25fc3RhY2tbMV0pOwog CQl9IGVsc2UgewogCQkJYmlvX2lvX2Vycm9yKGJpbyk7CiAJCX0KLQkJYmlvID0gYmlvX2xpc3Rf cG9wKGN1cnJlbnQtPmJpb19saXN0KTsKKwkJYmlvID0gYmlvX2xpc3RfcG9wKCZiaW9fbGlzdF9v bl9zdGFja1swXSk7CiAJfSB3aGlsZSAoYmlvKTsKIAljdXJyZW50LT5iaW9fbGlzdCA9IE5VTEw7 IC8qIGRlYWN0aXZhdGUgKi8KIAotLS0gYS9kcml2ZXJzL21kL2RtLmMKKysrIGIvZHJpdmVycy9t ZC9kbS5jCkBAIC0xNDgxLDI2ICsxNDgxLDI5IEBAIHN0YXRpYyB2b2lkIGZsdXNoX2N1cnJlbnRf YmlvX2xpc3Qoc3RydWMKIAlzdHJ1Y3QgZG1fb2ZmbG9hZCAqbyA9IGNvbnRhaW5lcl9vZihjYiwg c3RydWN0IGRtX29mZmxvYWQsIGNiKTsKIAlzdHJ1Y3QgYmlvX2xpc3QgbGlzdDsKIAlzdHJ1Y3Qg YmlvICpiaW87CisJaW50IGk7CiAKIAlJTklUX0xJU1RfSEVBRCgmby0+Y2IubGlzdCk7CiAKIAlp ZiAodW5saWtlbHkoIWN1cnJlbnQtPmJpb19saXN0KSkKIAkJcmV0dXJuOwogCi0JbGlzdCA9ICpj dXJyZW50LT5iaW9fbGlzdDsKLQliaW9fbGlzdF9pbml0KGN1cnJlbnQtPmJpb19saXN0KTsKLQot CXdoaWxlICgoYmlvID0gYmlvX2xpc3RfcG9wKCZsaXN0KSkpIHsKLQkJc3RydWN0IGJpb19zZXQg KmJzID0gYmlvLT5iaV9wb29sOwotCQlpZiAodW5saWtlbHkoIWJzKSB8fCBicyA9PSBmc19iaW9f c2V0KSB7Ci0JCQliaW9fbGlzdF9hZGQoY3VycmVudC0+YmlvX2xpc3QsIGJpbyk7Ci0JCQljb250 aW51ZTsKKwlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7CisJCWxpc3QgPSBjdXJyZW50LT5iaW9f bGlzdFtpXTsKKwkJYmlvX2xpc3RfaW5pdCgmY3VycmVudC0+YmlvX2xpc3RbaV0pOworCisJCXdo aWxlICgoYmlvID0gYmlvX2xpc3RfcG9wKCZsaXN0KSkpIHsKKwkJCXN0cnVjdCBiaW9fc2V0ICpi cyA9IGJpby0+YmlfcG9vbDsKKwkJCWlmICh1bmxpa2VseSghYnMpIHx8IGJzID09IGZzX2Jpb19z ZXQpIHsKKwkJCQliaW9fbGlzdF9hZGQoJmN1cnJlbnQtPmJpb19saXN0W2ldLCBiaW8pOworCQkJ CWNvbnRpbnVlOworCQkJfQorCisJCQlzcGluX2xvY2soJmJzLT5yZXNjdWVfbG9jayk7CisJCQli aW9fbGlzdF9hZGQoJmJzLT5yZXNjdWVfbGlzdCwgYmlvKTsKKwkJCXF1ZXVlX3dvcmsoYnMtPnJl c2N1ZV93b3JrcXVldWUsICZicy0+cmVzY3VlX3dvcmspOworCQkJc3Bpbl91bmxvY2soJmJzLT5y ZXNjdWVfbG9jayk7CiAJCX0KLQotCQlzcGluX2xvY2soJmJzLT5yZXNjdWVfbG9jayk7Ci0JCWJp b19saXN0X2FkZCgmYnMtPnJlc2N1ZV9saXN0LCBiaW8pOwotCQlxdWV1ZV93b3JrKGJzLT5yZXNj dWVfd29ya3F1ZXVlLCAmYnMtPnJlc2N1ZV93b3JrKTsKLQkJc3Bpbl91bmxvY2soJmJzLT5yZXNj dWVfbG9jayk7CiAJfQogfQogCi0tLSBhL2RyaXZlcnMvbWQvcmFpZDEuYworKysgYi9kcml2ZXJz L21kL3JhaWQxLmMKQEAgLTg3Nyw3ICs4NzcsOCBAQCBzdGF0aWMgc2VjdG9yX3Qgd2FpdF9iYXJy aWVyKHN0cnVjdCByMWNvCiAJCQkJICAgICAoKGNvbmYtPnN0YXJ0X25leHRfd2luZG93IDwKIAkJ CQkgICAgICAgY29uZi0+bmV4dF9yZXN5bmMgKyBSRVNZTkNfU0VDVE9SUykgJiYKIAkJCQkgICAg ICBjdXJyZW50LT5iaW9fbGlzdCAmJgotCQkJCSAgICAgICFiaW9fbGlzdF9lbXB0eShjdXJyZW50 LT5iaW9fbGlzdCkpKSwKKwkJCQkgICAgICghYmlvX2xpc3RfZW1wdHkoJmN1cnJlbnQtPmJpb19s aXN0WzBdKSB8fAorCQkJCSAgICAgICFiaW9fbGlzdF9lbXB0eSgmY3VycmVudC0+YmlvX2xpc3Rb MV0pKSkpLAogCQkJCSAgICBjb25mLT5yZXN5bmNfbG9jayk7CiAJCWNvbmYtPm5yX3dhaXRpbmct LTsKIAl9Ci0tLSBhL2RyaXZlcnMvbWQvcmFpZDEwLmMKKysrIGIvZHJpdmVycy9tZC9yYWlkMTAu YwpAQCAtOTQ2LDcgKzk0Niw4IEBAIHN0YXRpYyB2b2lkIHdhaXRfYmFycmllcihzdHJ1Y3QgcjEw Y29uZgogCQkJCSAgICAhY29uZi0+YmFycmllciB8fAogCQkJCSAgICAoY29uZi0+bnJfcGVuZGlu ZyAmJgogCQkJCSAgICAgY3VycmVudC0+YmlvX2xpc3QgJiYKLQkJCQkgICAgICFiaW9fbGlzdF9l bXB0eShjdXJyZW50LT5iaW9fbGlzdCkpLAorCQkJCSAgICAgKCFiaW9fbGlzdF9lbXB0eSgmY3Vy cmVudC0+YmlvX2xpc3RbMF0pIHx8CisJCQkJICAgICAgIWJpb19saXN0X2VtcHR5KCZjdXJyZW50 LT5iaW9fbGlzdFsxXSkpKSwKIAkJCQkgICAgY29uZi0+cmVzeW5jX2xvY2spOwogCQljb25mLT5u cl93YWl0aW5nLS07CiAJfQo= --=-i/Sy/cOjhssI8LDl1iBO--