From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepa Dinamani Subject: [PATCH 02/21] fs: ext4: Use current_fs_time() for inode timestamps Date: Wed, 8 Jun 2016 22:04:46 -0700 Message-ID: <1465448705-25055-3-git-send-email-deepa.kernel@gmail.com> References: <1465448705-25055-1-git-send-email-deepa.kernel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Theodore Ts'o , Arnd Bergmann , y2038@lists.linaro.org, Andreas Dilger , Al Viro , Thomas Gleixner , linux-ext4@vger.kernel.org, Linus Torvalds To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Return-path: In-Reply-To: <1465448705-25055-1-git-send-email-deepa.kernel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: y2038-bounces@lists.linaro.org Sender: "Y2038" List-Id: linux-ext4.vger.kernel.org Q1VSUkVOVF9USU1FX1NFQyBhbmQgQ1VSUkVOVF9USU1FIGFyZSBub3QgeTIwMzggc2FmZS4KY3Vy cmVudF9mc190aW1lKCkgd2lsbCBiZSB0cmFuc2l0aW9uZWQgdG8gYmUgeTIwMzggc2FmZQphbG9u ZyB3aXRoIHZmcy4KCmN1cnJlbnRfZnNfdGltZSgpIHJldHVybnMgdGltZXN0YW1wcyBhY2NvcmRp bmcgdG8gdGhlCmdyYW51bGFyaXRpZXMgc2V0IGluIHRoZSBzdXBlcl9ibG9jay4KVGhlIGdyYW51 bGFyaXR5IGNoZWNrIHRvIGNhbGwgY3VycmVudF9mc190aW1lKCkgb3IKQ1VSUkVOVF9USU1FX1NF QyBpcyBub3QgcmVxdWlyZWQuClVzZSBjdXJyZW50X2ZzX3RpbWUoKSB0byBvYnRhaW4gdGltZXN0 YW1wcwp1bmNvbmRpdGlvbmFsbHkuCgpRdW90YSBmaWxlcyBhcmUgYXNzdW1lZCB0byBiZSBvbiB0 aGUgc2FtZSBmaWxlc3lzdGVtLgpIZW5jZSwgdXNlIGN1cnJlbnRfZnNfdGltZSgpIGZvciB0aGVz ZSBmaWxlcyBhcyB3ZWxsLgoKU2lnbmVkLW9mZi1ieTogRGVlcGEgRGluYW1hbmkgPGRlZXBhLmtl cm5lbEBnbWFpbC5jb20+CkNjOiAiVGhlb2RvcmUgVHMnbyIgPHR5dHNvQG1pdC5lZHU+CkNjOiBB bmRyZWFzIERpbGdlciA8YWRpbGdlci5rZXJuZWxAZGlsZ2VyLmNhPgpDYzogbGludXgtZXh0NEB2 Z2VyLmtlcm5lbC5vcmcKLS0tCiBmcy9leHQ0L2FjbC5jICAgICB8ICAyICstCiBmcy9leHQ0L2V4 dDQuaCAgICB8ICA2IC0tLS0tLQogZnMvZXh0NC9leHRlbnRzLmMgfCAxMCArKysrKy0tLS0tCiBm cy9leHQ0L2lhbGxvYy5jICB8ICAyICstCiBmcy9leHQ0L2lubGluZS5jICB8ICA0ICsrLS0KIGZz L2V4dDQvaW5vZGUuYyAgIHwgIDYgKysrLS0tCiBmcy9leHQ0L2lvY3RsLmMgICB8ICA4ICsrKyst LS0tCiBmcy9leHQ0L25hbWVpLmMgICB8IDI0ICsrKysrKysrKysrKystLS0tLS0tLS0tLQogZnMv ZXh0NC9zdXBlci5jICAgfCAgMiArLQogZnMvZXh0NC94YXR0ci5jICAgfCAgMiArLQogMTAgZmls ZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZnMvZXh0NC9hY2wuYyBiL2ZzL2V4dDQvYWNsLmMKaW5kZXggYzY2MDFhNC4uZjk0NjljYyAx MDA2NDQKLS0tIGEvZnMvZXh0NC9hY2wuYworKysgYi9mcy9leHQ0L2FjbC5jCkBAIC0xOTcsNyAr MTk3LDcgQEAgX19leHQ0X3NldF9hY2woaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICpp bm9kZSwgaW50IHR5cGUsCiAJCQlpZiAoZXJyb3IgPCAwKQogCQkJCXJldHVybiBlcnJvcjsKIAkJ CWVsc2UgewotCQkJCWlub2RlLT5pX2N0aW1lID0gZXh0NF9jdXJyZW50X3RpbWUoaW5vZGUpOwor CQkJCWlub2RlLT5pX2N0aW1lID0gY3VycmVudF9mc190aW1lKGlub2RlLT5pX3NiKTsKIAkJCQll eHQ0X21hcmtfaW5vZGVfZGlydHkoaGFuZGxlLCBpbm9kZSk7CiAJCQkJaWYgKGVycm9yID09IDAp CiAJCQkJCWFjbCA9IE5VTEw7CmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dDQuaCBiL2ZzL2V4dDQv ZXh0NC5oCmluZGV4IGI4NGFhMWMuLjE0ZTVjZjQgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0NC5o CisrKyBiL2ZzL2V4dDQvZXh0NC5oCkBAIC0xNTIzLDEyICsxNTIzLDYgQEAgc3RhdGljIGlubGlu ZSBzdHJ1Y3QgZXh0NF9pbm9kZV9pbmZvICpFWFQ0X0koc3RydWN0IGlub2RlICppbm9kZSkKIAly ZXR1cm4gY29udGFpbmVyX29mKGlub2RlLCBzdHJ1Y3QgZXh0NF9pbm9kZV9pbmZvLCB2ZnNfaW5v ZGUpOwogfQogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aW1lc3BlYyBleHQ0X2N1cnJlbnRfdGlt ZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQotewotCXJldHVybiAoaW5vZGUtPmlfc2ItPnNfdGltZV9n cmFuIDwgTlNFQ19QRVJfU0VDKSA/Ci0JCWN1cnJlbnRfZnNfdGltZShpbm9kZS0+aV9zYikgOiBD VVJSRU5UX1RJTUVfU0VDOwotfQotCiBzdGF0aWMgaW5saW5lIGludCBleHQ0X3ZhbGlkX2ludW0o c3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdW5zaWduZWQgbG9uZyBpbm8pCiB7CiAJcmV0dXJuIGlu byA9PSBFWFQ0X1JPT1RfSU5PIHx8CmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dGVudHMuYyBiL2Zz L2V4dDQvZXh0ZW50cy5jCmluZGV4IDJhMmVlZjkuLmFjMzAzYmUgMTAwNjQ0Ci0tLSBhL2ZzL2V4 dDQvZXh0ZW50cy5jCisrKyBiL2ZzL2V4dDQvZXh0ZW50cy5jCkBAIC00NzIyLDcgKzQ3MjIsNyBA QCByZXRyeToKIAkJbWFwLm1fbGJsayArPSByZXQ7CiAJCW1hcC5tX2xlbiA9IGxlbiA9IGxlbiAt IHJldDsKIAkJZXBvcyA9IChsb2ZmX3QpbWFwLm1fbGJsayA8PCBpbm9kZS0+aV9ibGtiaXRzOwot CQlpbm9kZS0+aV9jdGltZSA9IGV4dDRfY3VycmVudF90aW1lKGlub2RlKTsKKwkJaW5vZGUtPmlf Y3RpbWUgPSBjdXJyZW50X2ZzX3RpbWUoaW5vZGUtPmlfc2IpOwogCQlpZiAobmV3X3NpemUpIHsK IAkJCWlmIChlcG9zID4gbmV3X3NpemUpCiAJCQkJZXBvcyA9IG5ld19zaXplOwpAQCAtNDg1MCw3 ICs0ODUwLDcgQEAgc3RhdGljIGxvbmcgZXh0NF96ZXJvX3JhbmdlKHN0cnVjdCBmaWxlICpmaWxl LCBsb2ZmX3Qgb2Zmc2V0LAogCQl9CiAJCS8qIE5vdyByZWxlYXNlIHRoZSBwYWdlcyBhbmQgemVy byBibG9jayBhbGlnbmVkIHBhcnQgb2YgcGFnZXMgKi8KIAkJdHJ1bmNhdGVfcGFnZWNhY2hlX3Jh bmdlKGlub2RlLCBzdGFydCwgZW5kIC0gMSk7Ci0JCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlf Y3RpbWUgPSBleHQ0X2N1cnJlbnRfdGltZShpbm9kZSk7CisJCWlub2RlLT5pX210aW1lID0gaW5v ZGUtPmlfY3RpbWUgPSBjdXJyZW50X2ZzX3RpbWUoaW5vZGUtPmlfc2IpOwogCiAJCXJldCA9IGV4 dDRfYWxsb2NfZmlsZV9ibG9ja3MoZmlsZSwgbGJsaywgbWF4X2Jsb2NrcywgbmV3X3NpemUsCiAJ CQkJCSAgICAgZmxhZ3MsIG1vZGUpOwpAQCAtNDg3NSw3ICs0ODc1LDcgQEAgc3RhdGljIGxvbmcg ZXh0NF96ZXJvX3JhbmdlKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LAogCQlnb3Rv IG91dF9kaW87CiAJfQogCi0JaW5vZGUtPmlfbXRpbWUgPSBpbm9kZS0+aV9jdGltZSA9IGV4dDRf Y3VycmVudF90aW1lKGlub2RlKTsKKwlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5pX2N0aW1lID0g Y3VycmVudF9mc190aW1lKGlub2RlLT5pX3NiKTsKIAlpZiAobmV3X3NpemUpIHsKIAkJZXh0NF91 cGRhdGVfaW5vZGVfc2l6ZShpbm9kZSwgbmV3X3NpemUpOwogCX0gZWxzZSB7CkBAIC01NTc0LDcg KzU1NzQsNyBAQCBpbnQgZXh0NF9jb2xsYXBzZV9yYW5nZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBs b2ZmX3Qgb2Zmc2V0LCBsb2ZmX3QgbGVuKQogCXVwX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2Rh dGFfc2VtKTsKIAlpZiAoSVNfU1lOQyhpbm9kZSkpCiAJCWV4dDRfaGFuZGxlX3N5bmMoaGFuZGxl KTsKLQlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5pX2N0aW1lID0gZXh0NF9jdXJyZW50X3RpbWUo aW5vZGUpOworCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfY3RpbWUgPSBjdXJyZW50X2ZzX3Rp bWUoaW5vZGUtPmlfc2IpOwogCWV4dDRfbWFya19pbm9kZV9kaXJ0eShoYW5kbGUsIGlub2RlKTsK IAogb3V0X3N0b3A6CkBAIC01Njg0LDcgKzU2ODQsNyBAQCBpbnQgZXh0NF9pbnNlcnRfcmFuZ2Uo c3RydWN0IGlub2RlICppbm9kZSwgbG9mZl90IG9mZnNldCwgbG9mZl90IGxlbikKIAkvKiBFeHBh bmQgZmlsZSB0byBhdm9pZCBkYXRhIGxvc3MgaWYgdGhlcmUgaXMgZXJyb3Igd2hpbGUgc2hpZnRp bmcgKi8KIAlpbm9kZS0+aV9zaXplICs9IGxlbjsKIAlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXpl ICs9IGxlbjsKLQlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5pX2N0aW1lID0gZXh0NF9jdXJyZW50 X3RpbWUoaW5vZGUpOworCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfY3RpbWUgPSBjdXJyZW50 X2ZzX3RpbWUoaW5vZGUtPmlfc2IpOwogCXJldCA9IGV4dDRfbWFya19pbm9kZV9kaXJ0eShoYW5k bGUsIGlub2RlKTsKIAlpZiAocmV0KQogCQlnb3RvIG91dF9zdG9wOwpkaWZmIC0tZ2l0IGEvZnMv ZXh0NC9pYWxsb2MuYyBiL2ZzL2V4dDQvaWFsbG9jLmMKaW5kZXggM2RhNGNmOC4uMTUyZWYzOCAx MDA2NDQKLS0tIGEvZnMvZXh0NC9pYWxsb2MuYworKysgYi9mcy9leHQ0L2lhbGxvYy5jCkBAIC0x MDM5LDcgKzEwMzksNyBAQCBnb3Q6CiAJLyogVGhpcyBpcyB0aGUgb3B0aW1hbCBJTyBzaXplIChm b3Igc3RhdCksIG5vdCB0aGUgZnMgYmxvY2sgc2l6ZSAqLwogCWlub2RlLT5pX2Jsb2NrcyA9IDA7 CiAJaW5vZGUtPmlfbXRpbWUgPSBpbm9kZS0+aV9hdGltZSA9IGlub2RlLT5pX2N0aW1lID0gZWkt PmlfY3J0aW1lID0KLQkJCQkJCSAgICAgICBleHQ0X2N1cnJlbnRfdGltZShpbm9kZSk7CisJCQkJ CQkgICAgICAgY3VycmVudF9mc190aW1lKGlub2RlLT5pX3NiKTsKIAogCW1lbXNldChlaS0+aV9k YXRhLCAwLCBzaXplb2YoZWktPmlfZGF0YSkpOwogCWVpLT5pX2Rpcl9zdGFydF9sb29rdXAgPSAw OwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9pbmxpbmUuYyBiL2ZzL2V4dDQvaW5saW5lLmMKaW5kZXgg ZmY3NTM4Yy4uNjdiM2ZlOCAxMDA2NDQKLS0tIGEvZnMvZXh0NC9pbmxpbmUuYworKysgYi9mcy9l eHQ0L2lubGluZS5jCkBAIC0xMDI4LDcgKzEwMjgsNyBAQCBzdGF0aWMgaW50IGV4dDRfYWRkX2Rp cmVudF90b19pbmxpbmUoaGFuZGxlX3QgKmhhbmRsZSwKIAkgKiBoYXBwZW4gaXMgdGhhdCB0aGUg dGltZXMgYXJlIHNsaWdodGx5IG91dCBvZiBkYXRlCiAJICogYW5kL29yIGRpZmZlcmVudCBmcm9t IHRoZSBkaXJlY3RvcnkgY2hhbmdlIHRpbWUuCiAJICovCi0JZGlyLT5pX210aW1lID0gZGlyLT5p X2N0aW1lID0gZXh0NF9jdXJyZW50X3RpbWUoZGlyKTsKKwlkaXItPmlfbXRpbWUgPSBkaXItPmlf Y3RpbWUgPSBjdXJyZW50X2ZzX3RpbWUoZGlyLT5pX3NiKTsKIAlleHQ0X3VwZGF0ZV9keF9mbGFn KGRpcik7CiAJZGlyLT5pX3ZlcnNpb24rKzsKIAlleHQ0X21hcmtfaW5vZGVfZGlydHkoaGFuZGxl LCBkaXIpOwpAQCAtMTk3MSw3ICsxOTcxLDcgQEAgb3V0OgogCWlmIChpbm9kZS0+aV9ubGluaykK IAkJZXh0NF9vcnBoYW5fZGVsKGhhbmRsZSwgaW5vZGUpOwogCi0JaW5vZGUtPmlfbXRpbWUgPSBp bm9kZS0+aV9jdGltZSA9IGV4dDRfY3VycmVudF90aW1lKGlub2RlKTsKKwlpbm9kZS0+aV9tdGlt ZSA9IGlub2RlLT5pX2N0aW1lID0gY3VycmVudF9mc190aW1lKGlub2RlLT5pX3NiKTsKIAlleHQ0 X21hcmtfaW5vZGVfZGlydHkoaGFuZGxlLCBpbm9kZSk7CiAJaWYgKElTX1NZTkMoaW5vZGUpKQog CQlleHQ0X2hhbmRsZV9zeW5jKGhhbmRsZSk7CmRpZmYgLS1naXQgYS9mcy9leHQ0L2lub2RlLmMg Yi9mcy9leHQ0L2lub2RlLmMKaW5kZXggZjcxNDBjYS4uMTU0NmMwMiAxMDA2NDQKLS0tIGEvZnMv ZXh0NC9pbm9kZS5jCisrKyBiL2ZzL2V4dDQvaW5vZGUuYwpAQCAtMzk5MSw3ICszOTkxLDcgQEAg aW50IGV4dDRfcHVuY2hfaG9sZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBsb2ZmX3Qgb2Zmc2V0LCBs b2ZmX3QgbGVuZ3RoKQogCWlmIChJU19TWU5DKGlub2RlKSkKIAkJZXh0NF9oYW5kbGVfc3luYyho YW5kbGUpOwogCi0JaW5vZGUtPmlfbXRpbWUgPSBpbm9kZS0+aV9jdGltZSA9IGV4dDRfY3VycmVu dF90aW1lKGlub2RlKTsKKwlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5pX2N0aW1lID0gY3VycmVu dF9mc190aW1lKGlub2RlLT5pX3NiKTsKIAlleHQ0X21hcmtfaW5vZGVfZGlydHkoaGFuZGxlLCBp bm9kZSk7CiBvdXRfc3RvcDoKIAlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwpAQCAtNDE0NSw3 ICs0MTQ1LDcgQEAgb3V0X3N0b3A6CiAJaWYgKGlub2RlLT5pX25saW5rKQogCQlleHQ0X29ycGhh bl9kZWwoaGFuZGxlLCBpbm9kZSk7CiAKLQlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5pX2N0aW1l ID0gZXh0NF9jdXJyZW50X3RpbWUoaW5vZGUpOworCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlf Y3RpbWUgPSBjdXJyZW50X2ZzX3RpbWUoaW5vZGUtPmlfc2IpOwogCWV4dDRfbWFya19pbm9kZV9k aXJ0eShoYW5kbGUsIGlub2RlKTsKIAlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogCkBAIC01 MTIwLDcgKzUxMjAsNyBAQCBpbnQgZXh0NF9zZXRhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwg c3RydWN0IGlhdHRyICphdHRyKQogCQkJICogdXBkYXRlIGMvbXRpbWUgaW4gc2hyaW5rIGNhc2Ug YmVsb3cKIAkJCSAqLwogCQkJaWYgKCFzaHJpbmspIHsKLQkJCQlpbm9kZS0+aV9tdGltZSA9IGV4 dDRfY3VycmVudF90aW1lKGlub2RlKTsKKwkJCQlpbm9kZS0+aV9tdGltZSA9IGN1cnJlbnRfZnNf dGltZShpbm9kZS0+aV9zYik7CiAJCQkJaW5vZGUtPmlfY3RpbWUgPSBpbm9kZS0+aV9tdGltZTsK IAkJCX0KIAkJCWRvd25fd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOwpkaWZmIC0t Z2l0IGEvZnMvZXh0NC9pb2N0bC5jIGIvZnMvZXh0NC9pb2N0bC5jCmluZGV4IDI4Y2M0MTIuLmZi NDI5YWMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvaW9jdGwuYworKysgYi9mcy9leHQ0L2lvY3RsLmMK QEAgLTE1NSw3ICsxNTUsNyBAQCBzdGF0aWMgbG9uZyBzd2FwX2lub2RlX2Jvb3RfbG9hZGVyKHN0 cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAKIAlzd2FwX2lub2RlX2RhdGEoaW5vZGUsIGlub2RlX2Js KTsKIAotCWlub2RlLT5pX2N0aW1lID0gaW5vZGVfYmwtPmlfY3RpbWUgPSBleHQ0X2N1cnJlbnRf dGltZShpbm9kZSk7CisJaW5vZGUtPmlfY3RpbWUgPSBpbm9kZV9ibC0+aV9jdGltZSA9IGN1cnJl bnRfZnNfdGltZShpbm9kZS0+aV9zYik7CiAKIAlzcGluX2xvY2soJnNiaS0+c19uZXh0X2dlbl9s b2NrKTsKIAlpbm9kZS0+aV9nZW5lcmF0aW9uID0gc2JpLT5zX25leHRfZ2VuZXJhdGlvbisrOwpA QCAtMjc0LDcgKzI3NCw3IEBAIHN0YXRpYyBpbnQgZXh0NF9pb2N0bF9zZXRmbGFncyhzdHJ1Y3Qg aW5vZGUgKmlub2RlLAogCX0KIAogCWV4dDRfc2V0X2lub2RlX2ZsYWdzKGlub2RlKTsKLQlpbm9k ZS0+aV9jdGltZSA9IGV4dDRfY3VycmVudF90aW1lKGlub2RlKTsKKwlpbm9kZS0+aV9jdGltZSA9 IGN1cnJlbnRfZnNfdGltZShpbm9kZS0+aV9zYik7CiAKIAllcnIgPSBleHQ0X21hcmtfaWxvY19k aXJ0eShoYW5kbGUsIGlub2RlLCAmaWxvYyk7CiBmbGFnc19lcnI6CkBAIC0zNzMsNyArMzczLDcg QEAgc3RhdGljIGludCBleHQ0X2lvY3RsX3NldHByb2plY3Qoc3RydWN0IGZpbGUgKmZpbHAsIF9f dTMyIHByb2ppZCkKIAkJfQogCX0KIAlFWFQ0X0koaW5vZGUpLT5pX3Byb2ppZCA9IGtwcm9qaWQ7 Ci0JaW5vZGUtPmlfY3RpbWUgPSBleHQ0X2N1cnJlbnRfdGltZShpbm9kZSk7CisJaW5vZGUtPmlf Y3RpbWUgPSBjdXJyZW50X2ZzX3RpbWUoaW5vZGUtPmlfc2IpOwogb3V0X2RpcnR5OgogCXJjID0g ZXh0NF9tYXJrX2lsb2NfZGlydHkoaGFuZGxlLCBpbm9kZSwgJmlsb2MpOwogCWlmICghZXJyKQpA QCAtNTA1LDcgKzUwNSw3IEBAIGxvbmcgZXh0NF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdW5z aWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCiAJCX0KIAkJZXJyID0gZXh0NF9yZXNl cnZlX2lub2RlX3dyaXRlKGhhbmRsZSwgaW5vZGUsICZpbG9jKTsKIAkJaWYgKGVyciA9PSAwKSB7 Ci0JCQlpbm9kZS0+aV9jdGltZSA9IGV4dDRfY3VycmVudF90aW1lKGlub2RlKTsKKwkJCWlub2Rl LT5pX2N0aW1lID0gY3VycmVudF9mc190aW1lKGlub2RlLT5pX3NiKTsKIAkJCWlub2RlLT5pX2dl bmVyYXRpb24gPSBnZW5lcmF0aW9uOwogCQkJZXJyID0gZXh0NF9tYXJrX2lsb2NfZGlydHkoaGFu ZGxlLCBpbm9kZSwgJmlsb2MpOwogCQl9CmRpZmYgLS1naXQgYS9mcy9leHQ0L25hbWVpLmMgYi9m cy9leHQ0L25hbWVpLmMKaW5kZXggZWM0YzM5OS4uYzRjYzAxZCAxMDA2NDQKLS0tIGEvZnMvZXh0 NC9uYW1laS5jCisrKyBiL2ZzL2V4dDQvbmFtZWkuYwpAQCAtMTkzOSw3ICsxOTM5LDcgQEAgc3Rh dGljIGludCBhZGRfZGlyZW50X3RvX2J1ZihoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgZXh0NF9m aWxlbmFtZSAqZm5hbWUsCiAJICogaGFwcGVuIGlzIHRoYXQgdGhlIHRpbWVzIGFyZSBzbGlnaHRs eSBvdXQgb2YgZGF0ZQogCSAqIGFuZC9vciBkaWZmZXJlbnQgZnJvbSB0aGUgZGlyZWN0b3J5IGNo YW5nZSB0aW1lLgogCSAqLwotCWRpci0+aV9tdGltZSA9IGRpci0+aV9jdGltZSA9IGV4dDRfY3Vy cmVudF90aW1lKGRpcik7CisJZGlyLT5pX210aW1lID0gZGlyLT5pX2N0aW1lID0gY3VycmVudF9m c190aW1lKGRpci0+aV9zYik7CiAJZXh0NF91cGRhdGVfZHhfZmxhZyhkaXIpOwogCWRpci0+aV92 ZXJzaW9uKys7CiAJZXh0NF9tYXJrX2lub2RlX2RpcnR5KGhhbmRsZSwgZGlyKTsKQEAgLTI5ODgs NyArMjk4OCw3IEBAIHN0YXRpYyBpbnQgZXh0NF9ybWRpcihzdHJ1Y3QgaW5vZGUgKmRpciwgc3Ry dWN0IGRlbnRyeSAqZGVudHJ5KQogCSAqIHJlY292ZXJ5LiAqLwogCWlub2RlLT5pX3NpemUgPSAw OwogCWV4dDRfb3JwaGFuX2FkZChoYW5kbGUsIGlub2RlKTsKLQlpbm9kZS0+aV9jdGltZSA9IGRp ci0+aV9jdGltZSA9IGRpci0+aV9tdGltZSA9IGV4dDRfY3VycmVudF90aW1lKGlub2RlKTsKKwlp bm9kZS0+aV9jdGltZSA9IGRpci0+aV9jdGltZSA9IGRpci0+aV9tdGltZSA9IGN1cnJlbnRfZnNf dGltZShpbm9kZS0+aV9zYik7CiAJZXh0NF9tYXJrX2lub2RlX2RpcnR5KGhhbmRsZSwgaW5vZGUp OwogCWV4dDRfZGVjX2NvdW50KGhhbmRsZSwgZGlyKTsKIAlleHQ0X3VwZGF0ZV9keF9mbGFnKGRp cik7CkBAIC0zMDUxLDEzICszMDUxLDEzIEBAIHN0YXRpYyBpbnQgZXh0NF91bmxpbmsoc3RydWN0 IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIAlyZXR2YWwgPSBleHQ0X2RlbGV0 ZV9lbnRyeShoYW5kbGUsIGRpciwgZGUsIGJoKTsKIAlpZiAocmV0dmFsKQogCQlnb3RvIGVuZF91 bmxpbms7Ci0JZGlyLT5pX2N0aW1lID0gZGlyLT5pX210aW1lID0gZXh0NF9jdXJyZW50X3RpbWUo ZGlyKTsKKwlkaXItPmlfY3RpbWUgPSBkaXItPmlfbXRpbWUgPSBjdXJyZW50X2ZzX3RpbWUoZGly LT5pX3NiKTsKIAlleHQ0X3VwZGF0ZV9keF9mbGFnKGRpcik7CiAJZXh0NF9tYXJrX2lub2RlX2Rp cnR5KGhhbmRsZSwgZGlyKTsKIAlkcm9wX25saW5rKGlub2RlKTsKIAlpZiAoIWlub2RlLT5pX25s aW5rKQogCQlleHQ0X29ycGhhbl9hZGQoaGFuZGxlLCBpbm9kZSk7Ci0JaW5vZGUtPmlfY3RpbWUg PSBleHQ0X2N1cnJlbnRfdGltZShpbm9kZSk7CisJaW5vZGUtPmlfY3RpbWUgPSBjdXJyZW50X2Zz X3RpbWUoaW5vZGUtPmlfc2IpOwogCWV4dDRfbWFya19pbm9kZV9kaXJ0eShoYW5kbGUsIGlub2Rl KTsKIAogZW5kX3VubGluazoKQEAgLTMyNTYsNyArMzI1Niw3IEBAIHJldHJ5OgogCWlmIChJU19E SVJTWU5DKGRpcikpCiAJCWV4dDRfaGFuZGxlX3N5bmMoaGFuZGxlKTsKIAotCWlub2RlLT5pX2N0 aW1lID0gZXh0NF9jdXJyZW50X3RpbWUoaW5vZGUpOworCWlub2RlLT5pX2N0aW1lID0gY3VycmVu dF9mc190aW1lKGlub2RlLT5pX3NiKTsKIAlleHQ0X2luY19jb3VudChoYW5kbGUsIGlub2RlKTsK IAlpaG9sZChpbm9kZSk7CiAKQEAgLTMzODMsNyArMzM4Myw3IEBAIHN0YXRpYyBpbnQgZXh0NF9z ZXRlbnQoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGV4dDRfcmVuYW1lbnQgKmVudCwKIAkJZW50 LT5kZS0+ZmlsZV90eXBlID0gZmlsZV90eXBlOwogCWVudC0+ZGlyLT5pX3ZlcnNpb24rKzsKIAll bnQtPmRpci0+aV9jdGltZSA9IGVudC0+ZGlyLT5pX210aW1lID0KLQkJZXh0NF9jdXJyZW50X3Rp bWUoZW50LT5kaXIpOworCQljdXJyZW50X2ZzX3RpbWUoZW50LT5kaXItPmlfc2IpOwogCWV4dDRf bWFya19pbm9kZV9kaXJ0eShoYW5kbGUsIGVudC0+ZGlyKTsKIAlCVUZGRVJfVFJBQ0UoZW50LT5i aCwgImNhbGwgZXh0NF9oYW5kbGVfZGlydHlfbWV0YWRhdGEiKTsKIAlpZiAoIWVudC0+aW5saW5l ZCkgewpAQCAtMzY1NCw3ICszNjU0LDcgQEAgc3RhdGljIGludCBleHQ0X3JlbmFtZShzdHJ1Y3Qg aW5vZGUgKm9sZF9kaXIsIHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksCiAJICogTGlrZSBtb3N0 IG90aGVyIFVuaXggc3lzdGVtcywgc2V0IHRoZSBjdGltZSBmb3IgaW5vZGVzIG9uIGEKIAkgKiBy ZW5hbWUuCiAJICovCi0Jb2xkLmlub2RlLT5pX2N0aW1lID0gZXh0NF9jdXJyZW50X3RpbWUob2xk Lmlub2RlKTsKKwlvbGQuaW5vZGUtPmlfY3RpbWUgPSBjdXJyZW50X2ZzX3RpbWUob2xkLmlub2Rl LT5pX3NiKTsKIAlleHQ0X21hcmtfaW5vZGVfZGlydHkoaGFuZGxlLCBvbGQuaW5vZGUpOwogCiAJ aWYgKCF3aGl0ZW91dCkgewpAQCAtMzY2Niw5ICszNjY2LDkgQEAgc3RhdGljIGludCBleHQ0X3Jl bmFtZShzdHJ1Y3QgaW5vZGUgKm9sZF9kaXIsIHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksCiAK IAlpZiAobmV3Lmlub2RlKSB7CiAJCWV4dDRfZGVjX2NvdW50KGhhbmRsZSwgbmV3Lmlub2RlKTsK LQkJbmV3Lmlub2RlLT5pX2N0aW1lID0gZXh0NF9jdXJyZW50X3RpbWUobmV3Lmlub2RlKTsKKwkJ bmV3Lmlub2RlLT5pX2N0aW1lID0gY3VycmVudF9mc190aW1lKG5ldy5pbm9kZS0+aV9zYik7CiAJ fQotCW9sZC5kaXItPmlfY3RpbWUgPSBvbGQuZGlyLT5pX210aW1lID0gZXh0NF9jdXJyZW50X3Rp bWUob2xkLmRpcik7CisJb2xkLmRpci0+aV9jdGltZSA9IG9sZC5kaXItPmlfbXRpbWUgPSBjdXJy ZW50X2ZzX3RpbWUob2xkLmRpci0+aV9zYik7CiAJZXh0NF91cGRhdGVfZHhfZmxhZyhvbGQuZGly KTsKIAlpZiAob2xkLmRpcl9iaCkgewogCQlyZXR2YWwgPSBleHQ0X3JlbmFtZV9kaXJfZmluaXNo KGhhbmRsZSwgJm9sZCwgbmV3LmRpci0+aV9pbm8pOwpAQCAtMzcyNiw2ICszNzI2LDcgQEAgc3Rh dGljIGludCBleHQ0X2Nyb3NzX3JlbmFtZShzdHJ1Y3QgaW5vZGUgKm9sZF9kaXIsIHN0cnVjdCBk ZW50cnkgKm9sZF9kZW50cnksCiAJfTsKIAl1OCBuZXdfZmlsZV90eXBlOwogCWludCByZXR2YWw7 CisJc3RydWN0IHRpbWVzcGVjIGN0aW1lOwogCiAJaWYgKChleHQ0X2VuY3J5cHRlZF9pbm9kZShv bGRfZGlyKSB8fAogCSAgICAgZXh0NF9lbmNyeXB0ZWRfaW5vZGUobmV3X2RpcikpICYmCkBAIC0z ODI4LDggKzM4MjksOSBAQCBzdGF0aWMgaW50IGV4dDRfY3Jvc3NfcmVuYW1lKHN0cnVjdCBpbm9k ZSAqb2xkX2Rpciwgc3RydWN0IGRlbnRyeSAqb2xkX2RlbnRyeSwKIAkgKiBMaWtlIG1vc3Qgb3Ro ZXIgVW5peCBzeXN0ZW1zLCBzZXQgdGhlIGN0aW1lIGZvciBpbm9kZXMgb24gYQogCSAqIHJlbmFt ZS4KIAkgKi8KLQlvbGQuaW5vZGUtPmlfY3RpbWUgPSBleHQ0X2N1cnJlbnRfdGltZShvbGQuaW5v ZGUpOwotCW5ldy5pbm9kZS0+aV9jdGltZSA9IGV4dDRfY3VycmVudF90aW1lKG5ldy5pbm9kZSk7 CisJY3RpbWUgPSBjdXJyZW50X2ZzX3RpbWUob2xkLmlub2RlLT5pX3NiKTsKKwlvbGQuaW5vZGUt PmlfY3RpbWUgPSBjdGltZTsKKwluZXcuaW5vZGUtPmlfY3RpbWUgPSBjdGltZTsKIAlleHQ0X21h cmtfaW5vZGVfZGlydHkoaGFuZGxlLCBvbGQuaW5vZGUpOwogCWV4dDRfbWFya19pbm9kZV9kaXJ0 eShoYW5kbGUsIG5ldy5pbm9kZSk7CiAKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvc3VwZXIuYyBiL2Zz L2V4dDQvc3VwZXIuYwppbmRleCAzODIyYTVhLi5jMzljYjdjIDEwMDY0NAotLS0gYS9mcy9leHQ0 L3N1cGVyLmMKKysrIGIvZnMvZXh0NC9zdXBlci5jCkBAIC01MTY1LDcgKzUxNjUsNyBAQCBzdGF0 aWMgaW50IGV4dDRfcXVvdGFfb2ZmKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCB0eXBlKQog CWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgRVhUNF9IVF9RVU9UQSwgMSk7CiAJ aWYgKElTX0VSUihoYW5kbGUpKQogCQlnb3RvIG91dDsKLQlpbm9kZS0+aV9tdGltZSA9IGlub2Rl LT5pX2N0aW1lID0gQ1VSUkVOVF9USU1FOworCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfY3Rp bWUgPSBjdXJyZW50X2ZzX3RpbWUoaW5vZGUtPmlfc2IpOwogCWV4dDRfbWFya19pbm9kZV9kaXJ0 eShoYW5kbGUsIGlub2RlKTsKIAlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogCmRpZmYgLS1n aXQgYS9mcy9leHQ0L3hhdHRyLmMgYi9mcy9leHQ0L3hhdHRyLmMKaW5kZXggZTc5YmQzMi4uODA4 NjA5YyAxMDA2NDQKLS0tIGEvZnMvZXh0NC94YXR0ci5jCisrKyBiL2ZzL2V4dDQveGF0dHIuYwpA QCAtMTI1Myw3ICsxMjUzLDcgQEAgZXh0NF94YXR0cl9zZXRfaGFuZGxlKGhhbmRsZV90ICpoYW5k bGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBuYW1lX2luZGV4LAogCX0KIAlpZiAoIWVycm9y KSB7CiAJCWV4dDRfeGF0dHJfdXBkYXRlX3N1cGVyX2Jsb2NrKGhhbmRsZSwgaW5vZGUtPmlfc2Ip OwotCQlpbm9kZS0+aV9jdGltZSA9IGV4dDRfY3VycmVudF90aW1lKGlub2RlKTsKKwkJaW5vZGUt PmlfY3RpbWUgPSBjdXJyZW50X2ZzX3RpbWUoaW5vZGUtPmlfc2IpOwogCQlpZiAoIXZhbHVlKQog CQkJZXh0NF9jbGVhcl9pbm9kZV9zdGF0ZShpbm9kZSwgRVhUNF9TVEFURV9OT19FWFBBTkQpOwog CQllcnJvciA9IGV4dDRfbWFya19pbG9jX2RpcnR5KGhhbmRsZSwgaW5vZGUsICZpcy5pbG9jKTsK LS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpZMjAzOCBtYWlsaW5nIGxpc3QKWTIwMzhAbGlzdHMubGluYXJvLm9yZwpodHRwczovL2xpc3Rz LmxpbmFyby5vcmcvbWFpbG1hbi9saXN0aW5mby95MjAzOAo=