From: Greg Kroah-Hartman Subject: [PATCH 4.9 083/145] x86/mm/kmmio: Fix mmiotrace for page unaligned addresses Date: Fri, 23 Feb 2018 19:26:29 +0100 Message-ID: <20180223170735.466154379@linuxfoundation.org> References: <20180223170724.669759283@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180223170724.669759283-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 NC45LXN0YWJsZSByZXZpZXcgcGF0Y2guICBJZiBhbnlvbmUgaGFzIGFueSBvYmplY3Rpb25zLCBw bGVhc2UgbGV0IG1lIGtub3cuCgotLS0tLS0tLS0tLS0tLS0tLS0KCkZyb206IEthcm9sIEhlcmJz dCA8a2hlcmJzdEByZWRoYXQuY29tPgoKClsgVXBzdHJlYW0gY29tbWl0IDZkNjBjZTM4NGQxZDVj YTMyYjU5NTI0NGRiNDA3N2E0MTlhY2M2ODcgXQoKSWYgc29tZXRoaW5nIGNhbGxzIGlvcmVtYXAo KSB3aXRoIGFuIGFkZHJlc3Mgbm90IGFsaWduZWQgdG8gUEFHRV9TSVpFLCB0aGUKcmV0dXJuZWQg YWRkcmVzcyBtaWdodCBiZSBub3QgYWxpZ25lZCBhcyB3ZWxsLiBUaGlzIGxlZCB0byBhIHByb2Jl CnJlZ2lzdGVyZWQgb24gZXhhY3RseSB0aGUgcmV0dXJuZWQgYWRkcmVzcywgYnV0IHRoZSBlbnRp cmUgcGFnZSB3YXMgYXJtZWQKZm9yIG1taW90cmFjaW5nLgoKT24gY2FsbGluZyBpb3VubWFwKCkg dGhlIGFkZHJlc3MgcGFzc2VkIHRvIHVucmVnaXN0ZXJfa21taW9fcHJvYmUoKSB3YXMKUEFHRV9T SVpFIGFsaWduZWQgYnkgdGhlIGNhbGxlciBsZWFkaW5nIHRvIGEgY29tcGxldGUgZnJlZXplIG9m IHRoZQptYWNoaW5lLgoKV2Ugc2hvdWxkIGFsd2F5cyBwYWdlIGFsaWduIGFkZHJlc3NlcyB3aGls ZSAodW4pcmVnaXN0ZXJ1bmcgbWFwcGluZ3MsCmJlY2F1c2UgdGhlIG1taW90cmFjZXIgd29ya3Mg b24gdG9wIG9mIHBhZ2VzLCBub3QgbWFwcGluZ3MuIFdlIHN0aWxsIGtlZXAKdHJhY2sgb2YgdGhl IHByb2JlcyBiYXNlZCBvbiB0aGVpciByZWFsIGFkZHJlc3NlcyBhbmQgbGVuZ3RocyB0aG91Z2gs CmJlY2F1c2UgdGhlIG1taW90cmFjZSBzdGlsbCBuZWVkcyB0byBrbm93IHdoYXQgYXJlIG1hcHBl ZCBtZW1vcnkgcmVnaW9ucy4KCkFsc28gbW92ZSB0aGUgY2FsbCB0byBtbWlvdHJhY2VfaW91bm1h cCgpIHByaW9yIHBhZ2UgYWxpZ25pbmcgdGhlIGFkZHJlc3MsCnNvIHRoYXQgYWxsIHByb2JlcyBh cmUgdW5yZWdpc3RlcmVkIHByb3Blcmx5LCBvdGhlcndpc2UgdGhlIGtlcm5lbCBlbmRzIHVwCmZh aWxpbmcgbWVtb3J5IGFsbG9jYXRpb25zIHJhbmRvbWx5IGFmdGVyIGRpc2FibGluZyB0aGUgbW1p b3RyYWNlci4KClRlc3RlZC1ieTogTHl1ZGUgPGx5dWRlQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYt Ynk6IEthcm9sIEhlcmJzdCA8a2hlcmJzdEByZWRoYXQuY29tPgpBY2tlZC1ieTogUGVra2EgUGFh bGFuZW4gPHBwYWFsYW5lbkBnbWFpbC5jb20+CkNjOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNA bGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBQZXRlciBaaWpsc3RyYSA8cGV0ZXJ6QGluZnJhZGVh ZC5vcmc+CkNjOiBTdGV2ZW4gUm9zdGVkdCA8cm9zdGVkdEBnb29kbWlzLm9yZz4KQ2M6IFRob21h cyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgpDYzogbm91dmVhdUBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKTGluazogaHR0cDovL2xrbWwua2VybmVsLm9yZy9yLzIwMTcxMTI3MDc1MTM5LjQ5 MjgtMS1raGVyYnN0QHJlZGhhdC5jb20KU2lnbmVkLW9mZi1ieTogSW5nbyBNb2xuYXIgPG1pbmdv QGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IFNhc2hhIExldmluIDxhbGV4YW5kZXIubGV2aW5A bWljcm9zb2Z0LmNvbT4KU2lnbmVkLW9mZi1ieTogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hA bGludXhmb3VuZGF0aW9uLm9yZz4KLS0tCiBhcmNoL3g4Ni9tbS9pb3JlbWFwLmMgfCAgICA0ICsr LS0KIGFyY2gveDg2L21tL2ttbWlvLmMgICB8ICAgMTIgKysrKysrKy0tLS0tCiAyIGZpbGVzIGNo YW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCi0tLSBhL2FyY2gveDg2L21t L2lvcmVtYXAuYworKysgYi9hcmNoL3g4Ni9tbS9pb3JlbWFwLmMKQEAgLTM0NywxMSArMzQ3LDEx IEBAIHZvaWQgaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIKIAkgICAgKHZvaWQg X19mb3JjZSAqKWFkZHIgPCBwaHlzX3RvX3ZpcnQoSVNBX0VORF9BRERSRVNTKSkKIAkJcmV0dXJu OwogCisJbW1pb3RyYWNlX2lvdW5tYXAoYWRkcik7CisKIAlhZGRyID0gKHZvbGF0aWxlIHZvaWQg X19pb21lbSAqKQogCQkoUEFHRV9NQVNLICYgKHVuc2lnbmVkIGxvbmcgX19mb3JjZSlhZGRyKTsK IAotCW1taW90cmFjZV9pb3VubWFwKGFkZHIpOwotCiAJLyogVXNlIHRoZSB2bSBhcmVhIHVubG9j a2VkLCBhc3N1bWluZyB0aGUgY2FsbGVyCiAJICAgZW5zdXJlcyB0aGVyZSBpc24ndCBhbm90aGVy IGlvdW5tYXAgZm9yIHRoZSBzYW1lIGFkZHJlc3MKIAkgICBpbiBwYXJhbGxlbC4gUmV1c2Ugb2Yg dGhlIHZpcnR1YWwgYWRkcmVzcyBpcyBwcmV2ZW50ZWQgYnkKLS0tIGEvYXJjaC94ODYvbW0va21t aW8uYworKysgYi9hcmNoL3g4Ni9tbS9rbW1pby5jCkBAIC00MzQsMTcgKzQzNCwxOCBAQCBpbnQg cmVnaXN0ZXJfa21taW9fcHJvYmUoc3RydWN0IGttbWlvX3ByCiAJdW5zaWduZWQgbG9uZyBmbGFn czsKIAlpbnQgcmV0ID0gMDsKIAl1bnNpZ25lZCBsb25nIHNpemUgPSAwOworCXVuc2lnbmVkIGxv bmcgYWRkciA9IHAtPmFkZHIgJiBQQUdFX01BU0s7CiAJY29uc3QgdW5zaWduZWQgbG9uZyBzaXpl X2xpbSA9IHAtPmxlbiArIChwLT5hZGRyICYgflBBR0VfTUFTSyk7CiAJdW5zaWduZWQgaW50IGw7 CiAJcHRlX3QgKnB0ZTsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZrbW1pb19sb2NrLCBmbGFncyk7 Ci0JaWYgKGdldF9rbW1pb19wcm9iZShwLT5hZGRyKSkgeworCWlmIChnZXRfa21taW9fcHJvYmUo YWRkcikpIHsKIAkJcmV0ID0gLUVFWElTVDsKIAkJZ290byBvdXQ7CiAJfQogCi0JcHRlID0gbG9v a3VwX2FkZHJlc3MocC0+YWRkciwgJmwpOworCXB0ZSA9IGxvb2t1cF9hZGRyZXNzKGFkZHIsICZs KTsKIAlpZiAoIXB0ZSkgewogCQlyZXQgPSAtRUlOVkFMOwogCQlnb3RvIG91dDsKQEAgLTQ1Myw3 ICs0NTQsNyBAQCBpbnQgcmVnaXN0ZXJfa21taW9fcHJvYmUoc3RydWN0IGttbWlvX3ByCiAJa21t aW9fY291bnQrKzsKIAlsaXN0X2FkZF9yY3UoJnAtPmxpc3QsICZrbW1pb19wcm9iZXMpOwogCXdo aWxlIChzaXplIDwgc2l6ZV9saW0pIHsKLQkJaWYgKGFkZF9rbW1pb19mYXVsdF9wYWdlKHAtPmFk ZHIgKyBzaXplKSkKKwkJaWYgKGFkZF9rbW1pb19mYXVsdF9wYWdlKGFkZHIgKyBzaXplKSkKIAkJ CXByX2VycigiVW5hYmxlIHRvIHNldCBwYWdlIGZhdWx0LlxuIik7CiAJCXNpemUgKz0gcGFnZV9s ZXZlbF9zaXplKGwpOwogCX0KQEAgLTUyNywxOSArNTI4LDIwIEBAIHZvaWQgdW5yZWdpc3Rlcl9r bW1pb19wcm9iZShzdHJ1Y3Qga21taW8KIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXVuc2ln bmVkIGxvbmcgc2l6ZSA9IDA7CisJdW5zaWduZWQgbG9uZyBhZGRyID0gcC0+YWRkciAmIFBBR0Vf TUFTSzsKIAljb25zdCB1bnNpZ25lZCBsb25nIHNpemVfbGltID0gcC0+bGVuICsgKHAtPmFkZHIg JiB+UEFHRV9NQVNLKTsKIAlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcmVsZWFzZV9saXN0ID0g TlVMTDsKIAlzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlICpkcmVsZWFzZTsKIAl1bnNpZ25l ZCBpbnQgbDsKIAlwdGVfdCAqcHRlOwogCi0JcHRlID0gbG9va3VwX2FkZHJlc3MocC0+YWRkciwg JmwpOworCXB0ZSA9IGxvb2t1cF9hZGRyZXNzKGFkZHIsICZsKTsKIAlpZiAoIXB0ZSkKIAkJcmV0 dXJuOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKIAl3aGlsZSAo c2l6ZSA8IHNpemVfbGltKSB7Ci0JCXJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZShwLT5hZGRyICsg c2l6ZSwgJnJlbGVhc2VfbGlzdCk7CisJCXJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZShhZGRyICsg c2l6ZSwgJnJlbGVhc2VfbGlzdCk7CiAJCXNpemUgKz0gcGFnZV9sZXZlbF9zaXplKGwpOwogCX0K IAlsaXN0X2RlbF9yY3UoJnAtPmxpc3QpOwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vbm91dmVhdQo=