From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Wang, Ken" Subject: =?gb2312?B?tPC4tDogW1BBVENIXSBkcm0vYW1kZ3B1OiBmaXggdG8gYWRkIGJ1ZmZlciBm?= =?gb2312?Q?uncs_check?= Date: Tue, 11 Apr 2017 03:41:19 +0000 Message-ID: References: <1491879501-1038-1-git-send-email-ray.huang@amd.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1528225419==" Return-path: In-Reply-To: <1491879501-1038-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org> Content-Language: zh-CN List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Huang, Ray" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "Deucher, Alexander" --===============1528225419== Content-Language: zh-CN Content-Type: multipart/alternative; boundary="_000_CY4PR12MB183130383A23D571F3F8D9EA8C000CY4PR12MB1831namp_" --_000_CY4PR12MB183130383A23D571F3F8D9EA8C000CY4PR12MB1831namp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IEtlbiBXYW5nPFFpbmdxaW5nLldhbmdAYW1kLmNvbT4NCg0KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCreivP7IyzogYW1kLWdmeCA8YW1kLWdmeC1ib3VuY2Vz QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4gtPqx7SBIdWFuZyBSdWkgPHJheS5odWFuZ0BhbWQuY29t Pg0Kt6LLzcqxvOQ6IDIwMTfE6jTUwjExyNUgMTA6NTg6MjENCsrVvP7IyzogYW1kLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmc7IERldWNoZXIsIEFsZXhhbmRlcg0Ks63LzTogSHVhbmcsIFJheQ0K 1vfM4jogW1BBVENIXSBkcm0vYW1kZ3B1OiBmaXggdG8gYWRkIGJ1ZmZlciBmdW5jcyBjaGVjaw0K DQpUaGlzIHBhdGNoIGZpeGVzIHRoZSBjYXNlIHdoZW4gYnVmZmVyIGZ1bmNzIGlzIGVtcHR5IGFu ZCBibyBldmljdCBpcw0KZXhlY3V0aW5nLiBJdCBtdXN0IGRvdWJsZSBjaGVjayBidWZmZXIgZnVu Y3MsIG90aGVyd2lzZSwgYSBOVUxMDQpwb2ludGVyIGRlcmVmZXJlbmNlIGtlcm5lbCBwYW5pYyB3 aWxsIGJlIGVuY291bnRlcmVkLg0KDQogQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxM IHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgMDAwMDAwMDAwMDAwMDFhNA0KIElQOiBbPGZmZmZmZmZm YTA2N2I2Y2Q+XSBhbWRncHVfZXZpY3RfZmxhZ3MrMHgzZC8weGYwIFthbWRncHVdDQogUEdEIDAN Cg0KIE9vcHM6IDAwMDAgWyMxXSBTTVANCiBNb2R1bGVzIGxpbmtlZCBpbjogYW1kZ3B1KE9FKSB0 dG0gZHJtX2ttc19oZWxwZXIgZHJtIGkyY19hbGdvX2JpdCBmYl9zeXNfZm9wcyBzeXNjb3B5YXJl YSBzeXNmaWxscmVjdCBzeXNpbWdibHQgZm1lbShPRSkgcGh5c21lbV9kcnYoT0UpIHJwY3NlY19n c3Nfa3JiNSBuZnN2NCBuZnMgZnNjYWNoZSBpbnRlbF9yYXBsIHg4Nl9wa2dfdGVtcF90aGVybWFs IGludGVsX3Bvd2VyY2xhbXAgc25kX2hkYV9jb2RlY19yZWFsdGVrIHNuZF9oZGFfY29kZWNfaGRt aSBzbmRfaGRhX2NvZGVjX2dlbmVyaWMga3ZtX2ludGVsIHNuZF9oZGFfaW50ZWwgc25kX2hkYV9j b2RlYyBrdm0gc25kX2hkYV9jb3JlIGpveWRldiBlZWVwY193bWkgYXN1c193bWkgc3BhcnNlX2tl eW1hcCBzbmRfaHdkZXAgc25kX3BjbSBpcnFieXBhc3MgY3JjdDEwZGlmX3BjbG11bCBzbmRfc2Vx X21pZGkgc25kX3NlcV9taWRpX2V2ZW50IHNuZF9yYXdtaWRpIHNuZF9zZXEgY3JjMzJfcGNsbXVs IHNuZF9zZXFfZGV2aWNlIGdoYXNoX2NsbXVsbmlfaW50ZWwgYWVzbmlfaW50ZWwgYWVzX3g4Nl82 NCBzbmRfdGltZXIgbHJ3IGdmMTI4bXVsIG1laV9tZSBzbmQgZ2x1ZV9oZWxwZXIgYWJsa19oZWxw ZXIgY3J5cHRkIHRwbV9pbmZpbmVvbiBtZWkgbHBjX2ljaCBzZXJpb19yYXcgc291bmRjb3JlIHNo cGNocCBtYWNfaGlkIG5mc2QgYXV0aF9ycGNnc3MgbmZzX2FjbCBsb2NrZCBncmFjZSBjb3JldGVt cCBzdW5ycGMgcGFycG9ydF9wYyBwcGRldiBscCBwYXJwb3J0IGF1dG9mczQgaGlkX2dlbmVyaWMg bXhtX3dtaSByODE2OSB1c2JoaWQgYWhjaQ0KICBwc21vdXNlIGxpYmFoY2kgbnZtZSBtaWkgaGlk IG52bWVfY29yZSB3bWkgdmlkZW8NCiBDUFU6IDMgUElEOiAxNjI3IENvbW06IGt3b3JrZXIvdTg6 MTcgVGFpbnRlZDogRyAgICAgICAgICAgT0UgICA0LjkuMC1jdXN0b20gIzENCiBIYXJkd2FyZSBu YW1lOiBBU1VTIEFsbCBTZXJpZXMvWjg3LUEsIEJJT1MgMTgwMiAwMS8yOC8yMDE0DQogV29ya3F1 ZXVlOiBldmVudHNfdW5ib3VuZCBhc3luY19ydW5fZW50cnlfZm4NCiB0YXNrOiBmZmZmODgwMjFl NzA1N2MwIHRhc2suc3RhY2s6IGZmZmZjOTAwMDI2MmMwMDANCiBSSVA6IDAwMTA6WzxmZmZmZmZm ZmEwNjdiNmNkPl0gIFs8ZmZmZmZmZmZhMDY3YjZjZD5dIGFtZGdwdV9ldmljdF9mbGFncysweDNk LzB4ZjAgW2FtZGdwdV0NCiBSU1A6IDAwMTg6ZmZmZmM5MDAwMjYyZmIzMCAgRUZMQUdTOiAwMDAx MDI0Ng0KIFJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6IGZmZmY4ODAyMWU4YTU4NTggUkNYOiAw MDAwMDAwMDAwMDAwMDAwDQogUkRYOiAwMDAwMDAwMDAwMDAwMDAxIFJTSTogZmZmZmM5MDAwMjYy ZmI1OCBSREk6IGZmZmY4ODAyMWU4YTU4MDANCiBSQlA6IGZmZmZjOTAwMDI2MmZiNDggUjA4OiAw MDAwMDAwMDAwMDAwMDAwIFIwOTogZmZmZjg4MDIxZThhNTgxNA0KIFIxMDogMDAwMDAwMDAxZGVm OGYwMSBSMTE6IGZmZmY4ODAyMWRlZjhjODAgUjEyOiBmZmZmYzkwMDAyNjJmYjU4DQogUjEzOiBm ZmZmODgwMjFkMmIxOTkwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IGZmZmY4ODAyMWU4YTU4 NTgNCiBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4MDIyZWQ4MDAwMCgwMDAw KSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQogQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENS MDogMDAwMDAwMDA4MDA1MDAzMw0KIENSMjogMDAwMDAwMDAwMDAwMDFhNCBDUjM6IDAwMDAwMDAw MDFjMDcwMDAgQ1I0OiAwMDAwMDAwMDAwMTQwNmUwDQogRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERS MTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDANCiBEUjM6IDAwMDAwMDAw MDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMA0KDQpT aWduZWQtb2ZmLWJ5OiBIdWFuZyBSdWkgPHJheS5odWFuZ0BhbWQuY29tPg0KLS0tDQogZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jIHwgNCArKystDQogMSBmaWxlIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3R0bS5jDQppbmRleCBlMDBmNjZhLi5iYmJkZjUwIDEwMDY0NA0KLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jDQorKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMNCkBAIC0yMjEsNyArMjIxLDkgQEAgc3RhdGlj IHZvaWQgYW1kZ3B1X2V2aWN0X2ZsYWdzKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sDQog ICAgICAgICBzd2l0Y2ggKGJvLT5tZW0ubWVtX3R5cGUpIHsNCiAgICAgICAgIGNhc2UgVFRNX1BM X1ZSQU06DQogICAgICAgICBjYXNlIEFNREdQVV9QTF9ER01BOg0KLSAgICAgICAgICAgICAgIGlm IChhZGV2LT5tbWFuLmJ1ZmZlcl9mdW5jc19yaW5nLT5yZWFkeSA9PSBmYWxzZSkgew0KKyAgICAg ICAgICAgICAgIGlmIChhZGV2LT5tbWFuLmJ1ZmZlcl9mdW5jcyAmJg0KKyAgICAgICAgICAgICAg ICAgICAgICAgYWRldi0+bW1hbi5idWZmZXJfZnVuY3NfcmluZyAmJg0KKyAgICAgICAgICAgICAg ICAgICAgICAgYWRldi0+bW1hbi5idWZmZXJfZnVuY3NfcmluZy0+cmVhZHkgPT0gZmFsc2UpIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICBhbWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFp bihhYm8sIEFNREdQVV9HRU1fRE9NQUlOX0NQVSk7DQogICAgICAgICAgICAgICAgIH0gZWxzZSB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgYW1kZ3B1X3R0bV9wbGFjZW1lbnRfZnJvbV9kb21h aW4oYWJvLCBBTURHUFVfR0VNX0RPTUFJTl9HVFQpOw0KLS0NCjIuNy40DQoNCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQphbWQtZ2Z4IG1haWxpbmcgbGlz dA0KYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA0K --_000_CY4PR12MB183130383A23D571F3F8D9EA8C000CY4PR12MB1831namp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

Reviewed-by: Ken Wang<Qingqing.Wang-5C7GfCeVMHo@public.gmane.org>


=B7=A2=BC=FE=C8=CB: amd-g= fx <amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org> =B4=FA=B1=ED Huang Rui <= ;ray.huang-5C7GfCeVMHo@public.gmane.org>
=B7=A2=CB=CD=CA=B1=BC=E4: 2017=C4=EA4=D4=C211=C8=D5 10:58:21
=CA=D5=BC=FE=C8=CB: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; Deucher, Alexande= r
=B3=AD=CB=CD: Huang, Ray
=D6=F7=CC=E2: [PATCH] drm/amdgpu: fix to add buffer funcs check
 
This patch fixes the case when buffer funcs is emp= ty and bo evict is
executing. It must double check buffer funcs, otherwise, a NULL
pointer dereference kernel panic will be encountered.

 BUG: unable to handle kernel NULL pointer dereference at 000000000000= 01a4
 IP: [<ffffffffa067b6cd>] amdgpu_evict_flags+0x3d/0xf0 [amdg= pu]
 PGD 0

 Oops: 0000 [#1] SMP
 Modules linked in: amdgpu(OE) ttm drm_kms_helper drm i2c_algo_bit fb_= sys_fops syscopyarea sysfillrect sysimgblt fmem(OE) physmem_drv(OE) rpcsec_= gss_krb5 nfsv4 nfs fscache intel_rapl x86_pkg_temp_thermal intel_powerclamp= snd_hda_codec_realtek snd_hda_codec_hdmi snd_hda_codec_generic kvm_intel snd_hda_intel snd_hda_codec kvm snd_hda_co= re joydev eeepc_wmi asus_wmi sparse_keymap snd_hwdep snd_pcm irqbypass crct= 10dif_pclmul snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq crc32_pclm= ul snd_seq_device ghash_clmulni_intel aesni_intel aes_x86_64 snd_timer lrw gf128mul mei_me snd glue_helper ablk_= helper cryptd tpm_infineon mei lpc_ich serio_raw soundcore shpchp mac_hid n= fsd auth_rpcgss nfs_acl lockd grace coretemp sunrpc parport_pc ppdev lp par= port autofs4 hid_generic mxm_wmi r8169 usbhid ahci
  psmouse libahci nvme mii hid nvme_core wmi video
 CPU: 3 PID: 1627 Comm: kworker/u8:17 Tainted: G   &nbs= p;       OE   4.9.0-custom #1
 Hardware name: ASUS All Series/Z87-A, BIOS 1802 01/28/2014
 Workqueue: events_unbound async_run_entry_fn
 task: ffff88021e7057c0 task.stack: ffffc9000262c000
 RIP: 0010:[<ffffffffa067b6cd>]  [<ffffffffa067b6cd>]= amdgpu_evict_flags+0x3d/0xf0 [amdgpu]
 RSP: 0018:ffffc9000262fb30  EFLAGS: 00010246
 RAX: 0000000000000000 RBX: ffff88021e8a5858 RCX: 0000000000000000
 RDX: 0000000000000001 RSI: ffffc9000262fb58 RDI: ffff88021e8a5800
 RBP: ffffc9000262fb48 R08: 0000000000000000 R09: ffff88021e8a5814
 R10: 000000001def8f01 R11: ffff88021def8c80 R12: ffffc9000262fb58
 R13: ffff88021d2b1990 R14: 0000000000000000 R15: ffff88021e8a5858
 FS:  0000000000000000(0000) GS:ffff88022ed80000(0000) knlGS:0000= 000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 00000000000001a4 CR3: 0000000001c07000 CR4: 00000000001406e0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Signed-off-by: Huang Rui <ray.huang-5C7GfCeVMHo@public.gmane.org>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/= amdgpu/amdgpu_ttm.c
index e00f66a..bbbdf50 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -221,7 +221,9 @@ static void amdgpu_evict_flags(struct ttm_buffer_ob= ject *bo,
         switch (bo->mem.mem_typ= e) {
         case TTM_PL_VRAM:
         case AMDGPU_PL_DGMA:
-            &n= bsp;  if (adev->mman.buffer_funcs_ring->ready =3D=3D false) { +           &nbs= p;   if (adev->mman.buffer_funcs &&
+           &nbs= p;           adev->mma= n.buffer_funcs_ring &&
+           &nbs= p;           adev->mma= n.buffer_funcs_ring->ready =3D=3D false) {
            &nb= sp;            amdgp= u_ttm_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_CPU);
            &nb= sp;    } else {
            &nb= sp;            amdgp= u_ttm_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_GTT);
--
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
https://= lists.freedesktop.org/mailman/listinfo/amd-gfx
--_000_CY4PR12MB183130383A23D571F3F8D9EA8C000CY4PR12MB1831namp_-- --===============1528225419== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBt YWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg== --===============1528225419==--