From: Monk Liu Subject: [PATCH 2/3] drm/amdgpu/sriov:fix memory leak after gpu reset Date: Tue, 19 Sep 2017 14:41:13 +0800 Message-ID: <1505803274-8237-2-git-send-email-Monk.Liu@amd.com> References: <1505803274-8237-1-git-send-email-Monk.Liu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1505803274-8237-1-git-send-email-Monk.Liu-5C7GfCeVMHo@public.gmane.org> 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: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Monk Liu R1BVIHJlc2V0IHdpbGwgcmVxdWlyZSBhbGwgaHcgZG9pbmcgaHdfaW5pdCB0aHVzCnVjb2RlX2lu aXRfYm8gd2lsbCBiZSBpbnZva2VkIGFnYWluLCB3aGljaCBsZWFkIHRvCm1lbW9yeSBsZWFrCgpz a2lwIHRoZSBmd19idWYgYWxsb2NhdGlvbiBkdXJpbmcgc3Jpb3YgZ3B1IHJlc2V0IHRvIGF2b2lk Cm1lbW9yeSBsZWFrLgoKQ2hhbmdlLUlkOiBJMzExMzFlZGExYmQ0NWVhMmY1YmRjNTBjNWRhNWZj NWE5ZmU5MDI3ZApTaWduZWQtb2ZmLWJ5OiBNb25rIExpdSA8TW9uay5MaXVAYW1kLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAgICAgICB8ICAzICsrCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWNvZGUuYyB8IDY0ICsrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMzIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAppbmRleCA2ZmYyOTU5 Li4zZDBjNjMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaApAQCAtMTE4NSw2ICsx MTg1LDkgQEAgc3RydWN0IGFtZGdwdV9maXJtd2FyZSB7CiAKIAkvKiBncHUgaW5mbyBmaXJtd2Fy ZSBkYXRhIHBvaW50ZXIgKi8KIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmdwdV9pbmZvX2Z3Owor CisJdm9pZCAqZndfYnVmX3B0cjsKKwl1aW50NjRfdCBmd19idWZfbWM7CiB9OwogCiAvKgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Vjb2RlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWNvZGUuYwppbmRleCBmMzA2Mzc0Li42NTY0 OTAyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWNvZGUu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWNvZGUuYwpAQCAtMzYw LDggKzM2MCw2IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3Vjb2RlX3BhdGNoX2p0KHN0cnVjdCBhbWRn cHVfZmlybXdhcmVfaW5mbyAqdWNvZGUsCiBpbnQgYW1kZ3B1X3Vjb2RlX2luaXRfYm8oc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiB7CiAJc3RydWN0IGFtZGdwdV9ibyAqKmJvID0gJmFkZXYt PmZpcm13YXJlLmZ3X2J1ZjsKLQl1aW50NjRfdCBmd19tY19hZGRyOwotCXZvaWQgKmZ3X2J1Zl9w dHIgPSBOVUxMOwogCXVpbnQ2NF90IGZ3X29mZnNldCA9IDA7CiAJaW50IGksIGVycjsKIAlzdHJ1 Y3QgYW1kZ3B1X2Zpcm13YXJlX2luZm8gKnVjb2RlID0gTlVMTDsKQEAgLTM3MiwzNyArMzcwLDM5 IEBAIGludCBhbWRncHVfdWNvZGVfaW5pdF9ibyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikK IAkJcmV0dXJuIDA7CiAJfQogCi0JZXJyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBhZGV2LT5m aXJtd2FyZS5md19zaXplLCBQQUdFX1NJWkUsIHRydWUsCi0JCQkJYW1kZ3B1X3NyaW92X3ZmKGFk ZXYpID8gQU1ER1BVX0dFTV9ET01BSU5fVlJBTSA6IEFNREdQVV9HRU1fRE9NQUlOX0dUVCwKLQkJ CQlBTURHUFVfR0VNX0NSRUFURV9WUkFNX0NPTlRJR1VPVVMsCi0JCQkJTlVMTCwgTlVMTCwgMCwg Ym8pOwotCWlmIChlcnIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIEZpcm13YXJlIGJ1 ZmZlciBhbGxvY2F0ZSBmYWlsZWRcbiIsIGVycik7Ci0JCWdvdG8gZmFpbGVkOwotCX0KKwlpZiAo IWFtZGdwdV9zcmlvdl92ZihhZGV2KSB8fCAhYWRldi0+aW5fc3Jpb3ZfcmVzZXQpIHsKKwkJZXJy ID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBhZGV2LT5maXJtd2FyZS5md19zaXplLCBQQUdFX1NJ WkUsIHRydWUsCisJCQkJCWFtZGdwdV9zcmlvdl92ZihhZGV2KSA/IEFNREdQVV9HRU1fRE9NQUlO X1ZSQU0gOiBBTURHUFVfR0VNX0RPTUFJTl9HVFQsCisJCQkJCUFNREdQVV9HRU1fQ1JFQVRFX1ZS QU1fQ09OVElHVU9VUywKKwkJCQkJTlVMTCwgTlVMTCwgMCwgYm8pOworCQlpZiAoZXJyKSB7CisJ CQlkZXZfZXJyKGFkZXYtPmRldiwgIiglZCkgRmlybXdhcmUgYnVmZmVyIGFsbG9jYXRlIGZhaWxl ZFxuIiwgZXJyKTsKKwkJCWdvdG8gZmFpbGVkOworCQl9CiAKLQllcnIgPSBhbWRncHVfYm9fcmVz ZXJ2ZSgqYm8sIGZhbHNlKTsKLQlpZiAoZXJyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVk KSBGaXJtd2FyZSBidWZmZXIgcmVzZXJ2ZSBmYWlsZWRcbiIsIGVycik7Ci0JCWdvdG8gZmFpbGVk X3Jlc2VydmU7Ci0JfQorCQllcnIgPSBhbWRncHVfYm9fcmVzZXJ2ZSgqYm8sIGZhbHNlKTsKKwkJ aWYgKGVycikgeworCQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIEZpcm13YXJlIGJ1ZmZlciBy ZXNlcnZlIGZhaWxlZFxuIiwgZXJyKTsKKwkJCWdvdG8gZmFpbGVkX3Jlc2VydmU7CisJCX0KIAot CWVyciA9IGFtZGdwdV9ib19waW4oKmJvLCBhbWRncHVfc3Jpb3ZfdmYoYWRldikgPyBBTURHUFVf R0VNX0RPTUFJTl9WUkFNIDogQU1ER1BVX0dFTV9ET01BSU5fR1RULAotCQkJCSZmd19tY19hZGRy KTsKLQlpZiAoZXJyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSBGaXJtd2FyZSBidWZm ZXIgcGluIGZhaWxlZFxuIiwgZXJyKTsKLQkJZ290byBmYWlsZWRfcGluOwotCX0KKwkJZXJyID0g YW1kZ3B1X2JvX3BpbigqYm8sIGFtZGdwdV9zcmlvdl92ZihhZGV2KSA/IEFNREdQVV9HRU1fRE9N QUlOX1ZSQU0gOiBBTURHUFVfR0VNX0RPTUFJTl9HVFQsCisJCQkJCSZhZGV2LT5maXJtd2FyZS5m d19idWZfbWMpOworCQlpZiAoZXJyKSB7CisJCQlkZXZfZXJyKGFkZXYtPmRldiwgIiglZCkgRmly bXdhcmUgYnVmZmVyIHBpbiBmYWlsZWRcbiIsIGVycik7CisJCQlnb3RvIGZhaWxlZF9waW47CisJ CX0KIAotCWVyciA9IGFtZGdwdV9ib19rbWFwKCpibywgJmZ3X2J1Zl9wdHIpOwotCWlmIChlcnIp IHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIEZpcm13YXJlIGJ1ZmZlciBrbWFwIGZhaWxl ZFxuIiwgZXJyKTsKLQkJZ290byBmYWlsZWRfa21hcDsKLQl9CisJCWVyciA9IGFtZGdwdV9ib19r bWFwKCpibywgJmFkZXYtPmZpcm13YXJlLmZ3X2J1Zl9wdHIpOworCQlpZiAoZXJyKSB7CisJCQlk ZXZfZXJyKGFkZXYtPmRldiwgIiglZCkgRmlybXdhcmUgYnVmZmVyIGttYXAgZmFpbGVkXG4iLCBl cnIpOworCQkJZ290byBmYWlsZWRfa21hcDsKKwkJfQogCi0JYW1kZ3B1X2JvX3VucmVzZXJ2ZSgq Ym8pOworCQlhbWRncHVfYm9fdW5yZXNlcnZlKCpibyk7CisJfQogCi0JbWVtc2V0KGZ3X2J1Zl9w dHIsIDAsIGFkZXYtPmZpcm13YXJlLmZ3X3NpemUpOworCW1lbXNldChhZGV2LT5maXJtd2FyZS5m d19idWZfcHRyLCAwLCBhZGV2LT5maXJtd2FyZS5md19zaXplKTsKIAogCS8qCiAJICogaWYgU01V IGxvYWRlZCBmaXJtd2FyZSwgaXQgbmVlZG4ndCBhZGQgU01DLCBVVkQsIGFuZCBWQ0UKQEAgLTQy MSwxNCArNDIxLDE0IEBAIGludCBhbWRncHVfdWNvZGVfaW5pdF9ibyhzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldikKIAkJdWNvZGUgPSAmYWRldi0+ZmlybXdhcmUudWNvZGVbaV07CiAJCWlmICh1 Y29kZS0+ZncpIHsKIAkJCWhlYWRlciA9IChjb25zdCBzdHJ1Y3QgY29tbW9uX2Zpcm13YXJlX2hl YWRlciAqKXVjb2RlLT5mdy0+ZGF0YTsKLQkJCWFtZGdwdV91Y29kZV9pbml0X3NpbmdsZV9mdyhh ZGV2LCB1Y29kZSwgZndfbWNfYWRkciArIGZ3X29mZnNldCwKLQkJCQkJCSAgICAodm9pZCAqKSgo dWludDhfdCAqKWZ3X2J1Zl9wdHIgKyBmd19vZmZzZXQpKTsKKwkJCWFtZGdwdV91Y29kZV9pbml0 X3NpbmdsZV9mdyhhZGV2LCB1Y29kZSwgYWRldi0+ZmlybXdhcmUuZndfYnVmX21jICsgZndfb2Zm c2V0LAorCQkJCQkJICAgIGFkZXYtPmZpcm13YXJlLmZ3X2J1Zl9wdHIgKyBmd19vZmZzZXQpOwog CQkJaWYgKGkgPT0gQU1ER1BVX1VDT0RFX0lEX0NQX01FQzEgJiYKIAkJCSAgICBhZGV2LT5maXJt d2FyZS5sb2FkX3R5cGUgIT0gQU1ER1BVX0ZXX0xPQURfUFNQKSB7CiAJCQkJY29uc3Qgc3RydWN0 IGdmeF9maXJtd2FyZV9oZWFkZXJfdjFfMCAqY3BfaGRyOwogCQkJCWNwX2hkciA9IChjb25zdCBz dHJ1Y3QgZ2Z4X2Zpcm13YXJlX2hlYWRlcl92MV8wICopdWNvZGUtPmZ3LT5kYXRhOwotCQkJCWFt ZGdwdV91Y29kZV9wYXRjaF9qdCh1Y29kZSwgZndfbWNfYWRkciArIGZ3X29mZnNldCwKLQkJCQkJ CSAgICBmd19idWZfcHRyICsgZndfb2Zmc2V0KTsKKwkJCQlhbWRncHVfdWNvZGVfcGF0Y2hfanQo dWNvZGUsICBhZGV2LT5maXJtd2FyZS5md19idWZfbWMgKyBmd19vZmZzZXQsCisJCQkJCQkgICAg YWRldi0+ZmlybXdhcmUuZndfYnVmX3B0ciArIGZ3X29mZnNldCk7CiAJCQkJZndfb2Zmc2V0ICs9 IEFMSUdOKGxlMzJfdG9fY3B1KGNwX2hkci0+anRfc2l6ZSkgPDwgMiwgUEFHRV9TSVpFKTsKIAkJ CX0KIAkJCWZ3X29mZnNldCArPSBBTElHTih1Y29kZS0+dWNvZGVfc2l6ZSwgUEFHRV9TSVpFKTsK LS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK