From: Greg Kroah-Hartman Subject: [PATCH 3.18 54/58] x86/mm/kmmio: Fix mmiotrace for page unaligned addresses Date: Fri, 23 Feb 2018 19:26:53 +0100 Message-ID: <20180223170215.213776406@linuxfoundation.org> References: <20180223170206.724655284@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180223170206.724655284-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Peter Zijlstra , Greg Kroah-Hartman , stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Sasha Levin , Pekka Paalanen , Steven Rostedt , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Thomas Gleixner , Linus Torvalds , Ingo Molnar List-Id: nouveau.vger.kernel.org My4xOC1zdGFibGUgcmV2aWV3IHBhdGNoLiAgSWYgYW55b25lIGhhcyBhbnkgb2JqZWN0aW9ucywg cGxlYXNlIGxldCBtZSBrbm93LgoKLS0tLS0tLS0tLS0tLS0tLS0tCgpGcm9tOiBLYXJvbCBIZXJi c3QgPGtoZXJic3RAcmVkaGF0LmNvbT4KCgpbIFVwc3RyZWFtIGNvbW1pdCA2ZDYwY2UzODRkMWQ1 Y2EzMmI1OTUyNDRkYjQwNzdhNDE5YWNjNjg3IF0KCklmIHNvbWV0aGluZyBjYWxscyBpb3JlbWFw KCkgd2l0aCBhbiBhZGRyZXNzIG5vdCBhbGlnbmVkIHRvIFBBR0VfU0laRSwgdGhlCnJldHVybmVk IGFkZHJlc3MgbWlnaHQgYmUgbm90IGFsaWduZWQgYXMgd2VsbC4gVGhpcyBsZWQgdG8gYSBwcm9i ZQpyZWdpc3RlcmVkIG9uIGV4YWN0bHkgdGhlIHJldHVybmVkIGFkZHJlc3MsIGJ1dCB0aGUgZW50 aXJlIHBhZ2Ugd2FzIGFybWVkCmZvciBtbWlvdHJhY2luZy4KCk9uIGNhbGxpbmcgaW91bm1hcCgp IHRoZSBhZGRyZXNzIHBhc3NlZCB0byB1bnJlZ2lzdGVyX2ttbWlvX3Byb2JlKCkgd2FzClBBR0Vf U0laRSBhbGlnbmVkIGJ5IHRoZSBjYWxsZXIgbGVhZGluZyB0byBhIGNvbXBsZXRlIGZyZWV6ZSBv ZiB0aGUKbWFjaGluZS4KCldlIHNob3VsZCBhbHdheXMgcGFnZSBhbGlnbiBhZGRyZXNzZXMgd2hp bGUgKHVuKXJlZ2lzdGVydW5nIG1hcHBpbmdzLApiZWNhdXNlIHRoZSBtbWlvdHJhY2VyIHdvcmtz IG9uIHRvcCBvZiBwYWdlcywgbm90IG1hcHBpbmdzLiBXZSBzdGlsbCBrZWVwCnRyYWNrIG9mIHRo ZSBwcm9iZXMgYmFzZWQgb24gdGhlaXIgcmVhbCBhZGRyZXNzZXMgYW5kIGxlbmd0aHMgdGhvdWdo LApiZWNhdXNlIHRoZSBtbWlvdHJhY2Ugc3RpbGwgbmVlZHMgdG8ga25vdyB3aGF0IGFyZSBtYXBw ZWQgbWVtb3J5IHJlZ2lvbnMuCgpBbHNvIG1vdmUgdGhlIGNhbGwgdG8gbW1pb3RyYWNlX2lvdW5t YXAoKSBwcmlvciBwYWdlIGFsaWduaW5nIHRoZSBhZGRyZXNzLApzbyB0aGF0IGFsbCBwcm9iZXMg YXJlIHVucmVnaXN0ZXJlZCBwcm9wZXJseSwgb3RoZXJ3aXNlIHRoZSBrZXJuZWwgZW5kcyB1cApm YWlsaW5nIG1lbW9yeSBhbGxvY2F0aW9ucyByYW5kb21seSBhZnRlciBkaXNhYmxpbmcgdGhlIG1t aW90cmFjZXIuCgpUZXN0ZWQtYnk6IEx5dWRlIDxseXVkZUByZWRoYXQuY29tPgpTaWduZWQtb2Zm LWJ5OiBLYXJvbCBIZXJic3QgPGtoZXJic3RAcmVkaGF0LmNvbT4KQWNrZWQtYnk6IFBla2thIFBh YWxhbmVuIDxwcGFhbGFuZW5AZ21haWwuY29tPgpDYzogTGludXMgVG9ydmFsZHMgPHRvcnZhbGRz QGxpbnV4LWZvdW5kYXRpb24ub3JnPgpDYzogUGV0ZXIgWmlqbHN0cmEgPHBldGVyekBpbmZyYWRl YWQub3JnPgpDYzogU3RldmVuIFJvc3RlZHQgPHJvc3RlZHRAZ29vZG1pcy5vcmc+CkNjOiBUaG9t YXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KQ2M6IG5vdXZlYXVAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCkxpbms6IGh0dHA6Ly9sa21sLmtlcm5lbC5vcmcvci8yMDE3MTEyNzA3NTEzOS40 OTI4LTEta2hlcmJzdEByZWRoYXQuY29tClNpZ25lZC1vZmYtYnk6IEluZ28gTW9sbmFyIDxtaW5n b0BrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBTYXNoYSBMZXZpbiA8YWxleGFuZGVyLmxldmlu QG1pY3Jvc29mdC5jb20+ClNpZ25lZC1vZmYtYnk6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2to QGxpbnV4Zm91bmRhdGlvbi5vcmc+Ci0tLQogYXJjaC94ODYvbW0vaW9yZW1hcC5jIHwgICAgNCAr Ky0tCiBhcmNoL3g4Ni9tbS9rbW1pby5jICAgfCAgIDEyICsrKysrKystLS0tLQogMiBmaWxlcyBj aGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgotLS0gYS9hcmNoL3g4Ni9t bS9pb3JlbWFwLmMKKysrIGIvYXJjaC94ODYvbW0vaW9yZW1hcC5jCkBAIC0yOTYsMTEgKzI5Niwx MSBAQCB2b2lkIGlvdW5tYXAodm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyCiAJICAgICh2b2lk IF9fZm9yY2UgKilhZGRyIDwgcGh5c190b192aXJ0KElTQV9FTkRfQUREUkVTUykpCiAJCXJldHVy bjsKIAorCW1taW90cmFjZV9pb3VubWFwKGFkZHIpOworCiAJYWRkciA9ICh2b2xhdGlsZSB2b2lk IF9faW9tZW0gKikKIAkJKFBBR0VfTUFTSyAmICh1bnNpZ25lZCBsb25nIF9fZm9yY2UpYWRkcik7 CiAKLQltbWlvdHJhY2VfaW91bm1hcChhZGRyKTsKLQogCS8qIFVzZSB0aGUgdm0gYXJlYSB1bmxv Y2tlZCwgYXNzdW1pbmcgdGhlIGNhbGxlcgogCSAgIGVuc3VyZXMgdGhlcmUgaXNuJ3QgYW5vdGhl ciBpb3VubWFwIGZvciB0aGUgc2FtZSBhZGRyZXNzCiAJICAgaW4gcGFyYWxsZWwuIFJldXNlIG9m IHRoZSB2aXJ0dWFsIGFkZHJlc3MgaXMgcHJldmVudGVkIGJ5Ci0tLSBhL2FyY2gveDg2L21tL2tt bWlvLmMKKysrIGIvYXJjaC94ODYvbW0va21taW8uYwpAQCAtNDM0LDE3ICs0MzQsMTggQEAgaW50 IHJlZ2lzdGVyX2ttbWlvX3Byb2JlKHN0cnVjdCBrbW1pb19wcgogCXVuc2lnbmVkIGxvbmcgZmxh Z3M7CiAJaW50IHJldCA9IDA7CiAJdW5zaWduZWQgbG9uZyBzaXplID0gMDsKKwl1bnNpZ25lZCBs b25nIGFkZHIgPSBwLT5hZGRyICYgUEFHRV9NQVNLOwogCWNvbnN0IHVuc2lnbmVkIGxvbmcgc2l6 ZV9saW0gPSBwLT5sZW4gKyAocC0+YWRkciAmIH5QQUdFX01BU0spOwogCXVuc2lnbmVkIGludCBs OwogCXB0ZV90ICpwdGU7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgma21taW9fbG9jaywgZmxhZ3Mp OwotCWlmIChnZXRfa21taW9fcHJvYmUocC0+YWRkcikpIHsKKwlpZiAoZ2V0X2ttbWlvX3Byb2Jl KGFkZHIpKSB7CiAJCXJldCA9IC1FRVhJU1Q7CiAJCWdvdG8gb3V0OwogCX0KIAotCXB0ZSA9IGxv b2t1cF9hZGRyZXNzKHAtPmFkZHIsICZsKTsKKwlwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyLCAm bCk7CiAJaWYgKCFwdGUpIHsKIAkJcmV0ID0gLUVJTlZBTDsKIAkJZ290byBvdXQ7CkBAIC00NTMs NyArNDU0LDcgQEAgaW50IHJlZ2lzdGVyX2ttbWlvX3Byb2JlKHN0cnVjdCBrbW1pb19wcgogCWtt bWlvX2NvdW50Kys7CiAJbGlzdF9hZGRfcmN1KCZwLT5saXN0LCAma21taW9fcHJvYmVzKTsKIAl3 aGlsZSAoc2l6ZSA8IHNpemVfbGltKSB7Ci0JCWlmIChhZGRfa21taW9fZmF1bHRfcGFnZShwLT5h ZGRyICsgc2l6ZSkpCisJCWlmIChhZGRfa21taW9fZmF1bHRfcGFnZShhZGRyICsgc2l6ZSkpCiAJ CQlwcl9lcnIoIlVuYWJsZSB0byBzZXQgcGFnZSBmYXVsdC5cbiIpOwogCQlzaXplICs9IHBhZ2Vf bGV2ZWxfc2l6ZShsKTsKIAl9CkBAIC01MjcsMTkgKzUyOCwyMCBAQCB2b2lkIHVucmVnaXN0ZXJf a21taW9fcHJvYmUoc3RydWN0IGttbWlvCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1bnNp Z25lZCBsb25nIHNpemUgPSAwOworCXVuc2lnbmVkIGxvbmcgYWRkciA9IHAtPmFkZHIgJiBQQUdF X01BU0s7CiAJY29uc3QgdW5zaWduZWQgbG9uZyBzaXplX2xpbSA9IHAtPmxlbiArIChwLT5hZGRy ICYgflBBR0VfTUFTSyk7CiAJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnJlbGVhc2VfbGlzdCA9 IE5VTEw7CiAJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSAqZHJlbGVhc2U7CiAJdW5zaWdu ZWQgaW50IGw7CiAJcHRlX3QgKnB0ZTsKIAotCXB0ZSA9IGxvb2t1cF9hZGRyZXNzKHAtPmFkZHIs ICZsKTsKKwlwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyLCAmbCk7CiAJaWYgKCFwdGUpCiAJCXJl dHVybjsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZrbW1pb19sb2NrLCBmbGFncyk7CiAJd2hpbGUg KHNpemUgPCBzaXplX2xpbSkgewotCQlyZWxlYXNlX2ttbWlvX2ZhdWx0X3BhZ2UocC0+YWRkciAr IHNpemUsICZyZWxlYXNlX2xpc3QpOworCQlyZWxlYXNlX2ttbWlvX2ZhdWx0X3BhZ2UoYWRkciAr IHNpemUsICZyZWxlYXNlX2xpc3QpOwogCQlzaXplICs9IHBhZ2VfbGV2ZWxfc2l6ZShsKTsKIAl9 CiAJbGlzdF9kZWxfcmN1KCZwLT5saXN0KTsKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpOb3V2ZWF1IG1haWxpbmcgbGlzdApOb3V2ZWF1QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL25vdXZlYXUK