Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751242AbbLTSlr (ORCPT ); Sun, 20 Dec 2015 13:41:47 -0500 Received: from mail-io0-f194.google.com ([209.85.223.194]:33559 "EHLO mail-io0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750727AbbLTSlp (ORCPT ); Sun, 20 Dec 2015 13:41:45 -0500 MIME-Version: 1.0 In-Reply-To: <20151220181801.GA12402@lst.de> References: <20151220181801.GA12402@lst.de> Date: Sun, 20 Dec 2015 10:41:44 -0800 X-Google-Sender-Auth: uNzcIzs_qnoPD3Lyl7xHAdi6doI Message-ID: Subject: Re: IO errors after "block: remove bio_get_nr_vecs()" From: Linus Torvalds To: Christoph Hellwig Cc: Kent Overstreet , Ming Lin , Jens Axboe , "Artem S. Tashkinov" , Steven Whitehouse , Tejun Heo , IDE-ML , Linux Kernel Mailing List Content-Type: multipart/mixed; boundary=001a113fd72261ddd6052758b95a Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 17758 Lines: 257 --001a113fd72261ddd6052758b95a Content-Type: text/plain; charset=UTF-8 On Sun, Dec 20, 2015 at 10:18 AM, Christoph Hellwig wrote: > > Artem, > > can you re-check the commits around this series again? I would be > extremtly surprised if it's really this particular commit and not > one just before it causing the problem - it just allocates bios > to the biggest possible instead of only allocating up to what > bio_add_page would accept. Judging by Artem's bisect log, the last commit he tested before the bad one was the commit before: commit 6cf66b4caf9c ("fs: use helper bio_add_page() instead of open coding on bi_io_vec") and he marked that one good. Sadly, without CONFIG_LOCALVERSION_AUTO, there's no way to match up the dmesg files (in the same bisection tar-file as the bisection log) with the actual versions. Also, Artem's bisect.log isn't actually the .git/BISECT_LOG file that contains the full information about what was marked good and bad, so it's a bit hard to read (ie I can tell that Artem had to mark commit 6cf66b4caf9c as "good" not because his log says so, but because that explains the next commit to be tested). Of course, it's fairly easy to make a mistake while bisecting (just doing a thinko), but usually bisection miistakes end up causing you to go into some "all good" or "all bad" region of commits, and the fact that Artem seems to have marked the previous commit good and the final commit bad does seem to imply the bisection was successful. But yes, it is always nice to double-check the bisection results. The best way to do it is generally to try to revert the bad commit and verify that things work after that, but that commit doesn't revert cleanly on top of 4.3 due to other changes. Attached is a *COMPLETELY*UNTESTED* revertish patch for 4.3. It's basically a revert of b54ffb73cadc, but with a few fixups to make the revert work on top of 4.3. So Artem, if you can test whether 4.3 works with that revert, and/or double-check booting that b54ffb73cadc again (to verify that it's really bad), and its parent (to double-check that it's really good), that would be a good way to verify that yes, it is really that *one* commit that breaks things for you. Linus --001a113fd72261ddd6052758b95a Content-Type: text/plain; charset=US-ASCII; name="patch.diff" Content-Disposition: attachment; filename="patch.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iievqgjy0 IGJsb2NrL2Jpby5jICAgICAgICAgICAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwogZHJp dmVycy9tZC9kbS1pby5jICAgICB8ICAyICstCiBmcy9idHJmcy9jb21wcmVzc2lvbi5jIHwgIDUg KysrKy0KIGZzL2J0cmZzL2V4dGVudF9pby5jICAgfCAgOSArKysrKysrLS0KIGZzL2J0cmZzL2lu b2RlLmMgICAgICAgfCAgMyArKy0KIGZzL2J0cmZzL3NjcnViLmMgICAgICAgfCAxOCArKysrKysr KysrKysrKysrLS0KIGZzL2RpcmVjdC1pby5jICAgICAgICAgfCAgMiArLQogZnMvZXh0NC9wYWdl LWlvLmMgICAgICB8ICAzICsrLQogZnMvZXh0NC9yZWFkcGFnZS5jICAgICB8ICAyICstCiBmcy9m MmZzL2RhdGEuYyAgICAgICAgIHwgIDIgKy0KIGZzL2dmczIvbG9wcy5jICAgICAgICAgfCAgOSAr KysrKysrKy0KIGZzL2xvZ2ZzL2Rldl9iZGV2LmMgICAgfCAgNCArKy0tCiBmcy9tcGFnZS5jICAg ICAgICAgICAgIHwgIDQgKystLQogZnMvbmlsZnMyL3NlZ2J1Zi5jICAgICB8ICAyICstCiBmcy94 ZnMveGZzX2FvcHMuYyAgICAgIHwgIDMgKystCiBpbmNsdWRlL2xpbnV4L2Jpby5oICAgIHwgIDEg KwogMTYgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvYmxvY2svYmlvLmMgYi9ibG9jay9iaW8uYwppbmRleCBhZDNmMjc2ZDc0YmMu LmQ0ODNkYmIwMTYyZCAxMDA2NDQKLS0tIGEvYmxvY2svYmlvLmMKKysrIGIvYmxvY2svYmlvLmMK QEAgLTY5NCw2ICs2OTQsMjkgQEAgaW50ZWdyaXR5X2Nsb25lOgogRVhQT1JUX1NZTUJPTChiaW9f Y2xvbmVfYmlvc2V0KTsKIAogLyoqCisgKgliaW9fZ2V0X25yX3ZlY3MJCS0gcmV0dXJuIGFwcHJv eCBudW1iZXIgb2YgdmVjcworICoJQGJkZXY6ICBJL08gdGFyZ2V0CisgKgorICoJUmV0dXJuIHRo ZSBhcHByb3hpbWF0ZSBudW1iZXIgb2YgcGFnZXMgd2UgY2FuIHNlbmQgdG8gdGhpcyB0YXJnZXQu CisgKglUaGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0IHlvdSB3aWxsIGJlIGFibGUgdG8gZml0IHRo aXMgbnVtYmVyIG9mIHBhZ2VzCisgKglpbnRvIGEgYmlvLCBpdCBkb2VzIG5vdCBhY2NvdW50IGZv ciBkeW5hbWljIHJlc3RyaWN0aW9ucyB0aGF0IHZhcnkKKyAqCW9uIG9mZnNldC4KKyAqLworaW50 IGJpb19nZXRfbnJfdmVjcyhzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQoreworCXN0cnVjdCBy ZXF1ZXN0X3F1ZXVlICpxID0gYmRldl9nZXRfcXVldWUoYmRldik7CisJaW50IG5yX3BhZ2VzOwor CisJbnJfcGFnZXMgPSBtaW5fdCh1bnNpZ25lZCwKKwkJICAgICBxdWV1ZV9tYXhfc2VnbWVudHMo cSksCisJCSAgICAgcXVldWVfbWF4X3NlY3RvcnMocSkgLyAoUEFHRV9TSVpFID4+IDkpICsgMSk7 CisKKwlyZXR1cm4gbWluX3QodW5zaWduZWQsIG5yX3BhZ2VzLCBCSU9fTUFYX1BBR0VTKTsKKwor fQorRVhQT1JUX1NZTUJPTChiaW9fZ2V0X25yX3ZlY3MpOworCisvKioKICAqCWJpb19hZGRfcGNf cGFnZQktCWF0dGVtcHQgdG8gYWRkIHBhZ2UgdG8gYmlvCiAgKglAcTogdGhlIHRhcmdldCBxdWV1 ZQogICoJQGJpbzogZGVzdGluYXRpb24gYmlvCmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL2RtLWlv LmMgYi9kcml2ZXJzL21kL2RtLWlvLmMKaW5kZXggNmY4ZTgzYjJhNmY4Li5jODQ3MTRmNzAzNzgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWQvZG0taW8uYworKysgYi9kcml2ZXJzL21kL2RtLWlvLmMK QEAgLTMxNiw3ICszMTYsNyBAQCBzdGF0aWMgdm9pZCBkb19yZWdpb24oaW50IHJ3LCB1bnNpZ25l ZCByZWdpb24sIHN0cnVjdCBkbV9pb19yZWdpb24gKndoZXJlLAogCQlpZiAoKHJ3ICYgUkVRX0RJ U0NBUkQpIHx8IChydyAmIFJFUV9XUklURV9TQU1FKSkKIAkJCW51bV9idmVjcyA9IDE7CiAJCWVs c2UKLQkJCW51bV9idmVjcyA9IG1pbl90KGludCwgQklPX01BWF9QQUdFUywKKwkJCW51bV9idmVj cyA9IG1pbl90KGludCwgYmlvX2dldF9ucl92ZWNzKHdoZXJlLT5iZGV2KSwKIAkJCQkJICBkbV9z ZWN0b3JfZGl2X3VwKHJlbWFpbmluZywgKFBBR0VfU0laRSA+PiBTRUNUT1JfU0hJRlQpKSk7CiAK IAkJYmlvID0gYmlvX2FsbG9jX2Jpb3NldChHRlBfTk9JTywgbnVtX2J2ZWNzLCBpby0+Y2xpZW50 LT5iaW9zKTsKZGlmZiAtLWdpdCBhL2ZzL2J0cmZzL2NvbXByZXNzaW9uLmMgYi9mcy9idHJmcy9j b21wcmVzc2lvbi5jCmluZGV4IDU3ZWU4Y2EyOWIwNi4uMzAyMjY2ZWMyY2RiIDEwMDY0NAotLS0g YS9mcy9idHJmcy9jb21wcmVzc2lvbi5jCisrKyBiL2ZzL2J0cmZzL2NvbXByZXNzaW9uLmMKQEAg LTk3LDcgKzk3LDEwIEBAIHN0YXRpYyBpbmxpbmUgaW50IGNvbXByZXNzZWRfYmlvX3NpemUoc3Ry dWN0IGJ0cmZzX3Jvb3QgKnJvb3QsCiBzdGF0aWMgc3RydWN0IGJpbyAqY29tcHJlc3NlZF9iaW9f YWxsb2Moc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiwKIAkJCQkJdTY0IGZpcnN0X2J5dGUsIGdm cF90IGdmcF9mbGFncykKIHsKLQlyZXR1cm4gYnRyZnNfYmlvX2FsbG9jKGJkZXYsIGZpcnN0X2J5 dGUgPj4gOSwgQklPX01BWF9QQUdFUywgZ2ZwX2ZsYWdzKTsKKwlpbnQgbnJfdmVjczsKKworCW5y X3ZlY3MgPSBiaW9fZ2V0X25yX3ZlY3MoYmRldik7CisJcmV0dXJuIGJ0cmZzX2Jpb19hbGxvYyhi ZGV2LCBmaXJzdF9ieXRlID4+IDksIG5yX3ZlY3MsIGdmcF9mbGFncyk7CiB9CiAKIHN0YXRpYyBp bnQgY2hlY2tfY29tcHJlc3NlZF9jc3VtKHN0cnVjdCBpbm9kZSAqaW5vZGUsCmRpZmYgLS1naXQg YS9mcy9idHJmcy9leHRlbnRfaW8uYyBiL2ZzL2J0cmZzL2V4dGVudF9pby5jCmluZGV4IDM5MTVj OTQ3M2U5NC4uZjM5ZjgxOWNmN2U4IDEwMDY0NAotLS0gYS9mcy9idHJmcy9leHRlbnRfaW8uYwor KysgYi9mcy9idHJmcy9leHRlbnRfaW8uYwpAQCAtMjgwMyw3ICsyODAzLDkgQEAgc3RhdGljIGlu dCBzdWJtaXRfZXh0ZW50X3BhZ2UoaW50IHJ3LCBzdHJ1Y3QgZXh0ZW50X2lvX3RyZWUgKnRyZWUs CiB7CiAJaW50IHJldCA9IDA7CiAJc3RydWN0IGJpbyAqYmlvOworCWludCBucjsKIAlpbnQgY29u dGlnID0gMDsKKwlpbnQgdGhpc19jb21wcmVzc2VkID0gYmlvX2ZsYWdzICYgRVhURU5UX0JJT19D T01QUkVTU0VEOwogCWludCBvbGRfY29tcHJlc3NlZCA9IHByZXZfYmlvX2ZsYWdzICYgRVhURU5U X0JJT19DT01QUkVTU0VEOwogCXNpemVfdCBwYWdlX3NpemUgPSBtaW5fdChzaXplX3QsIHNpemUs IFBBR0VfQ0FDSEVfU0laRSk7CiAKQEAgLTI4MzEsOSArMjgzMywxMiBAQCBzdGF0aWMgaW50IHN1 Ym1pdF9leHRlbnRfcGFnZShpbnQgcncsIHN0cnVjdCBleHRlbnRfaW9fdHJlZSAqdHJlZSwKIAkJ CXJldHVybiAwOwogCQl9CiAJfQorCWlmICh0aGlzX2NvbXByZXNzZWQpCisJCW5yID0gQklPX01B WF9QQUdFUzsKKwllbHNlCisJCW5yID0gYmlvX2dldF9ucl92ZWNzKGJkZXYpOwogCi0JYmlvID0g YnRyZnNfYmlvX2FsbG9jKGJkZXYsIHNlY3RvciwgQklPX01BWF9QQUdFUywKLQkJCUdGUF9OT0ZT IHwgX19HRlBfSElHSCk7CisJYmlvID0gYnRyZnNfYmlvX2FsbG9jKGJkZXYsIHNlY3RvciwgbnIs IEdGUF9OT0ZTIHwgX19HRlBfSElHSCk7CiAJaWYgKCFiaW8pCiAJCXJldHVybiAtRU5PTUVNOwog CmRpZmYgLS1naXQgYS9mcy9idHJmcy9pbm9kZS5jIGIvZnMvYnRyZnMvaW5vZGUuYwppbmRleCA2 MTFiNjZkNzNlODAuLjRlMWFlYTJlYzhiNyAxMDA2NDQKLS0tIGEvZnMvYnRyZnMvaW5vZGUuYwor KysgYi9mcy9idHJmcy9pbm9kZS5jCkBAIC03OTkyLDggKzc5OTIsOSBAQCBvdXQ6CiBzdGF0aWMg c3RydWN0IGJpbyAqYnRyZnNfZGlvX2Jpb19hbGxvYyhzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2 LAogCQkJCSAgICAgICB1NjQgZmlyc3Rfc2VjdG9yLCBnZnBfdCBnZnBfZmxhZ3MpCiB7CisJaW50 IG5yX3ZlY3MgPSBiaW9fZ2V0X25yX3ZlY3MoYmRldik7CiAJc3RydWN0IGJpbyAqYmlvOwotCWJp byA9IGJ0cmZzX2Jpb19hbGxvYyhiZGV2LCBmaXJzdF9zZWN0b3IsIEJJT19NQVhfUEFHRVMsIGdm cF9mbGFncyk7CisJYmlvID0gYnRyZnNfYmlvX2FsbG9jKGJkZXYsIGZpcnN0X3NlY3RvciwgbnJf dmVjcywgZ2ZwX2ZsYWdzKTsKIAlpZiAoYmlvKQogCQliaW9fYXNzb2NpYXRlX2N1cnJlbnQoYmlv KTsKIAlyZXR1cm4gYmlvOwpkaWZmIC0tZ2l0IGEvZnMvYnRyZnMvc2NydWIuYyBiL2ZzL2J0cmZz L3NjcnViLmMKaW5kZXggYTM5ZjVkMTE0NGU4Li4zYjkyOTZlOTJjYzUgMTAwNjQ0Ci0tLSBhL2Zz L2J0cmZzL3NjcnViLmMKKysrIGIvZnMvYnRyZnMvc2NydWIuYwpAQCAtNDY0LDE0ICs0NjQsMjcg QEAgc3RydWN0IHNjcnViX2N0eCAqc2NydWJfc2V0dXBfY3R4KHN0cnVjdCBidHJmc19kZXZpY2Ug KmRldiwgaW50IGlzX2Rldl9yZXBsYWNlKQogCXN0cnVjdCBzY3J1Yl9jdHggKnNjdHg7CiAJaW50 CQlpOwogCXN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvID0gZGV2LT5kZXZfcm9vdC0+ZnNf aW5mbzsKKwlpbnQgcGFnZXNfcGVyX3JkX2JpbzsKIAlpbnQgcmV0OwogCisJLyoKKwkgKiB0aGUg c2V0dGluZyBvZiBwYWdlc19wZXJfcmRfYmlvIGlzIGNvcnJlY3QgZm9yIHNjcnViIGJ1dCBtaWdo dAorCSAqIGJlIHdyb25nIGZvciB0aGUgZGV2X3JlcGxhY2UgY29kZSB3aGVyZSB3ZSBtaWdodCBy ZWFkIGZyb20KKwkgKiBkaWZmZXJlbnQgZGV2aWNlcyBpbiB0aGUgaW5pdGlhbCBodWdlIGJpb3Mu IEhvd2V2ZXIsIHRoYXQKKwkgKiBjb2RlIGlzIGFibGUgdG8gY29ycmVjdGx5IGhhbmRsZSB0aGUg Y2FzZSB3aGVuIGFkZGluZyBhIHBhZ2UKKwkgKiB0byBhIGJpbyBmYWlscy4KKwkgKi8KKwlpZiAo ZGV2LT5iZGV2KQorCQlwYWdlc19wZXJfcmRfYmlvID0gbWluX3QoaW50LCBTQ1JVQl9QQUdFU19Q RVJfUkRfQklPLAorCQkJCQkgYmlvX2dldF9ucl92ZWNzKGRldi0+YmRldikpOworCWVsc2UKKwkJ cGFnZXNfcGVyX3JkX2JpbyA9IFNDUlVCX1BBR0VTX1BFUl9SRF9CSU87CiAJc2N0eCA9IGt6YWxs b2Moc2l6ZW9mKCpzY3R4KSwgR0ZQX05PRlMpOwogCWlmICghc2N0eCkKIAkJZ290byBub21lbTsK IAlhdG9taWNfc2V0KCZzY3R4LT5yZWZzLCAxKTsKIAlzY3R4LT5pc19kZXZfcmVwbGFjZSA9IGlz X2Rldl9yZXBsYWNlOwotCXNjdHgtPnBhZ2VzX3Blcl9yZF9iaW8gPSBTQ1JVQl9QQUdFU19QRVJf UkRfQklPOworCXNjdHgtPnBhZ2VzX3Blcl9yZF9iaW8gPSBwYWdlc19wZXJfcmRfYmlvOwogCXNj dHgtPmN1cnIgPSAtMTsKIAlzY3R4LT5kZXZfcm9vdCA9IGRldi0+ZGV2X3Jvb3Q7CiAJZm9yIChp ID0gMDsgaSA8IFNDUlVCX0JJT1NfUEVSX1NDVFg7ICsraSkgewpAQCAtNDA1Myw3ICs0MDY2LDgg QEAgc3RhdGljIGludCBzY3J1Yl9zZXR1cF93cl9jdHgoc3RydWN0IHNjcnViX2N0eCAqc2N0eCwK IAkJcmV0dXJuIDA7CiAKIAlXQVJOX09OKCFkZXYtPmJkZXYpOwotCXdyX2N0eC0+cGFnZXNfcGVy X3dyX2JpbyA9IFNDUlVCX1BBR0VTX1BFUl9XUl9CSU87CisJd3JfY3R4LT5wYWdlc19wZXJfd3Jf YmlvID0gbWluX3QoaW50LCBTQ1JVQl9QQUdFU19QRVJfV1JfQklPLAorCQkJCQkgYmlvX2dldF9u cl92ZWNzKGRldi0+YmRldikpOwogCXdyX2N0eC0+dGd0ZGV2ID0gZGV2OwogCWF0b21pY19zZXQo JndyX2N0eC0+Zmx1c2hfYWxsX3dyaXRlcywgMCk7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9m cy9kaXJlY3QtaW8uYyBiL2ZzL2RpcmVjdC1pby5jCmluZGV4IDExMjU2MjkxNjQyZS4uODE4YzY0 N2YzNmQzIDEwMDY0NAotLS0gYS9mcy9kaXJlY3QtaW8uYworKysgYi9mcy9kaXJlY3QtaW8uYwpA QCAtNjU1LDcgKzY1NSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IGRpb19uZXdfYmlvKHN0cnVjdCBk aW8gKmRpbywgc3RydWN0IGRpb19zdWJtaXQgKnNkaW8sCiAJaWYgKHJldCkKIAkJZ290byBvdXQ7 CiAJc2VjdG9yID0gc3RhcnRfc2VjdG9yIDw8IChzZGlvLT5ibGtiaXRzIC0gOSk7Ci0JbnJfcGFn ZXMgPSBtaW4oc2Rpby0+cGFnZXNfaW5faW8sIEJJT19NQVhfUEFHRVMpOworCW5yX3BhZ2VzID0g bWluKHNkaW8tPnBhZ2VzX2luX2lvLCBiaW9fZ2V0X25yX3ZlY3MobWFwX2JoLT5iX2JkZXYpKTsK IAlCVUdfT04obnJfcGFnZXMgPD0gMCk7CiAJZGlvX2Jpb19hbGxvYyhkaW8sIHNkaW8sIG1hcF9i aC0+Yl9iZGV2LCBzZWN0b3IsIG5yX3BhZ2VzKTsKIAlzZGlvLT5ib3VuZGFyeSA9IDA7CmRpZmYg LS1naXQgYS9mcy9leHQ0L3BhZ2UtaW8uYyBiL2ZzL2V4dDQvcGFnZS1pby5jCmluZGV4IDg0YmE0 ZDJiM2EzNS4uNWIzZmNiOGEwMTBmIDEwMDY0NAotLS0gYS9mcy9leHQ0L3BhZ2UtaW8uYworKysg Yi9mcy9leHQ0L3BhZ2UtaW8uYwpAQCAtMzc0LDkgKzM3NCwxMCBAQCB2b2lkIGV4dDRfaW9fc3Vi bWl0X2luaXQoc3RydWN0IGV4dDRfaW9fc3VibWl0ICppbywKIHN0YXRpYyBpbnQgaW9fc3VibWl0 X2luaXRfYmlvKHN0cnVjdCBleHQ0X2lvX3N1Ym1pdCAqaW8sCiAJCQkgICAgICBzdHJ1Y3QgYnVm ZmVyX2hlYWQgKmJoKQogeworCWludCBudmVjcyA9IGJpb19nZXRfbnJfdmVjcyhiaC0+Yl9iZGV2 KTsKIAlzdHJ1Y3QgYmlvICpiaW87CiAKLQliaW8gPSBiaW9fYWxsb2MoR0ZQX05PSU8sIEJJT19N QVhfUEFHRVMpOworCWJpbyA9IGJpb19hbGxvYyhHRlBfTk9JTywgbWluKG52ZWNzLCBCSU9fTUFY X1BBR0VTKSk7CiAJaWYgKCFiaW8pCiAJCXJldHVybiAtRU5PTUVNOwogCXdiY19pbml0X2Jpbyhp by0+aW9fd2JjLCBiaW8pOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9yZWFkcGFnZS5jIGIvZnMvZXh0 NC9yZWFkcGFnZS5jCmluZGV4IDU2MGFmMDQzNzcwNC4uYTQ4MjNkODhhZTI2IDEwMDY0NAotLS0g YS9mcy9leHQ0L3JlYWRwYWdlLmMKKysrIGIvZnMvZXh0NC9yZWFkcGFnZS5jCkBAIC0yODQsNyAr Mjg0LDcgQEAgaW50IGV4dDRfbXBhZ2VfcmVhZHBhZ2VzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICpt YXBwaW5nLAogCQkJCQlnb3RvIHNldF9lcnJvcl9wYWdlOwogCQkJfQogCQkJYmlvID0gYmlvX2Fs bG9jKEdGUF9LRVJORUwsCi0JCQkJbWluX3QoaW50LCBucl9wYWdlcywgQklPX01BWF9QQUdFUykp OworCQkJCW1pbl90KGludCwgbnJfcGFnZXMsIGJpb19nZXRfbnJfdmVjcyhiZGV2KSkpOwogCQkJ aWYgKCFiaW8pIHsKIAkJCQlpZiAoY3R4KQogCQkJCQlleHQ0X3JlbGVhc2VfY3J5cHRvX2N0eChj dHgpOwpkaWZmIC0tZ2l0IGEvZnMvZjJmcy9kYXRhLmMgYi9mcy9mMmZzL2RhdGEuYwppbmRleCBh ODJhYmU5MjFiODkuLjQzMjQ5NmRhYWNhZSAxMDA2NDQKLS0tIGEvZnMvZjJmcy9kYXRhLmMKKysr IGIvZnMvZjJmcy9kYXRhLmMKQEAgLTk1NCw3ICs5NTQsNyBAQCBzdWJtaXRfYW5kX3JlYWxsb2M6 CiAJCQl9CiAKIAkJCWJpbyA9IGJpb19hbGxvYyhHRlBfS0VSTkVMLAotCQkJCW1pbl90KGludCwg bnJfcGFnZXMsIEJJT19NQVhfUEFHRVMpKTsKKwkJCQltaW5fdChpbnQsIG5yX3BhZ2VzLCBiaW9f Z2V0X25yX3ZlY3MoYmRldikpKTsKIAkJCWlmICghYmlvKSB7CiAJCQkJaWYgKGN0eCkKIAkJCQkJ ZjJmc19yZWxlYXNlX2NyeXB0b19jdHgoY3R4KTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9wcy5j IGIvZnMvZ2ZzMi9sb3BzLmMKaW5kZXggZDUzNjlhMTA5NzgxLi40MDUyMTE2OTU5ZmIgMTAwNjQ0 Ci0tLSBhL2ZzL2dmczIvbG9wcy5jCisrKyBiL2ZzL2dmczIvbG9wcy5jCkBAIC0yNjEsMTEgKzI2 MSwxOCBAQCB2b2lkIGdmczJfbG9nX2ZsdXNoX2JpbyhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgaW50 IHJ3KQogc3RhdGljIHN0cnVjdCBiaW8gKmdmczJfbG9nX2FsbG9jX2JpbyhzdHJ1Y3QgZ2ZzMl9z YmQgKnNkcCwgdTY0IGJsa25vKQogewogCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBzZHAtPnNk X3ZmczsKKwl1bnNpZ25lZCBucnZlY3MgPSBiaW9fZ2V0X25yX3ZlY3Moc2ItPnNfYmRldik7CiAJ c3RydWN0IGJpbyAqYmlvOwogCiAJQlVHX09OKHNkcC0+c2RfbG9nX2Jpbyk7CiAKLQliaW8gPSBi aW9fYWxsb2MoR0ZQX05PSU8sIEJJT19NQVhfUEFHRVMpOworCXdoaWxlICgxKSB7CisJCWJpbyA9 IGJpb19hbGxvYyhHRlBfTk9JTywgbnJ2ZWNzKTsKKwkJaWYgKGxpa2VseShiaW8pKQorCQkJYnJl YWs7CisJCW5ydmVjcyA9IG1heChucnZlY3MvMiwgMVUpOworCX0KKwogCWJpby0+YmlfaXRlci5i aV9zZWN0b3IgPSBibGtubyAqIChzYi0+c19ibG9ja3NpemUgPj4gOSk7CiAJYmlvLT5iaV9iZGV2 ID0gc2ItPnNfYmRldjsKIAliaW8tPmJpX2VuZF9pbyA9IGdmczJfZW5kX2xvZ193cml0ZTsKZGlm ZiAtLWdpdCBhL2ZzL2xvZ2ZzL2Rldl9iZGV2LmMgYi9mcy9sb2dmcy9kZXZfYmRldi5jCmluZGV4 IGE3ZmRiZDg2ODQ3NC4uY2VhMGNjOTg3OGI3IDEwMDY0NAotLS0gYS9mcy9sb2dmcy9kZXZfYmRl di5jCisrKyBiL2ZzL2xvZ2ZzL2Rldl9iZGV2LmMKQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGlu dCBfX2JkZXZfd3JpdGVzZWcoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdTY0IG9mcywgcGdvZmZf dCBpbmRleCwKIAl1bnNpZ25lZCBpbnQgbWF4X3BhZ2VzOwogCWludCBpOwogCi0JbWF4X3BhZ2Vz ID0gbWluKG5yX3BhZ2VzLCBCSU9fTUFYX1BBR0VTKTsKKwltYXhfcGFnZXMgPSBtaW4obnJfcGFn ZXMsIChzaXplX3QpIGJpb19nZXRfbnJfdmVjcyhzdXBlci0+c19iZGV2KSk7CiAKIAliaW8gPSBi aW9fYWxsb2MoR0ZQX05PRlMsIG1heF9wYWdlcyk7CiAJQlVHX09OKCFiaW8pOwpAQCAtMTcxLDcg KzE3MSw3IEBAIHN0YXRpYyBpbnQgZG9fZXJhc2Uoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdTY0 IG9mcywgcGdvZmZfdCBpbmRleCwKIAl1bnNpZ25lZCBpbnQgbWF4X3BhZ2VzOwogCWludCBpOwog Ci0JbWF4X3BhZ2VzID0gbWluKG5yX3BhZ2VzLCBCSU9fTUFYX1BBR0VTKTsKKwltYXhfcGFnZXMg PSBtaW4obnJfcGFnZXMsIChzaXplX3QpIGJpb19nZXRfbnJfdmVjcyhzdXBlci0+c19iZGV2KSk7 CiAKIAliaW8gPSBiaW9fYWxsb2MoR0ZQX05PRlMsIG1heF9wYWdlcyk7CiAJQlVHX09OKCFiaW8p OwpkaWZmIC0tZ2l0IGEvZnMvbXBhZ2UuYyBiL2ZzL21wYWdlLmMKaW5kZXggYTdjMzQyNzRmMjA3 Li43YjBiOTBlMjNjYmUgMTAwNjQ0Ci0tLSBhL2ZzL21wYWdlLmMKKysrIGIvZnMvbXBhZ2UuYwpA QCAtMjc4LDcgKzI3OCw3IEBAIGFsbG9jX25ldzoKIAkJCQlnb3RvIG91dDsKIAkJfQogCQliaW8g PSBtcGFnZV9hbGxvYyhiZGV2LCBibG9ja3NbMF0gPDwgKGJsa2JpdHMgLSA5KSwKLQkJCQltaW5f dChpbnQsIG5yX3BhZ2VzLCBCSU9fTUFYX1BBR0VTKSwgZ2ZwKTsKKwkJCQltaW5fdChpbnQsIG5y X3BhZ2VzLCBiaW9fZ2V0X25yX3ZlY3MoYmRldikpLCBnZnApOwogCQlpZiAoYmlvID09IE5VTEwp CiAJCQlnb3RvIGNvbmZ1c2VkOwogCX0KQEAgLTYwNSw3ICs2MDUsNyBAQCBhbGxvY19uZXc6CiAJ CQl9CiAJCX0KIAkJYmlvID0gbXBhZ2VfYWxsb2MoYmRldiwgYmxvY2tzWzBdIDw8IChibGtiaXRz IC0gOSksCi0JCQkJQklPX01BWF9QQUdFUywgR0ZQX05PRlN8X19HRlBfSElHSCk7CisJCQkJYmlv X2dldF9ucl92ZWNzKGJkZXYpLCBHRlBfTk9GU3xfX0dGUF9ISUdIKTsKIAkJaWYgKGJpbyA9PSBO VUxMKQogCQkJZ290byBjb25mdXNlZDsKIApkaWZmIC0tZ2l0IGEvZnMvbmlsZnMyL3NlZ2J1Zi5j IGIvZnMvbmlsZnMyL3NlZ2J1Zi5jCmluZGV4IGY2MzYyMGNlMzg5Mi4uNTUwYjEwZWZiMTRlIDEw MDY0NAotLS0gYS9mcy9uaWxmczIvc2VnYnVmLmMKKysrIGIvZnMvbmlsZnMyL3NlZ2J1Zi5jCkBA IC00MTQsNyArNDE0LDcgQEAgc3RhdGljIHZvaWQgbmlsZnNfc2VnYnVmX3ByZXBhcmVfd3JpdGUo c3RydWN0IG5pbGZzX3NlZ21lbnRfYnVmZmVyICpzZWdidWYsCiB7CiAJd2ktPmJpbyA9IE5VTEw7 CiAJd2ktPnJlc3RfYmxvY2tzID0gc2VnYnVmLT5zYl9zdW0ubmJsb2NrczsKLQl3aS0+bWF4X3Bh Z2VzID0gQklPX01BWF9QQUdFUzsKKwl3aS0+bWF4X3BhZ2VzID0gYmlvX2dldF9ucl92ZWNzKHdp LT5uaWxmcy0+bnNfYmRldik7CiAJd2ktPm5yX3ZlY3MgPSBtaW4od2ktPm1heF9wYWdlcywgd2kt PnJlc3RfYmxvY2tzKTsKIAl3aS0+c3RhcnQgPSB3aS0+ZW5kID0gMDsKIAl3aS0+YmxvY2tuciA9 IHNlZ2J1Zi0+c2JfcHNlZ19zdGFydDsKZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNfYW9wcy5jIGIv ZnMveGZzL3hmc19hb3BzLmMKaW5kZXggNTBhYjI4NzliOWRhLi43NjBkZDJhNWJmMDUgMTAwNjQ0 Ci0tLSBhL2ZzL3hmcy94ZnNfYW9wcy5jCisrKyBiL2ZzL3hmcy94ZnNfYW9wcy5jCkBAIC0zODAs NyArMzgwLDggQEAgU1RBVElDIHN0cnVjdCBiaW8gKgogeGZzX2FsbG9jX2lvZW5kX2JpbygKIAlz dHJ1Y3QgYnVmZmVyX2hlYWQJKmJoKQogewotCXN0cnVjdCBiaW8JCSpiaW8gPSBiaW9fYWxsb2Mo R0ZQX05PSU8sIEJJT19NQVhfUEFHRVMpOworCWludAkJCW52ZWNzID0gYmlvX2dldF9ucl92ZWNz KGJoLT5iX2JkZXYpOworCXN0cnVjdCBiaW8JCSpiaW8gPSBiaW9fYWxsb2MoR0ZQX05PSU8sIG52 ZWNzKTsKIAogCUFTU0VSVChiaW8tPmJpX3ByaXZhdGUgPT0gTlVMTCk7CiAJYmlvLT5iaV9pdGVy LmJpX3NlY3RvciA9IGJoLT5iX2Jsb2NrbnIgKiAoYmgtPmJfc2l6ZSA+PiA5KTsKZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvYmlvLmggYi9pbmNsdWRlL2xpbnV4L2Jpby5oCmluZGV4IGI5YjZl MDQ2YjUyZS4uZjIxOThkNWI4YmUxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Jpby5oCisr KyBiL2luY2x1ZGUvbGludXgvYmlvLmgKQEAgLTQ1MSw2ICs0NTEsNyBAQCB2b2lkIGJpb19jaGFp bihzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW8gKik7CiBleHRlcm4gaW50IGJpb19hZGRfcGFnZShz dHJ1Y3QgYmlvICosIHN0cnVjdCBwYWdlICosIHVuc2lnbmVkIGludCx1bnNpZ25lZCBpbnQpOwog ZXh0ZXJuIGludCBiaW9fYWRkX3BjX3BhZ2Uoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0 IGJpbyAqLCBzdHJ1Y3QgcGFnZSAqLAogCQkJICAgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQp OworZXh0ZXJuIGludCBiaW9fZ2V0X25yX3ZlY3Moc3RydWN0IGJsb2NrX2RldmljZSAqKTsKIHN0 cnVjdCBycV9tYXBfZGF0YTsKIGV4dGVybiBzdHJ1Y3QgYmlvICpiaW9fbWFwX3VzZXJfaW92KHN0 cnVjdCByZXF1ZXN0X3F1ZXVlICosCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBpb3ZfaXRlciAqLCBn ZnBfdCk7Cg== --001a113fd72261ddd6052758b95a-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/