From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6B5AAC63777 for ; Mon, 30 Nov 2020 06:03:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0FB50207F7 for ; Mon, 30 Nov 2020 06:03:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ewwj8gY+" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726045AbgK3GDf (ORCPT ); Mon, 30 Nov 2020 01:03:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725860AbgK3GDe (ORCPT ); Mon, 30 Nov 2020 01:03:34 -0500 Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7CFA2C0613CF for ; Sun, 29 Nov 2020 22:02:48 -0800 (PST) Received: by mail-lf1-x12d.google.com with SMTP id u19so19147113lfr.7 for ; Sun, 29 Nov 2020 22:02:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=tyn4ziF9f42lcNNrYl5M6UU8U7rflAHb7Xmpysbyw88=; b=ewwj8gY+FpC0Z9VwN901XJhlCxXiHAGbariAv+8zYXIP6C3MalmcZq3Bml2JTi9vCu xpOH4ZRwcyTCCXnDuSx32aaS9PRvHSntEBoWBHkOf0Zhs8UcM/R+jukLZPQiA8lmUiVU F5ktqFfeABweis8CA5m+TK0Yel/STmM6dm+KMxmITkDZH3kTswdR6bieKziDKNzHDO5D MaSa0HMaS1NY7R8jGaCWwpypxTyq9/zaGQvSOs18JSpUYnWO9/HXlrW9QimK6SvRhXy5 Le/KTQSp+REFVfNGRKk3U6nCg5AkTmyg4Az5hGmcmWaqVq0lJtLLIZ/E7pmW406Swbyp Ffig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=tyn4ziF9f42lcNNrYl5M6UU8U7rflAHb7Xmpysbyw88=; b=DAMk1YEDQluEaBNcXGb6ykeNjcKZgcmHGbve8ldwKQsFDTmkts7bd3vKFHI6WcY/B6 gOdLKQ5RcgOOO3Y0++Q2yl5m/FVZQlfLWCWMuILImW1iBudTzc4Wx39OhNNjCAGVt+vS 8c8HW3wu7Eko9evYbKElNSIjW75Astmdx41yml6Xbjv0T0ysVAuy6kz7SLv4DCL43ZRA q7KKyeWV8T9xY9HfRwc44A9tctfwD6DSpyu0BZxIfRa0szQPASL+dtYfhLO37LTWQpgD rQ7H0V5Ie9L4R4oMPxT+RXEgug5IWm7+72WAIEe8zCmVHLs+781+PmHBXNniuexkY3qS hD9A== X-Gm-Message-State: AOAM5303ehIiszyb0ajhwJMcGsB9MvZbFNrH6P4XLNHC/OtIJM/tbnrM 6CSSLBAo3i9cJ6gdEISzhQdVIsM91tZQOLLB8u8ywCKJuTU= X-Google-Smtp-Source: ABdhPJy+0AicZPv0oY6mg5/+IUl8Vh1pXMHIJ5ygI+bhJXElRSzBjAkropZTBilCSV8ZVCGQqFRlFQ+E0xh/Hv1qemY= X-Received: by 2002:a19:c518:: with SMTP id w24mr8077043lfe.334.1606716166726; Sun, 29 Nov 2020 22:02:46 -0800 (PST) MIME-Version: 1.0 From: Steve French Date: Sun, 29 Nov 2020 22:02:34 -0800 Message-ID: Subject: [SMB3][PATCH] ifs: refactor create_sd_buf() and and avoid corrupting the buffer To: CIFS Cc: ronnie sahlberg , rohiths msft Content-Type: multipart/mixed; boundary="0000000000005fa71605b54cc2a1" Precedence: bulk List-ID: X-Mailing-List: linux-cifs@vger.kernel.org --0000000000005fa71605b54cc2a1 Content-Type: text/plain; charset="UTF-8" When mounting with "idsfromsid" mount option, Azure corrupted the owner SIDs due to excessive padding caused by placing the owner fields at the end of the security descriptor on create. Placing owners at the front of the security descriptor (rather than the end) is also safer, as the number of ACEs (that follow it) are variable. -- Thanks, Steve --0000000000005fa71605b54cc2a1 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-cifs-refactor-create_sd_buf-and-and-avoid-corrupting.patch" Content-Disposition: attachment; filename="0001-cifs-refactor-create_sd_buf-and-and-avoid-corrupting.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ki458qlg0 RnJvbSA2Njg4OTUyNjA2Njk0YTNlZThhODc0OTQ1NjYzNmRkMjYwOTdmMzNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb25uaWUgU2FobGJlcmcgPGxzYWhsYmVyQHJlZGhhdC5jb20+ CkRhdGU6IE1vbiwgMzAgTm92IDIwMjAgMTE6Mjk6MjAgKzEwMDAKU3ViamVjdDogW1BBVENIXSBj aWZzOiByZWZhY3RvciBjcmVhdGVfc2RfYnVmKCkgYW5kIGFuZCBhdm9pZCBjb3JydXB0aW5nIHRo ZQogYnVmZmVyCgpXaGVuIG1vdW50aW5nIHdpdGggImlkc2Zyb21zaWQiIG1vdW50IG9wdGlvbiwg QXp1cmUKY29ycnVwdGVkIHRoZSBvd25lciBTSURzIGR1ZSB0byBleGNlc3NpdmUgcGFkZGluZwpj YXVzZWQgYnkgcGxhY2luZyB0aGUgb3duZXIgZmllbGRzIGF0IHRoZSBlbmQgb2YgdGhlCnNlY3Vy aXR5IGRlc2NyaXB0b3Igb24gY3JlYXRlLiAgUGxhY2luZyBvd25lcnMgYXQgdGhlCmZyb250IG9m IHRoZSBzZWN1cml0eSBkZXNjcmlwdG9yIChyYXRoZXIgdGhhbiB0aGUgZW5kKQppcyBhbHNvIHNh ZmVyLCBhcyB0aGUgbnVtYmVyIG9mIEFDRXMgKHRoYXQgZm9sbG93IGl0KQphcmUgdmFyaWFibGUu CgpTaWduZWQtb2ZmLWJ5OiBSb25uaWUgU2FobGJlcmcgPGxzYWhsYmVyQHJlZGhhdC5jb20+ClN1 Z2dlc3RlZC1ieTogUm9oaXRoIFN1cmFiYXR0dWxhIDxyb2hpdGhzQG1pY3Jvc29mdC5jb20+CkND OiBTdGFibGUgPHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmc+ICMgdjUuOApTaWduZWQtb2ZmLWJ5OiBT dGV2ZW4gRnJlbmNoIDxzbWZyZW5jaEBnbWFpbC5jb20+Ci0tLQogZnMvY2lmcy9zbWIycGR1LmMg fCA3MyArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZnMv Y2lmcy9zbWIycGR1LmggfCAgMiAtLQogMiBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCsp LCAzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mcy9jaWZzL3NtYjJwZHUuYyBiL2ZzL2Np ZnMvc21iMnBkdS5jCmluZGV4IGQ1MDRiYzI5NjM0OS4uNmQ2OWY1OWU1NmNmIDEwMDY0NAotLS0g YS9mcy9jaWZzL3NtYjJwZHUuYworKysgYi9mcy9jaWZzL3NtYjJwZHUuYwpAQCAtMjI2MCwxNyAr MjI2MCwxNSBAQCBzdGF0aWMgc3RydWN0IGNydF9zZF9jdHh0ICoKIGNyZWF0ZV9zZF9idWYodW1v ZGVfdCBtb2RlLCBib29sIHNldF9vd25lciwgdW5zaWduZWQgaW50ICpsZW4pCiB7CiAJc3RydWN0 IGNydF9zZF9jdHh0ICpidWY7Ci0Jc3RydWN0IGNpZnNfYWNlICpwYWNlOwotCXVuc2lnbmVkIGlu dCBzZGxlbiwgYWNlbGVuOworCV9fdTggKnB0ciwgKmFjbHB0cjsKKwl1bnNpZ25lZCBpbnQgYWNl bGVuOwogCXVuc2lnbmVkIGludCBvd25lcl9vZmZzZXQgPSAwOwogCXVuc2lnbmVkIGludCBncm91 cF9vZmZzZXQgPSAwOworCXN0cnVjdCBzbWIzX2FjbCBhY2w7CiAKLQkqbGVuID0gcm91bmR1cChz aXplb2Yoc3RydWN0IGNydF9zZF9jdHh0KSArIChzaXplb2Yoc3RydWN0IGNpZnNfYWNlKSAqIDIp LCA4KTsKKwkqbGVuID0gcm91bmR1cChzaXplb2Yoc3RydWN0IGNydF9zZF9jdHh0KSArIChzaXpl b2Yoc3RydWN0IGNpZnNfYWNlKSAqIDQpLCA4KTsKIAogCWlmIChzZXRfb3duZXIpIHsKLQkJLyog b2Zmc2V0IGZpZWxkcyBhcmUgZnJvbSBiZWdpbm5pbmcgb2Ygc2VjdXJpdHkgZGVzY3JpcHRvciBu b3Qgb2YgY3JlYXRlIGNvbnRleHQgKi8KLQkJb3duZXJfb2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBz bWIzX2FjbCkgKyAoc2l6ZW9mKHN0cnVjdCBjaWZzX2FjZSkgKiAyKTsKLQogCQkvKiBzaXplb2Yo c3RydWN0IG93bmVyX2dyb3VwX3NpZHMpIGlzIGFscmVhZHkgbXVsdGlwbGUgb2YgOCBzbyBubyBu ZWVkIHRvIHJvdW5kICovCiAJCSpsZW4gKz0gc2l6ZW9mKHN0cnVjdCBvd25lcl9ncm91cF9zaWRz KTsKIAl9CkBAIC0yMjc5LDI2ICsyMjc3LDIyIEBAIGNyZWF0ZV9zZF9idWYodW1vZGVfdCBtb2Rl LCBib29sIHNldF9vd25lciwgdW5zaWduZWQgaW50ICpsZW4pCiAJaWYgKGJ1ZiA9PSBOVUxMKQog CQlyZXR1cm4gYnVmOwogCisJcHRyID0gKF9fdTggKikmYnVmWzFdOwogCWlmIChzZXRfb3duZXIp IHsKKwkJLyogb2Zmc2V0IGZpZWxkcyBhcmUgZnJvbSBiZWdpbm5pbmcgb2Ygc2VjdXJpdHkgZGVz Y3JpcHRvciBub3Qgb2YgY3JlYXRlIGNvbnRleHQgKi8KKwkJb3duZXJfb2Zmc2V0ID0gcHRyIC0g KF9fdTggKikmYnVmLT5zZDsKIAkJYnVmLT5zZC5PZmZzZXRPd25lciA9IGNwdV90b19sZTMyKG93 bmVyX29mZnNldCk7Ci0JCWdyb3VwX29mZnNldCA9IG93bmVyX29mZnNldCArIHNpemVvZihzdHJ1 Y3Qgb3duZXJfc2lkKTsKKwkJZ3JvdXBfb2Zmc2V0ID0gb3duZXJfb2Zmc2V0ICsgb2Zmc2V0b2Yo c3RydWN0IG93bmVyX2dyb3VwX3NpZHMsIGdyb3VwKTsKIAkJYnVmLT5zZC5PZmZzZXRHcm91cCA9 IGNwdV90b19sZTMyKGdyb3VwX29mZnNldCk7CisKKwkJc2V0dXBfb3duZXJfZ3JvdXBfc2lkcyhw dHIpOworCQlwdHIgKz0gc2l6ZW9mKHN0cnVjdCBvd25lcl9ncm91cF9zaWRzKTsKIAl9IGVsc2Ug ewogCQlidWYtPnNkLk9mZnNldE93bmVyID0gMDsKIAkJYnVmLT5zZC5PZmZzZXRHcm91cCA9IDA7 CiAJfQogCi0Jc2RsZW4gPSBzaXplb2Yoc3RydWN0IHNtYjNfc2QpICsgc2l6ZW9mKHN0cnVjdCBz bWIzX2FjbCkgKwotCQkgMiAqIHNpemVvZihzdHJ1Y3QgY2lmc19hY2UpOwotCWlmIChzZXRfb3du ZXIpIHsKLQkJc2RsZW4gKz0gc2l6ZW9mKHN0cnVjdCBvd25lcl9ncm91cF9zaWRzKTsKLQkJc2V0 dXBfb3duZXJfZ3JvdXBfc2lkcyhvd25lcl9vZmZzZXQgKyBzaXplb2Yoc3RydWN0IGNyZWF0ZV9j b250ZXh0KSArIDggLyogbmFtZSAqLwotCQkJKyAoY2hhciAqKWJ1Zik7Ci0JfQotCi0JYnVmLT5j Y29udGV4dC5EYXRhT2Zmc2V0ID0gY3B1X3RvX2xlMTYob2Zmc2V0b2YKLQkJCQkJKHN0cnVjdCBj cnRfc2RfY3R4dCwgc2QpKTsKLQlidWYtPmNjb250ZXh0LkRhdGFMZW5ndGggPSBjcHVfdG9fbGUz MihzZGxlbik7CisJYnVmLT5jY29udGV4dC5EYXRhT2Zmc2V0ID0gY3B1X3RvX2xlMTYob2Zmc2V0 b2Yoc3RydWN0IGNydF9zZF9jdHh0LCBzZCkpOwogCWJ1Zi0+Y2NvbnRleHQuTmFtZU9mZnNldCA9 IGNwdV90b19sZTE2KG9mZnNldG9mKHN0cnVjdCBjcnRfc2RfY3R4dCwgTmFtZSkpOwogCWJ1Zi0+ Y2NvbnRleHQuTmFtZUxlbmd0aCA9IGNwdV90b19sZTE2KDQpOwogCS8qIFNNQjJfQ1JFQVRFX1NE X0JVRkZFUl9UT0tFTiBpcyAiU2VjRCIgKi8KQEAgLTIzMDcsNiArMjMwMSw3IEBAIGNyZWF0ZV9z ZF9idWYodW1vZGVfdCBtb2RlLCBib29sIHNldF9vd25lciwgdW5zaWduZWQgaW50ICpsZW4pCiAJ YnVmLT5OYW1lWzJdID0gJ2MnOwogCWJ1Zi0+TmFtZVszXSA9ICdEJzsKIAlidWYtPnNkLlJldmlz aW9uID0gMTsgIC8qIE11c3QgYmUgb25lIHNlZSBNUy1EVFlQIDIuNC42ICovCisKIAkvKgogCSAq IEFDTCBpcyAic2VsZiByZWxhdGl2ZSIgaWUgQUNMIGlzIHN0b3JlZCBpbiBjb250aWd1b3VzIGJs b2NrIG9mIG1lbW9yeQogCSAqIGFuZCAiRFAiIGllIHRoZSBEQUNMIGlzIHByZXNlbnQKQEAgLTIz MTQsMjggKzIzMDksNDIgQEAgY3JlYXRlX3NkX2J1Zih1bW9kZV90IG1vZGUsIGJvb2wgc2V0X293 bmVyLCB1bnNpZ25lZCBpbnQgKmxlbikKIAlidWYtPnNkLkNvbnRyb2wgPSBjcHVfdG9fbGUxNihB Q0xfQ09OVFJPTF9TUiB8IEFDTF9DT05UUk9MX0RQKTsKIAogCS8qIG9mZnNldCBvd25lciwgZ3Jv dXAgYW5kIFNiejEgYW5kIFNBQ0wgYXJlIGFsbCB6ZXJvICovCi0JYnVmLT5zZC5PZmZzZXREYWNs ID0gY3B1X3RvX2xlMzIoc2l6ZW9mKHN0cnVjdCBzbWIzX3NkKSk7Ci0JYnVmLT5hY2wuQWNsUmV2 aXNpb24gPSBBQ0xfUkVWSVNJT047IC8qIFNlZSAyLjQuNC4xIG9mIE1TLURUWVAgKi8KKwlidWYt PnNkLk9mZnNldERhY2wgPSBjcHVfdG9fbGUzMihwdHIgLSAoX191OCAqKSZidWYtPnNkKTsKKwkv KiBTaGlwIHRoZSBBQ0wgZm9yIG5vdy4gd2Ugd2lsbCBjb3B5IGl0IGludG8gYnVmIGxhdGVyLiAq LworCWFjbHB0ciA9IHB0cjsKKwlwdHIgKz0gc2l6ZW9mKHN0cnVjdCBjaWZzX2FjbCk7CisKKwlh Y2wuQWNsUmV2aXNpb24gPSBBQ0xfUkVWSVNJT047IC8qIFNlZSAyLjQuNC4xIG9mIE1TLURUWVAg Ki8KKwlhY2wuQWNsU2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc21iM19hY2wpOworCWFjbC5BY2VDb3Vu dCA9IDA7CiAKIAkvKiBjcmVhdGUgb25lIEFDRSB0byBob2xkIHRoZSBtb2RlIGVtYmVkZGVkIGlu IHJlc2VydmVkIHNwZWNpYWwgU0lEICovCi0JcGFjZSA9IChzdHJ1Y3QgY2lmc19hY2UgKikoc2l6 ZW9mKHN0cnVjdCBjcnRfc2RfY3R4dCkgKyAoY2hhciAqKWJ1Zik7Ci0JYWNlbGVuID0gc2V0dXBf c3BlY2lhbF9tb2RlX0FDRShwYWNlLCAoX191NjQpbW9kZSk7CisJYWNlbGVuID0gc2V0dXBfc3Bl Y2lhbF9tb2RlX0FDRSgoc3RydWN0IGNpZnNfYWNlICopcHRyLCAoX191NjQpbW9kZSk7CisJcHRy ICs9IGFjZWxlbjsKKwlhY2wuQWNsU2l6ZSArPSBhY2VsZW47CisJYWNsLkFjZUNvdW50Kys7CiAK IAlpZiAoc2V0X293bmVyKSB7CiAJCS8qIHdlIGRvIG5vdCBuZWVkIHRvIHJlYWxsb2NhdGUgYnVm ZmVyIHRvIGFkZCB0aGUgdHdvIG1vcmUgQUNFcy4gcGxlbnR5IG9mIHNwYWNlICovCi0JCXBhY2Ug PSAoc3RydWN0IGNpZnNfYWNlICopKGFjZWxlbiArIChzaXplb2Yoc3RydWN0IGNydF9zZF9jdHh0 KSArIChjaGFyICopYnVmKSk7Ci0JCWFjZWxlbiArPSBzZXR1cF9zcGVjaWFsX3VzZXJfb3duZXJf QUNFKHBhY2UpOwotCQkvKiBpdCBkb2VzIG5vdCBhcHBlYXIgbmVjZXNzYXJ5IHRvIGFkZCBhbiBB Q0UgZm9yIHRoZSBORlMgZ3JvdXAgU0lEICovCi0JCWJ1Zi0+YWNsLkFjZUNvdW50ID0gY3B1X3Rv X2xlMTYoMyk7Ci0JfSBlbHNlCi0JCWJ1Zi0+YWNsLkFjZUNvdW50ID0gY3B1X3RvX2xlMTYoMik7 CisJCWFjZWxlbiA9IHNldHVwX3NwZWNpYWxfdXNlcl9vd25lcl9BQ0UoKHN0cnVjdCBjaWZzX2Fj ZSAqKXB0cik7CisJCXB0ciArPSBhY2VsZW47CisJCWFjbC5BY2xTaXplICs9IGFjZWxlbjsKKwkJ YWNsLkFjZUNvdW50Kys7CisJfQogCiAJLyogYW5kIG9uZSBtb3JlIEFDRSB0byBhbGxvdyBhY2Nl c3MgZm9yIGF1dGhlbnRpY2F0ZWQgdXNlcnMgKi8KLQlwYWNlID0gKHN0cnVjdCBjaWZzX2FjZSAq KShhY2VsZW4gKyAoc2l6ZW9mKHN0cnVjdCBjcnRfc2RfY3R4dCkgKwotCQkoY2hhciAqKWJ1Zikp OwotCWFjZWxlbiArPSBzZXR1cF9hdXRodXNlcnNfQUNFKHBhY2UpOworCWFjZWxlbiA9IHNldHVw X2F1dGh1c2Vyc19BQ0UoKHN0cnVjdCBjaWZzX2FjZSAqKXB0cik7CisJcHRyICs9IGFjZWxlbjsK KwlhY2wuQWNsU2l6ZSArPSBhY2VsZW47CisJYWNsLkFjZUNvdW50Kys7CisKKworCWFjbC5BY2VD b3VudCA9IGNwdV90b19sZTE2KGFjbC5BY2VDb3VudCk7CisJYWNsLkFjbFNpemUgPSBjcHVfdG9f bGUxNihhY2wuQWNsU2l6ZSk7CisJbWVtY3B5KGFjbHB0ciwgJmFjbCwgc2l6ZW9mKHN0cnVjdCBj aWZzX2FjbCkpOwogCi0JYnVmLT5hY2wuQWNsU2l6ZSA9IGNwdV90b19sZTE2KHNpemVvZihzdHJ1 Y3QgY2lmc19hY2wpICsgYWNlbGVuKTsKKwlidWYtPmNjb250ZXh0LkRhdGFMZW5ndGggPSBjcHVf dG9fbGUzMihwdHIgLSAoX191OCAqKSZidWYtPnNkKTsKKwkqbGVuID0gcHRyIC0gKF9fdTggKili dWY7CiAKIAlyZXR1cm4gYnVmOwogfQpkaWZmIC0tZ2l0IGEvZnMvY2lmcy9zbWIycGR1LmggYi9m cy9jaWZzL3NtYjJwZHUuaAppbmRleCAwNWIwMTBlNWEwNjEuLjZhMWI5Y2I5MmFhNiAxMDA2NDQK LS0tIGEvZnMvY2lmcy9zbWIycGR1LmgKKysrIGIvZnMvY2lmcy9zbWIycGR1LmgKQEAgLTk2Miw4 ICs5NjIsNiBAQCBzdHJ1Y3QgY3J0X3NkX2N0eHQgewogCXN0cnVjdCBjcmVhdGVfY29udGV4dCBj Y29udGV4dDsKIAlfX3U4CU5hbWVbOF07CiAJc3RydWN0IHNtYjNfc2Qgc2Q7Ci0Jc3RydWN0IHNt YjNfYWNsIGFjbDsKLQkvKiBGb2xsb3dlZCBieSBhdCBsZWFzdCA0IEFDRXMgKi8KIH0gX19wYWNr ZWQ7CiAKIAotLSAKMi4yNS4xCgo= --0000000000005fa71605b54cc2a1--