From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tina Ruchandani Subject: [PATCH] NET: ATM: MPOA: Remove 32-bit timekeeping Date: Thu, 29 Oct 2015 22:01:07 -0700 Message-ID: <20151030050107.GA10611@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: y2038 , Karsten Keil , linux-kernel@vger.kernel.org, Arnd Bergmann , David Miller To: netdev@vger.kernel.org Return-path: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: y2038-bounces@lists.linaro.org Sender: "Y2038" List-Id: netdev.vger.kernel.org bmV0L2F0bS9tcG9hXyogZmlsZXMgdXNlICdzdHJ1Y3QgdGltZXZhbCcgdG8gc3RvcmUgZXZlbnQK dGltZXN0YW1wcy4gc3RydWN0IHRpbWV2YWwgdXNlcyBhIDMyLWJpdCBzZWNvbmRzIGZpZWxkIHdo aWNoIHdpbGwKb3ZlcmZsb3cgaW4gdGhlIHllYXIgMjAzOCBhbmQgYmV5b25kLiBNb3JldmVyLCB0 aGUgdGltZXN0YW1wcyBhcmUgYmVpbmcKY29tcGFyZWQgb25seSB0byBnZXQgc2Vjb25kcyBlbGFw c2VkLCBzbyBzdHJ1Y3QgdGltZXZhbCB3aGljaCBzdG9yZXMKYSBzZWNvbmRzIGFuZCBtaWNyb3Nl Y29uZHMgZmllbGQgaXMgYW4gb3ZlcmtpbGwuIFRoaXMgcGF0Y2ggcmVwbGFjZXMKdGhlIHVzZSBv ZiBzdHJ1Y3QgdGltZXZhbCB3aXRoIHRpbWU2NF90IHRvIHN0b3JlIGEgNjQtYml0IHNlY29uZHMg ZmllbGQuCgpTaWduZWQtb2ZmLWJ5OiBUaW5hIFJ1Y2hhbmRhbmkgPHJ1Y2hhbmRhbmkudGluYUBn bWFpbC5jb20+Ci0tLQogbmV0L2F0bS9jb21tb24uYyAgICAgIHwgIDIgKy0KIG5ldC9hdG0vbXBj LmMgICAgICAgICB8ICA5ICsrKysrLS0tLQogbmV0L2F0bS9tcG9hX2NhY2hlcy5jIHwgNDkgKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogbmV0L2F0bS9t cG9hX2NhY2hlcy5oIHwgIDkgKysrKystLS0tCiBuZXQvYXRtL21wb2FfcHJvYy5jICAgfCAxNSAr KysrKysrKystLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgNDAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2F0bS9jb21tb24uYyBiL25ldC9hdG0vY29tbW9u LmMKaW5kZXggNDlhODcyZC4uYTQ4YTFhYyAxMDA2NDQKLS0tIGEvbmV0L2F0bS9jb21tb24uYwor KysgYi9uZXQvYXRtL2NvbW1vbi5jCkBAIC0xNCw3ICsxNCw3IEBACiAjaW5jbHVkZSA8bGludXgv Y2FwYWJpbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvc2No ZWQuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1lLmg+CQkvKiBzdHJ1Y3QgdGltZXZhbCAqLworI2lu Y2x1ZGUgPGxpbnV4L3RpbWU2NC5oPgkvKiA2NC1iaXQgdGltZSBmb3Igc2Vjb25kcyAqLwogI2lu Y2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgogI2luY2x1 ZGUgPGxpbnV4L2luaXQuaD4KZGlmZiAtLWdpdCBhL25ldC9hdG0vbXBjLmMgYi9uZXQvYXRtL21w Yy5jCmluZGV4IDBlOTgyMjIuLjIxMTQ2OGUgMTAwNjQ0Ci0tLSBhL25ldC9hdG0vbXBjLmMKKysr IGIvbmV0L2F0bS9tcGMuYwpAQCAtMTA5MCw3ICsxMDkwLDcgQEAgc3RhdGljIHZvaWQgTVBPQV90 cmlnZ2VyX3JjdmQoc3RydWN0IGtfbWVzc2FnZSAqbXNnLCBzdHJ1Y3QgbXBvYV9jbGllbnQgKm1w YykKIAkJbXNnLT50eXBlID0gU05EX01QT0FfUkVTX1JRU1Q7CiAJCW1zZy0+Y29udGVudC5pbl9p bmZvID0gZW50cnktPmN0cmxfaW5mbzsKIAkJbXNnX3RvX21wb2FkKG1zZywgbXBjKTsKLQkJZG9f Z2V0dGltZW9mZGF5KCYoZW50cnktPnJlcGx5X3dhaXQpKTsKKwkJZW50cnktPnJlcGx5X3dhaXQg PSBrdGltZV9nZXRfcmVhbF9zZWNvbmRzKCk7CiAJCW1wYy0+aW5fb3BzLT5wdXQoZW50cnkpOwog CQlyZXR1cm47CiAJfQpAQCAtMTEwMCw3ICsxMTAwLDcgQEAgc3RhdGljIHZvaWQgTVBPQV90cmln Z2VyX3JjdmQoc3RydWN0IGtfbWVzc2FnZSAqbXNnLCBzdHJ1Y3QgbXBvYV9jbGllbnQgKm1wYykK IAkJbXNnLT50eXBlID0gU05EX01QT0FfUkVTX1JRU1Q7CiAJCW1zZy0+Y29udGVudC5pbl9pbmZv ID0gZW50cnktPmN0cmxfaW5mbzsKIAkJbXNnX3RvX21wb2FkKG1zZywgbXBjKTsKLQkJZG9fZ2V0 dGltZW9mZGF5KCYoZW50cnktPnJlcGx5X3dhaXQpKTsKKwkJZW50cnktPnJlcGx5X3dhaXQgPSBr dGltZV9nZXRfcmVhbF9zZWNvbmRzKCk7CiAJCW1wYy0+aW5fb3BzLT5wdXQoZW50cnkpOwogCQly ZXR1cm47CiAJfQpAQCAtMTE3Niw4ICsxMTc2LDkgQEAgc3RhdGljIHZvaWQgTVBPQV9yZXNfcmVw bHlfcmN2ZChzdHJ1Y3Qga19tZXNzYWdlICptc2csIHN0cnVjdCBtcG9hX2NsaWVudCAqbXBjKQog CX0KIAogCWVudHJ5LT5jdHJsX2luZm8gPSBtc2ctPmNvbnRlbnQuaW5faW5mbzsKLQlkb19nZXR0 aW1lb2ZkYXkoJihlbnRyeS0+dHYpKTsKLQlkb19nZXR0aW1lb2ZkYXkoJihlbnRyeS0+cmVwbHlf d2FpdCkpOyAvKiBVc2VkIGluIHJlZnJlc2hpbmcgZnVuYyBmcm9tIG5vdyBvbiAqLworCWVudHJ5 LT50diA9IGt0aW1lX2dldF9yZWFsX3NlY29uZHMoKTsKKwkvKiBVc2VkIGluIHJlZnJlc2hpbmcg ZnVuYyBmcm9tIG5vdyBvbiAqLworCWVudHJ5LT5yZXBseV93YWl0ID0ga3RpbWVfZ2V0X3JlYWxf c2Vjb25kcygpOwogCWVudHJ5LT5yZWZyZXNoX3RpbWUgPSAwOwogCWRkcHJpbnRrX2NvbnQoImVu dHJ5LT5zaG9ydGN1dCA9ICVwXG4iLCBlbnRyeS0+c2hvcnRjdXQpOwogCmRpZmYgLS1naXQgYS9u ZXQvYXRtL21wb2FfY2FjaGVzLmMgYi9uZXQvYXRtL21wb2FfY2FjaGVzLmMKaW5kZXggZDFiMmQ5 YS4uMmE1OTgzMCAxMDA2NDQKLS0tIGEvbmV0L2F0bS9tcG9hX2NhY2hlcy5jCisrKyBiL25ldC9h dG0vbXBvYV9jYWNoZXMuYwpAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBpbl9jYWNoZV9lbnRy eSAqaW5fY2FjaGVfYWRkX2VudHJ5KF9fYmUzMiBkc3RfaXAsCiAKIAltZW1jcHkoZW50cnktPk1Q U19jdHJsX0FUTV9hZGRyLCBjbGllbnQtPm1wc19jdHJsX2FkZHIsIEFUTV9FU0FfTEVOKTsKIAll bnRyeS0+Y3RybF9pbmZvLmluX2RzdF9pcCA9IGRzdF9pcDsKLQlkb19nZXR0aW1lb2ZkYXkoJihl bnRyeS0+dHYpKTsKKwllbnRyeS0+dHYgPSBrdGltZV9nZXRfcmVhbF9zZWNvbmRzKCk7CiAJZW50 cnktPnJldHJ5X3RpbWUgPSBjbGllbnQtPnBhcmFtZXRlcnMubXBjX3A0OwogCWVudHJ5LT5jb3Vu dCA9IDE7CiAJZW50cnktPmVudHJ5X3N0YXRlID0gSU5HUkVTU19JTlZBTElEOwpAQCAtMTQ3LDcg KzE0Nyw3IEBAIHN0YXRpYyBpbnQgY2FjaGVfaGl0KGluX2NhY2hlX2VudHJ5ICplbnRyeSwgc3Ry dWN0IG1wb2FfY2xpZW50ICptcGMpCiAJCQlpZiAocW9zICE9IE5VTEwpCiAJCQkJbXNnLnFvcyA9 IHFvcy0+cW9zOwogCQkJbXNnX3RvX21wb2FkKCZtc2csIG1wYyk7Ci0JCQlkb19nZXR0aW1lb2Zk YXkoJihlbnRyeS0+cmVwbHlfd2FpdCkpOworCQkJZW50cnktPnJlcGx5X3dhaXQgPSBrdGltZV9n ZXRfcmVhbF9zZWNvbmRzKCk7CiAJCQllbnRyeS0+ZW50cnlfc3RhdGUgPSBJTkdSRVNTX1JFU09M VklORzsKIAkJfQogCQlpZiAoZW50cnktPnNob3J0Y3V0ICE9IE5VTEwpCkBAIC0xNzAsNyArMTcw LDcgQEAgc3RhdGljIGludCBjYWNoZV9oaXQoaW5fY2FjaGVfZW50cnkgKmVudHJ5LCBzdHJ1Y3Qg bXBvYV9jbGllbnQgKm1wYykKIAkJaWYgKHFvcyAhPSBOVUxMKQogCQkJbXNnLnFvcyA9IHFvcy0+ cW9zOwogCQltc2dfdG9fbXBvYWQoJm1zZywgbXBjKTsKLQkJZG9fZ2V0dGltZW9mZGF5KCYoZW50 cnktPnJlcGx5X3dhaXQpKTsKKwkJZW50cnktPnJlcGx5X3dhaXQgPSBrdGltZV9nZXRfcmVhbF9z ZWNvbmRzKCk7CiAJfQogCiAJcmV0dXJuIENMT1NFRDsKQEAgLTIyNiwxNyArMjI2LDE2IEBAIHN0 YXRpYyB2b2lkIGluX2NhY2hlX3JlbW92ZV9lbnRyeShpbl9jYWNoZV9lbnRyeSAqZW50cnksCiBz dGF0aWMgdm9pZCBjbGVhcl9jb3VudF9hbmRfZXhwaXJlZChzdHJ1Y3QgbXBvYV9jbGllbnQgKmNs aWVudCkKIHsKIAlpbl9jYWNoZV9lbnRyeSAqZW50cnksICpuZXh0X2VudHJ5OwotCXN0cnVjdCB0 aW1ldmFsIG5vdzsKKwl0aW1lNjRfdCBub3c7CiAKLQlkb19nZXR0aW1lb2ZkYXkoJm5vdyk7CisJ bm93ID0ga3RpbWVfZ2V0X3JlYWxfc2Vjb25kcygpOwogCiAJd3JpdGVfbG9ja19iaCgmY2xpZW50 LT5pbmdyZXNzX2xvY2spOwogCWVudHJ5ID0gY2xpZW50LT5pbl9jYWNoZTsKIAl3aGlsZSAoZW50 cnkgIT0gTlVMTCkgewogCQllbnRyeS0+Y291bnQgPSAwOwogCQluZXh0X2VudHJ5ID0gZW50cnkt Pm5leHQ7Ci0JCWlmICgobm93LnR2X3NlYyAtIGVudHJ5LT50di50dl9zZWMpCi0JCSAgID4gZW50 cnktPmN0cmxfaW5mby5ob2xkaW5nX3RpbWUpIHsKKwkJaWYgKChub3cgLSBlbnRyeS0+dHYpID4g ZW50cnktPmN0cmxfaW5mby5ob2xkaW5nX3RpbWUpIHsKIAkJCWRwcmludGsoImhvbGRpbmcgdGlt ZSBleHBpcmVkLCBpcCA9ICVwSTRcbiIsCiAJCQkJJmVudHJ5LT5jdHJsX2luZm8uaW5fZHN0X2lw KTsKIAkJCWNsaWVudC0+aW5fb3BzLT5yZW1vdmVfZW50cnkoZW50cnksIGNsaWVudCk7CkBAIC0y NTIsMzUgKzI1MSwzNiBAQCBzdGF0aWMgdm9pZCBjaGVja19yZXNvbHZpbmdfZW50cmllcyhzdHJ1 Y3QgbXBvYV9jbGllbnQgKmNsaWVudCkKIAogCXN0cnVjdCBhdG1fbXBvYV9xb3MgKnFvczsKIAlp bl9jYWNoZV9lbnRyeSAqZW50cnk7Ci0Jc3RydWN0IHRpbWV2YWwgbm93OworCXRpbWU2NF90IG5v dzsKIAlzdHJ1Y3Qga19tZXNzYWdlIG1zZzsKIAotCWRvX2dldHRpbWVvZmRheSgmbm93KTsKKwlu b3cgPSBrdGltZV9nZXRfcmVhbF9zZWNvbmRzKCk7CiAKIAlyZWFkX2xvY2tfYmgoJmNsaWVudC0+ aW5ncmVzc19sb2NrKTsKIAllbnRyeSA9IGNsaWVudC0+aW5fY2FjaGU7CiAJd2hpbGUgKGVudHJ5 ICE9IE5VTEwpIHsKIAkJaWYgKGVudHJ5LT5lbnRyeV9zdGF0ZSA9PSBJTkdSRVNTX1JFU09MVklO RykgewotCQkJaWYgKChub3cudHZfc2VjIC0gZW50cnktPmhvbGRfZG93bi50dl9zZWMpIDwKLQkJ CSAgICBjbGllbnQtPnBhcmFtZXRlcnMubXBjX3A2KSB7CisKKwkJCWlmICgobm93IC0gZW50cnkt PmhvbGRfZG93bikKKwkJCQkJPCBjbGllbnQtPnBhcmFtZXRlcnMubXBjX3A2KSB7CiAJCQkJZW50 cnkgPSBlbnRyeS0+bmV4dDsJLyogRW50cnkgaW4gaG9sZCBkb3duICovCiAJCQkJY29udGludWU7 CiAJCQl9Ci0JCQlpZiAoKG5vdy50dl9zZWMgLSBlbnRyeS0+cmVwbHlfd2FpdC50dl9zZWMpID4K LQkJCSAgICBlbnRyeS0+cmV0cnlfdGltZSkgeworCQkJaWYgKChub3cgLSBlbnRyeS0+cmVwbHlf d2FpdCkgPiBlbnRyeS0+cmV0cnlfdGltZSkgewogCQkJCWVudHJ5LT5yZXRyeV90aW1lID0gTVBD X0MxICogKGVudHJ5LT5yZXRyeV90aW1lKTsKIAkJCQkvKgogCQkJCSAqIFJldHJ5IHRpbWUgbWF4 aW11bSBleGNlZWRlZCwKIAkJCQkgKiBwdXQgZW50cnkgaW4gaG9sZCBkb3duLgogCQkJCSAqLwog CQkJCWlmIChlbnRyeS0+cmV0cnlfdGltZSA+IGNsaWVudC0+cGFyYW1ldGVycy5tcGNfcDUpIHsK LQkJCQkJZG9fZ2V0dGltZW9mZGF5KCYoZW50cnktPmhvbGRfZG93bikpOworCQkJCQllbnRyeS0+ aG9sZF9kb3duID0KKwkJCQkJCWt0aW1lX2dldF9yZWFsX3NlY29uZHMoKTsKIAkJCQkJZW50cnkt PnJldHJ5X3RpbWUgPSBjbGllbnQtPnBhcmFtZXRlcnMubXBjX3A0OwogCQkJCQllbnRyeSA9IGVu dHJ5LT5uZXh0OwogCQkJCQljb250aW51ZTsKIAkJCQl9CiAJCQkJLyogQXNrIGRhZW1vbiB0byBz ZW5kIGEgcmVzb2x1dGlvbiByZXF1ZXN0LiAqLwotCQkJCW1lbXNldCgmKGVudHJ5LT5ob2xkX2Rv d24pLCAwLCBzaXplb2Yoc3RydWN0IHRpbWV2YWwpKTsKKwkJCQltZW1zZXQoJmVudHJ5LT5ob2xk X2Rvd24sIDAsIHNpemVvZih0aW1lNjRfdCkpOwogCQkJCW1zZy50eXBlID0gU05EX01QT0FfUkVT X1JUUlk7CiAJCQkJbWVtY3B5KG1zZy5NUFNfY3RybCwgY2xpZW50LT5tcHNfY3RybF9hZGRyLCBB VE1fRVNBX0xFTik7CiAJCQkJbXNnLmNvbnRlbnQuaW5faW5mbyA9IGVudHJ5LT5jdHJsX2luZm87 CkBAIC0yODgsNyArMjg4LDcgQEAgc3RhdGljIHZvaWQgY2hlY2tfcmVzb2x2aW5nX2VudHJpZXMo c3RydWN0IG1wb2FfY2xpZW50ICpjbGllbnQpCiAJCQkJaWYgKHFvcyAhPSBOVUxMKQogCQkJCQlt c2cucW9zID0gcW9zLT5xb3M7CiAJCQkJbXNnX3RvX21wb2FkKCZtc2csIGNsaWVudCk7Ci0JCQkJ ZG9fZ2V0dGltZW9mZGF5KCYoZW50cnktPnJlcGx5X3dhaXQpKTsKKwkJCQllbnRyeS0+cmVwbHlf d2FpdCA9IGt0aW1lX2dldF9yZWFsX3NlY29uZHMoKTsKIAkJCX0KIAkJfQogCQllbnRyeSA9IGVu dHJ5LT5uZXh0OwpAQCAtMjk5LDE4ICsyOTksMTggQEAgc3RhdGljIHZvaWQgY2hlY2tfcmVzb2x2 aW5nX2VudHJpZXMoc3RydWN0IG1wb2FfY2xpZW50ICpjbGllbnQpCiAvKiBDYWxsIHRoaXMgZXZl cnkgTVBDLXA1IHNlY29uZHMuICovCiBzdGF0aWMgdm9pZCByZWZyZXNoX2VudHJpZXMoc3RydWN0 IG1wb2FfY2xpZW50ICpjbGllbnQpCiB7Ci0Jc3RydWN0IHRpbWV2YWwgbm93OworCXRpbWU2NF90 IG5vdzsKIAlzdHJ1Y3QgaW5fY2FjaGVfZW50cnkgKmVudHJ5ID0gY2xpZW50LT5pbl9jYWNoZTsK IAogCWRkcHJpbnRrKCJyZWZyZXNoX2VudHJpZXNcbiIpOwotCWRvX2dldHRpbWVvZmRheSgmbm93 KTsKKwlub3cgPSBrdGltZV9nZXRfcmVhbF9zZWNvbmRzKCk7CiAKIAlyZWFkX2xvY2tfYmgoJmNs aWVudC0+aW5ncmVzc19sb2NrKTsKIAl3aGlsZSAoZW50cnkgIT0gTlVMTCkgewogCQlpZiAoZW50 cnktPmVudHJ5X3N0YXRlID09IElOR1JFU1NfUkVTT0xWRUQpIHsKIAkJCWlmICghKGVudHJ5LT5y ZWZyZXNoX3RpbWUpKQogCQkJCWVudHJ5LT5yZWZyZXNoX3RpbWUgPSAoMiAqIChlbnRyeS0+Y3Ry bF9pbmZvLmhvbGRpbmdfdGltZSkpLzM7Ci0JCQlpZiAoKG5vdy50dl9zZWMgLSBlbnRyeS0+cmVw bHlfd2FpdC50dl9zZWMpID4KKwkJCWlmICgobm93IC0gZW50cnktPnJlcGx5X3dhaXQpID4KIAkJ CSAgICBlbnRyeS0+cmVmcmVzaF90aW1lKSB7CiAJCQkJZHByaW50aygicmVmcmVzaGluZyBhbiBl bnRyeS5cbiIpOwogCQkJCWVudHJ5LT5lbnRyeV9zdGF0ZSA9IElOR1JFU1NfUkVGUkVTSElORzsK QEAgLTQ3OSw3ICs0NzksNyBAQCBzdGF0aWMgZWdfY2FjaGVfZW50cnkgKmVnX2NhY2hlX2FkZF9l bnRyeShzdHJ1Y3Qga19tZXNzYWdlICptc2csCiAKIAltZW1jcHkoZW50cnktPk1QU19jdHJsX0FU TV9hZGRyLCBjbGllbnQtPm1wc19jdHJsX2FkZHIsIEFUTV9FU0FfTEVOKTsKIAllbnRyeS0+Y3Ry bF9pbmZvID0gbXNnLT5jb250ZW50LmVnX2luZm87Ci0JZG9fZ2V0dGltZW9mZGF5KCYoZW50cnkt PnR2KSk7CisJZW50cnktPnR2ID0ga3RpbWVfZ2V0X3JlYWxfc2Vjb25kcygpOwogCWVudHJ5LT5l bnRyeV9zdGF0ZSA9IEVHUkVTU19SRVNPTFZFRDsKIAlkcHJpbnRrKCJuZXdfZWdfY2FjaGVfZW50 cnkgY2FjaGVfaWQgJXVcbiIsCiAJCW50b2hsKGVudHJ5LT5jdHJsX2luZm8uY2FjaGVfaWQpKTsK QEAgLTQ5NCw3ICs0OTQsNyBAQCBzdGF0aWMgZWdfY2FjaGVfZW50cnkgKmVnX2NhY2hlX2FkZF9l bnRyeShzdHJ1Y3Qga19tZXNzYWdlICptc2csCiAKIHN0YXRpYyB2b2lkIHVwZGF0ZV9lZ19jYWNo ZV9lbnRyeShlZ19jYWNoZV9lbnRyeSAqZW50cnksIHVpbnQxNl90IGhvbGRpbmdfdGltZSkKIHsK LQlkb19nZXR0aW1lb2ZkYXkoJihlbnRyeS0+dHYpKTsKKwllbnRyeS0+dHYgPSBrdGltZV9nZXRf cmVhbF9zZWNvbmRzKCk7CiAJZW50cnktPmVudHJ5X3N0YXRlID0gRUdSRVNTX1JFU09MVkVEOwog CWVudHJ5LT5jdHJsX2luZm8uaG9sZGluZ190aW1lID0gaG9sZGluZ190aW1lOwogfQpAQCAtNTAy LDE3ICs1MDIsMTYgQEAgc3RhdGljIHZvaWQgdXBkYXRlX2VnX2NhY2hlX2VudHJ5KGVnX2NhY2hl X2VudHJ5ICplbnRyeSwgdWludDE2X3QgaG9sZGluZ190aW1lKQogc3RhdGljIHZvaWQgY2xlYXJf ZXhwaXJlZChzdHJ1Y3QgbXBvYV9jbGllbnQgKmNsaWVudCkKIHsKIAllZ19jYWNoZV9lbnRyeSAq ZW50cnksICpuZXh0X2VudHJ5OwotCXN0cnVjdCB0aW1ldmFsIG5vdzsKKwl0aW1lNjRfdCBub3c7 CiAJc3RydWN0IGtfbWVzc2FnZSBtc2c7CiAKLQlkb19nZXR0aW1lb2ZkYXkoJm5vdyk7CisJbm93 ID0ga3RpbWVfZ2V0X3JlYWxfc2Vjb25kcygpOwogCiAJd3JpdGVfbG9ja19pcnEoJmNsaWVudC0+ ZWdyZXNzX2xvY2spOwogCWVudHJ5ID0gY2xpZW50LT5lZ19jYWNoZTsKIAl3aGlsZSAoZW50cnkg IT0gTlVMTCkgewogCQluZXh0X2VudHJ5ID0gZW50cnktPm5leHQ7Ci0JCWlmICgobm93LnR2X3Nl YyAtIGVudHJ5LT50di50dl9zZWMpCi0JCSAgID4gZW50cnktPmN0cmxfaW5mby5ob2xkaW5nX3Rp bWUpIHsKKwkJaWYgKChub3cgLSBlbnRyeS0+dHYpID4gZW50cnktPmN0cmxfaW5mby5ob2xkaW5n X3RpbWUpIHsKIAkJCW1zZy50eXBlID0gU05EX0VHUkVTU19QVVJHRTsKIAkJCW1zZy5jb250ZW50 LmVnX2luZm8gPSBlbnRyeS0+Y3RybF9pbmZvOwogCQkJZHByaW50aygiZWdyZXNzX2NhY2hlOiBo b2xkaW5nIHRpbWUgZXhwaXJlZCwgY2FjaGVfaWQgPSAldS5cbiIsCmRpZmYgLS1naXQgYS9uZXQv YXRtL21wb2FfY2FjaGVzLmggYi9uZXQvYXRtL21wb2FfY2FjaGVzLmgKaW5kZXggOGU1Zjc4Yy4u ODc0ZmRlZCAxMDA2NDQKLS0tIGEvbmV0L2F0bS9tcG9hX2NhY2hlcy5oCisrKyBiL25ldC9hdG0v bXBvYV9jYWNoZXMuaApAQCAtMSw2ICsxLDcgQEAKICNpZm5kZWYgTVBPQV9DQUNIRVNfSAogI2Rl ZmluZSBNUE9BX0NBQ0hFU19ICiAKKyNpbmNsdWRlIDxsaW51eC90aW1lNjQuaD4KICNpbmNsdWRl IDxsaW51eC9uZXRkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUg PGxpbnV4L2F0bS5oPgpAQCAtMTQsOSArMTUsOSBAQCB2b2lkIGF0bV9tcG9hX2luaXRfY2FjaGUo c3RydWN0IG1wb2FfY2xpZW50ICptcGMpOwogdHlwZWRlZiBzdHJ1Y3QgaW5fY2FjaGVfZW50cnkg ewogCXN0cnVjdCBpbl9jYWNoZV9lbnRyeSAqbmV4dDsKIAlzdHJ1Y3QgaW5fY2FjaGVfZW50cnkg KnByZXY7Ci0Jc3RydWN0IHRpbWV2YWwgIHR2OwotCXN0cnVjdCB0aW1ldmFsICByZXBseV93YWl0 OwotCXN0cnVjdCB0aW1ldmFsICBob2xkX2Rvd247CisJdGltZTY0X3QgIHR2OworCXRpbWU2NF90 ICByZXBseV93YWl0OworCXRpbWU2NF90ICBob2xkX2Rvd247CiAJdWludDMyX3QgIHBhY2tldHNf ZndkZWQ7CiAJdWludDE2X3QgIGVudHJ5X3N0YXRlOwogCXVpbnQzMl90IHJldHJ5X3RpbWU7CkBA IC01MSw3ICs1Miw3IEBAIHN0cnVjdCBpbl9jYWNoZV9vcHN7CiB0eXBlZGVmIHN0cnVjdCBlZ19j YWNoZV9lbnRyeXsKIAlzdHJ1Y3QgICAgICAgICAgICAgICBlZ19jYWNoZV9lbnRyeSAqbmV4dDsK IAlzdHJ1Y3QgICAgICAgICAgICAgICBlZ19jYWNoZV9lbnRyeSAqcHJldjsKLQlzdHJ1Y3QgICAg ICAgICAgICAgICB0aW1ldmFsICB0djsKKwl0aW1lNjRfdAkgICAgIHR2OwogCXVpbnQ4X3QgICAg ICAgICAgICAgIE1QU19jdHJsX0FUTV9hZGRyW0FUTV9FU0FfTEVOXTsKIAlzdHJ1Y3QgYXRtX3Zj YyAgICAgICAqc2hvcnRjdXQ7CiAJdWludDMyX3QgICAgICAgICAgICAgcGFja2V0c19yY3ZkOwpk aWZmIC0tZ2l0IGEvbmV0L2F0bS9tcG9hX3Byb2MuYyBiL25ldC9hdG0vbXBvYV9wcm9jLmMKaW5k ZXggMmRmMzRlYi4uMDZmMjkyMCAxMDA2NDQKLS0tIGEvbmV0L2F0bS9tcG9hX3Byb2MuYworKysg Yi9uZXQvYXRtL21wb2FfcHJvYy5jCkBAIC03LDcgKzcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21t Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5o PgotI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KKyNpbmNsdWRlIDxsaW51eC9rdGltZS5oPgogI2lu Y2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgogI2lu Y2x1ZGUgPGxpbnV4L2F0bW1wYy5oPgpAQCAtMTM3LDcgKzEzNyw3IEBAIHN0YXRpYyBpbnQgbXBj X3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogCWludCBpOwogCWluX2NhY2hlX2Vu dHJ5ICppbl9lbnRyeTsKIAllZ19jYWNoZV9lbnRyeSAqZWdfZW50cnk7Ci0Jc3RydWN0IHRpbWV2 YWwgbm93OworCXRpbWU2NF90IG5vdzsKIAl1bnNpZ25lZCBjaGFyIGlwX3N0cmluZ1sxNl07CiAK IAlpZiAodiA9PSBTRVFfU1RBUlRfVE9LRU4pIHsKQEAgLTE0NywxNSArMTQ3LDE3IEBAIHN0YXRp YyBpbnQgbXBjX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogCiAJc2VxX3ByaW50 ZihtLCAiXG5JbnRlcmZhY2UgJWQ6XG5cbiIsIG1wYy0+ZGV2X251bSk7CiAJc2VxX3ByaW50Ziht LCAiSW5ncmVzcyBFbnRyaWVzOlxuSVAgYWRkcmVzcyAgICAgIFN0YXRlICAgICAgSG9sZGluZyB0 aW1lICBQYWNrZXRzIGZ3ZGVkICBWUEkgIFZDSVxuIik7Ci0JZG9fZ2V0dGltZW9mZGF5KCZub3cp OworCW5vdyA9IGt0aW1lX2dldF9yZWFsX3NlY29uZHMoKTsKIAogCWZvciAoaW5fZW50cnkgPSBt cGMtPmluX2NhY2hlOyBpbl9lbnRyeTsgaW5fZW50cnkgPSBpbl9lbnRyeS0+bmV4dCkgeworCQl1 bnNpZ25lZCBsb25nIHNlY29uZHNfZGVsdGEgPSBub3cgLSBpbl9lbnRyeS0+dHY7CisKIAkJc3By aW50ZihpcF9zdHJpbmcsICIlcEk0IiwgJmluX2VudHJ5LT5jdHJsX2luZm8uaW5fZHN0X2lwKTsK IAkJc2VxX3ByaW50ZihtLCAiJS0xNnMlcyUtMTRsdSUtMTJ1IiwKIAkJCSAgIGlwX3N0cmluZywK IAkJCSAgIGluZ3Jlc3Nfc3RhdGVfc3RyaW5nKGluX2VudHJ5LT5lbnRyeV9zdGF0ZSksCiAJCQkg ICBpbl9lbnRyeS0+Y3RybF9pbmZvLmhvbGRpbmdfdGltZSAtCi0JCQkgICAobm93LnR2X3NlYy1p bl9lbnRyeS0+dHYudHZfc2VjKSwKKwkJCSAgIHNlY29uZHNfZGVsdGEsCiAJCQkgICBpbl9lbnRy eS0+cGFja2V0c19md2RlZCk7CiAJCWlmIChpbl9lbnRyeS0+c2hvcnRjdXQpCiAJCQlzZXFfcHJp bnRmKG0sICIgICAlLTNkICAlLTNkIiwKQEAgLTE2OCwxMyArMTcwLDE0IEBAIHN0YXRpYyBpbnQg bXBjX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogCXNlcV9wcmludGYobSwgIkVn cmVzcyBFbnRyaWVzOlxuSW5ncmVzcyBNUEMgQVRNIGFkZHJcbkNhY2hlLWlkICAgICAgICBTdGF0 ZSAgICAgIEhvbGRpbmcgdGltZSAgUGFja2V0cyByZWN2ZCAgTGF0ZXN0IElQIGFkZHIgICBWUEkg VkNJXG4iKTsKIAlmb3IgKGVnX2VudHJ5ID0gbXBjLT5lZ19jYWNoZTsgZWdfZW50cnk7IGVnX2Vu dHJ5ID0gZWdfZW50cnktPm5leHQpIHsKIAkJdW5zaWduZWQgY2hhciAqcCA9IGVnX2VudHJ5LT5j dHJsX2luZm8uaW5fTVBDX2RhdGFfQVRNX2FkZHI7CisJCXVuc2lnbmVkIGxvbmcgc2Vjb25kc19k ZWx0YSA9IG5vdyAtIGVnX2VudHJ5LT50djsKKwogCQlmb3IgKGkgPSAwOyBpIDwgQVRNX0VTQV9M RU47IGkrKykKIAkJCXNlcV9wcmludGYobSwgIiUwMngiLCBwW2ldKTsKIAkJc2VxX3ByaW50Ziht LCAiXG4lLTE2bHUlcyUtMTRsdSUtMTV1IiwKIAkJCSAgICh1bnNpZ25lZCBsb25nKW50b2hsKGVn X2VudHJ5LT5jdHJsX2luZm8uY2FjaGVfaWQpLAogCQkJICAgZWdyZXNzX3N0YXRlX3N0cmluZyhl Z19lbnRyeS0+ZW50cnlfc3RhdGUpLAotCQkJICAgKGVnX2VudHJ5LT5jdHJsX2luZm8uaG9sZGlu Z190aW1lIC0KLQkJCSAgICAobm93LnR2X3NlYy1lZ19lbnRyeS0+dHYudHZfc2VjKSksCisJCQkg ICAoZWdfZW50cnktPmN0cmxfaW5mby5ob2xkaW5nX3RpbWUgLSBzZWNvbmRzX2RlbHRhKSwKIAkJ CSAgIGVnX2VudHJ5LT5wYWNrZXRzX3JjdmQpOwogCiAJCS8qIGxhdGVzdCBJUCBhZGRyZXNzICov Ci0tIAoyLjYuMC5yYzIuMjMwLmczZGQxNWMwCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpZMjAzOCBtYWlsaW5nIGxpc3QKWTIwMzhAbGlzdHMubGluYXJv Lm9yZwpodHRwczovL2xpc3RzLmxpbmFyby5vcmcvbWFpbG1hbi9saXN0aW5mby95MjAzOAo=