From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v10 06/32] ARM: GIC: Add checks for NULL pointer pending_irq's Date: Fri, 26 May 2017 18:35:14 +0100 Message-ID: <20170526173540.10066-7-andre.przywara@arm.com> References: <20170526173540.10066-1-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dEJ9Z-00052W-07 for xen-devel@lists.xenproject.org; Fri, 26 May 2017 17:35:57 +0000 In-Reply-To: <20170526173540.10066-1-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Vijaya Kumar K , Vijay Kilari , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org Rm9yIExQSXMgdGhlIHN0cnVjdCBwZW5kaW5nX2lycSdzIGFyZSBkeW5hbWljYWxseSBhbGxvY2F0 ZWQgYW5kIHRoZQpwb2ludGVycyB3aWxsIGJlIHN0b3JlZCBpbiBhIHJhZGl4IHRyZWUuIFNpbmNl IGFuIExQSSBjYW4gYmUgInVubWFwcGVkIgphdCBhbnkgdGltZSwgdGVhY2ggdGhlIFZHSUMgaG93 IHRvIGRlYWwgd2l0aCBpcnFfdG9fcGVuZGluZygpIHJldHVybmluZwphIE5VTEwgcG9pbnRlci4K V2UganVzdCBkbyBub3RoaW5nIGluIHRoaXMgY2FzZSBvciBjbGVhbiB1cCB0aGUgTFIgaWYgdGhl IHZpcnR1YWwgTFBJCm51bWJlciB3YXMgc3RpbGwgaW4gYW4gTFIuCgpUaG9zZSBhcmUgYWxsIGNh bGwgc2l0ZXMgZm9yIGlycV90b19wZW5kaW5nKCksIGFzIHBlcjoKImdpdCBncmVwIGlycV90b19w ZW5kaW5nIiwgYW5kIHRoZWlyIGV2YWx1YXRpb25zOgooUFJPVEVDVEVEIG1lYW5zOiBhZGRlZCBO VUxMIGNoZWNrIGFuZCBiYWlsaW5nIG91dCkKCiAgICB4ZW4vYXJjaC9hcm0vZ2ljLmM6CmdpY19y b3V0ZV9pcnFfdG9fZ3Vlc3QoKTogb25seSBjYWxsZWQgZm9yIFNQSXMsIGFkZGVkIEFTU0VSVCgp CmdpY19yZW1vdmVfaXJxX2Zyb21fZ3Vlc3QoKTogb25seSBjYWxsZWQgZm9yIFNQSXMsIGFkZGVk IEFTU0VSVCgpCmdpY19yZW1vdmVfZnJvbV9xdWV1ZXMoKTogUFJPVEVDVEVELCBjYWxsZWQgd2l0 aGluIFZDUFUgVkdJQyBsb2NrCmdpY19yYWlzZV9pbmZsaWdodF9pcnEoKTogUFJPVEVDVEVELCBj YWxsZWQgdW5kZXIgVkNQVSBWR0lDIGxvY2sKZ2ljX3JhaXNlX2d1ZXN0X2lycSgpOiBQUk9URUNU RUQsIGNhbGxlZCB1bmRlciBWQ1BVIFZHSUMgbG9jawpnaWNfdXBkYXRlX29uZV9scigpOiBQUk9U RUNURUQsIGNhbGxlZCB1bmRlciBWQ1BVIFZHSUMgbG9jawoKICAgIHhlbi9hcmNoL2FybS92Z2lj LmM6CnZnaWNfbWlncmF0ZV9pcnEoKTogbm90IGNhbGxlZCBmb3IgTFBJcyAodmlydHVhbCBJUlFz KSwgYWRkZWQgQVNTRVJUKCkKYXJjaF9tb3ZlX2lycXMoKTogbm90IGl0ZXJhdGluZyBvdmVyIExQ SXMsIGFkZGVkIEFTU0VSVCgpCnZnaWNfZGlzYWJsZV9pcnFzKCk6IG5vdCBjYWxsZWQgZm9yIExQ SXMsIGFkZGVkIEFTU0VSVCgpCnZnaWNfZW5hYmxlX2lycXMoKTogbm90IGNhbGxlZCBmb3IgTFBJ cywgYWRkZWQgQVNTRVJUKCkKdmdpY192Y3B1X2luamVjdF9pcnEoKTogUFJPVEVDVEVELCBtb3Zl ZCB1bmRlciBWQ1BVIFZHSUMgbG9jawoKICAgIHhlbi9pbmNsdWRlL2FzbS1hcm0vZXZlbnQuaDoK bG9jYWxfZXZlbnRzX25lZWRfZGVsaXZlcnlfbm9tYXNrKCk6IG9ubHkgY2FsbGVkIGZvciBhIFBQ SSwgYWRkZWQgQVNTRVJUKCkKCiAgICB4ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMuaDoKKHByb3Rv dHlwZSkKClNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0u Y29tPgotLS0KIHhlbi9hcmNoL2FybS9naWMuYyAgICAgICAgICB8IDI2ICsrKysrKysrKysrKysr KysrKysrKysrKy0tCiB4ZW4vYXJjaC9hcm0vdmdpYy5jICAgICAgICAgfCAyMSArKysrKysrKysr KysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS1hcm0vZXZlbnQuaCB8ICAzICsrKwogMyBmaWxl cyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL2FybS9naWMuYyBiL3hlbi9hcmNoL2FybS9naWMuYwppbmRleCAzYTYxODRhLi45 NTdkNTE2IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLmMKKysrIGIveGVuL2FyY2gvYXJt L2dpYy5jCkBAIC0xNDgsNiArMTQ4LDcgQEAgaW50IGdpY19yb3V0ZV9pcnFfdG9fZ3Vlc3Qoc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHZpcnEsCiAgICAgLyogQ2FsbGVyIGhhcyBhbHJl YWR5IGNoZWNrZWQgdGhhdCB0aGUgSVJRIGlzIGFuIFNQSSAqLwogICAgIEFTU0VSVCh2aXJxID49 IDMyKTsKICAgICBBU1NFUlQodmlycSA8IHZnaWNfbnVtX2lycXMoZCkpOworICAgIEFTU0VSVCgh aXNfbHBpKHZpcnEpKTsKIAogICAgIHZnaWNfbG9ja19yYW5rKHZfdGFyZ2V0LCByYW5rLCBmbGFn cyk7CiAKQEAgLTE4NCw2ICsxODUsNyBAQCBpbnQgZ2ljX3JlbW92ZV9pcnFfZnJvbV9ndWVzdChz dHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmlycSwKICAgICBBU1NFUlQoc3Bpbl9pc19s b2NrZWQoJmRlc2MtPmxvY2spKTsKICAgICBBU1NFUlQodGVzdF9iaXQoX0lSUV9HVUVTVCwgJmRl c2MtPnN0YXR1cykpOwogICAgIEFTU0VSVChwLT5kZXNjID09IGRlc2MpOworICAgIEFTU0VSVCgh aXNfbHBpKHZpcnEpKTsKIAogICAgIHZnaWNfbG9ja19yYW5rKHZfdGFyZ2V0LCByYW5rLCBmbGFn cyk7CiAKQEAgLTQyMSw2ICs0MjMsMTAgQEAgdm9pZCBnaWNfcmFpc2VfaW5mbGlnaHRfaXJxKHN0 cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgdmlydHVhbF9pcnEpCiB7CiAgICAgc3RydWN0IHBl bmRpbmdfaXJxICpuID0gaXJxX3RvX3BlbmRpbmcodiwgdmlydHVhbF9pcnEpOwogCisgICAgLyog SWYgYW4gTFBJIGhhcyBiZWVuIHJlbW92ZWQgbWVhbndoaWxlLCB0aGVyZSBpcyBub3RoaW5nIGxl ZnQgdG8gcmFpc2UuICovCisgICAgaWYgKCB1bmxpa2VseSghbikgKQorICAgICAgICByZXR1cm47 CisKICAgICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQoJnYtPmFyY2gudmdpYy5sb2NrKSk7CiAKICAg ICBpZiAoIGxpc3RfZW1wdHkoJm4tPmxyX3F1ZXVlKSApCkBAIC00NDAsMjAgKzQ0NiwyNSBAQCB2 b2lkIGdpY19yYWlzZV9ndWVzdF9pcnEoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB2aXJ0 dWFsX2lycSwKIHsKICAgICBpbnQgaTsKICAgICB1bnNpZ25lZCBpbnQgbnJfbHJzID0gZ2ljX2h3 X29wcy0+aW5mby0+bnJfbHJzOworICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqcCA9IGlycV90b19w ZW5kaW5nKHYsIHZpcnR1YWxfaXJxKTsKIAogICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZCgmdi0+ YXJjaC52Z2ljLmxvY2spKTsKIAorICAgIGlmICggdW5saWtlbHkoIXApICkKKyAgICAgICAgLyog QW4gdW5tYXBwZWQgTFBJIGRvZXMgbm90IG5lZWQgdG8gYmUgcmFpc2VkLiAqLworICAgICAgICBy ZXR1cm47CisKICAgICBpZiAoIHYgPT0gY3VycmVudCAmJiBsaXN0X2VtcHR5KCZ2LT5hcmNoLnZn aWMubHJfcGVuZGluZykgKQogICAgIHsKICAgICAgICAgaSA9IGZpbmRfZmlyc3RfemVyb19iaXQo JnRoaXNfY3B1KGxyX21hc2spLCBucl9scnMpOwogICAgICAgICBpZiAoaSA8IG5yX2xycykgewog ICAgICAgICAgICAgc2V0X2JpdChpLCAmdGhpc19jcHUobHJfbWFzaykpOwotICAgICAgICAgICAg Z2ljX3NldF9scihpLCBpcnFfdG9fcGVuZGluZyh2LCB2aXJ0dWFsX2lycSksIEdJQ0hfTFJfUEVO RElORyk7CisgICAgICAgICAgICBnaWNfc2V0X2xyKGksIHAsIEdJQ0hfTFJfUEVORElORyk7CiAg ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBnaWNfYWRkX3RvX2xy X3BlbmRpbmcodiwgaXJxX3RvX3BlbmRpbmcodiwgdmlydHVhbF9pcnEpKTsKKyAgICBnaWNfYWRk X3RvX2xyX3BlbmRpbmcodiwgcCk7CiB9CiAKIHN0YXRpYyB2b2lkIGdpY191cGRhdGVfb25lX2xy KHN0cnVjdCB2Y3B1ICp2LCBpbnQgaSkKQEAgLTQ2OCw2ICs0NzksMTcgQEAgc3RhdGljIHZvaWQg Z2ljX3VwZGF0ZV9vbmVfbHIoc3RydWN0IHZjcHUgKnYsIGludCBpKQogICAgIGdpY19od19vcHMt PnJlYWRfbHIoaSwgJmxyX3ZhbCk7CiAgICAgaXJxID0gbHJfdmFsLnZpcnE7CiAgICAgcCA9IGly cV90b19wZW5kaW5nKHYsIGlycSk7CisgICAgLyogQW4gTFBJIG1pZ2h0IGhhdmUgYmVlbiB1bm1h cHBlZCwgaW4gd2hpY2ggY2FzZSB3ZSBqdXN0IGNsZWFuIHVwIGhlcmUuICovCisgICAgaWYgKCB1 bmxpa2VseSghcCkgKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzX2xwaShpcnEpKTsKKworICAg ICAgICBnaWNfaHdfb3BzLT5jbGVhcl9scihpKTsKKyAgICAgICAgY2xlYXJfYml0KGksICZ0aGlz X2NwdShscl9tYXNrKSk7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmICggbHJf dmFsLnN0YXRlICYgR0lDSF9MUl9BQ1RJVkUgKQogICAgIHsKICAgICAgICAgc2V0X2JpdChHSUNf SVJRX0dVRVNUX0FDVElWRSwgJnAtPnN0YXR1cyk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v dmdpYy5jIGIveGVuL2FyY2gvYXJtL3ZnaWMuYwppbmRleCBiMmFjYzk5Li4xYzBkYTdkIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy5jCisrKyBiL3hlbi9hcmNoL2FybS92Z2ljLmMKQEAg LTIzNiw2ICsyMzYsOSBAQCBib29sIHZnaWNfbWlncmF0ZV9pcnEoc3RydWN0IHZjcHUgKm9sZCwg c3RydWN0IHZjcHUgKm5ldywgdW5zaWduZWQgaW50IGlycSkKICAgICB1bnNpZ25lZCBsb25nIGZs YWdzOwogICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqcDsKIAorICAgIC8qIFRoaXMgd2lsbCBuZXZl ciBiZSBjYWxsZWQgZm9yIGFuIExQSSwgYXMgd2UgZG9uJ3QgbWlncmF0ZSB0aGVtLiAqLworICAg IEFTU0VSVCghaXNfbHBpKGlycSkpOworCiAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJm9sZC0+YXJj aC52Z2ljLmxvY2ssIGZsYWdzKTsKIAogICAgIHAgPSBpcnFfdG9fcGVuZGluZyhvbGQsIGlycSk7 CkBAIC0zMTksNiArMzIyLDkgQEAgdm9pZCB2Z2ljX2Rpc2FibGVfaXJxcyhzdHJ1Y3QgdmNwdSAq diwgdWludDMyX3QgciwgaW50IG4pCiAgICAgaW50IGkgPSAwOwogICAgIHN0cnVjdCB2Y3B1ICp2 X3RhcmdldDsKIAorICAgIC8qIExQSXMgd2lsbCBuZXZlciBiZSBkaXNhYmxlZCB2aWEgdGhpcyBm dW5jdGlvbi4gKi8KKyAgICBBU1NFUlQoIWlzX2xwaSgzMiAqIG4gKyAzMSkpOworCiAgICAgd2hp bGUgKCAoaSA9IGZpbmRfbmV4dF9iaXQoJm1hc2ssIDMyLCBpKSkgPCAzMiApIHsKICAgICAgICAg aXJxID0gaSArICgzMiAqIG4pOwogICAgICAgICB2X3RhcmdldCA9IHZnaWNfZ2V0X3RhcmdldF92 Y3B1KHYsIGlycSk7CkBAIC0zNjYsNiArMzcyLDkgQEAgdm9pZCB2Z2ljX2VuYWJsZV9pcnFzKHN0 cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCByLCBpbnQgbikKICAgICBzdHJ1Y3QgdmNwdSAqdl90YXJn ZXQ7CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKIAorICAgIC8qIExQSXMgd2ls bCBuZXZlciBiZSBlbmFibGVkIHZpYSB0aGlzIGZ1bmN0aW9uLiAqLworICAgIEFTU0VSVCghaXNf bHBpKDMyICogbiArIDMxKSk7CisKICAgICB3aGlsZSAoIChpID0gZmluZF9uZXh0X2JpdCgmbWFz aywgMzIsIGkpKSA8IDMyICkgewogICAgICAgICBpcnEgPSBpICsgKDMyICogbik7CiAgICAgICAg IHZfdGFyZ2V0ID0gdmdpY19nZXRfdGFyZ2V0X3ZjcHUodiwgaXJxKTsKQEAgLTQ0Niw2ICs0NTUs MTIgQEAgYm9vbCB2Z2ljX3RvX3NnaShzdHJ1Y3QgdmNwdSAqdiwgcmVnaXN0ZXJfdCBzZ2lyLCBl bnVtIGdpY19zZ2lfbW9kZSBpcnFtb2RlLAogICAgIHJldHVybiB0cnVlOwogfQogCisvKgorICog UmV0dXJucyB0aGUgcG9pbnRlciB0byB0aGUgc3RydWN0IHBlbmRpbmdfaXJxIGJlbG9uZ2luZyB0 byB0aGUgZ2l2ZW4KKyAqIGludGVycnVwdC4KKyAqIFRoaXMgY2FuIHJldHVybiBOVUxMIGlmIGNh bGxlZCBmb3IgYW4gTFBJIHdoaWNoIGhhcyBiZWVuIHVubWFwcGVkCisgKiBtZWFud2hpbGUuCisg Ki8KIHN0cnVjdCBwZW5kaW5nX2lycSAqaXJxX3RvX3BlbmRpbmcoc3RydWN0IHZjcHUgKnYsIHVu c2lnbmVkIGludCBpcnEpCiB7CiAgICAgc3RydWN0IHBlbmRpbmdfaXJxICpuOwpAQCAtNDg5LDYg KzUwNCwxMiBAQCB2b2lkIHZnaWNfdmNwdV9pbmplY3RfaXJxKHN0cnVjdCB2Y3B1ICp2LCB1bnNp Z25lZCBpbnQgdmlycSkKICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmdi0+YXJjaC52Z2ljLmxvY2ss IGZsYWdzKTsKIAogICAgIG4gPSBpcnFfdG9fcGVuZGluZyh2LCB2aXJxKTsKKyAgICAvKiBJZiBh biBMUEkgaGFzIGJlZW4gcmVtb3ZlZCwgdGhlcmUgaXMgbm90aGluZyB0byBpbmplY3QgaGVyZS4g Ki8KKyAgICBpZiAoIHVubGlrZWx5KCFuKSApCisgICAgeworICAgICAgICBzcGluX3VubG9ja19p cnFyZXN0b3JlKCZ2LT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOworICAgICAgICByZXR1cm47Cisg ICAgfQogCiAgICAgLyogdmNwdSBvZmZsaW5lICovCiAgICAgaWYgKCB0ZXN0X2JpdChfVlBGX2Rv d24sICZ2LT5wYXVzZV9mbGFncykgKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9l dmVudC5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9ldmVudC5oCmluZGV4IDUzMzBkZmUuLmNhZWZh NTAgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZXZlbnQuaAorKysgYi94ZW4vaW5j bHVkZS9hc20tYXJtL2V2ZW50LmgKQEAgLTE5LDYgKzE5LDkgQEAgc3RhdGljIGlubGluZSBpbnQg bG9jYWxfZXZlbnRzX25lZWRfZGVsaXZlcnlfbm9tYXNrKHZvaWQpCiAgICAgc3RydWN0IHBlbmRp bmdfaXJxICpwID0gaXJxX3RvX3BlbmRpbmcoY3VycmVudCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LT5kb21haW4tPmFyY2guZXZ0Y2huX2lycSk7 CiAKKyAgICAvKiBEb2VzIG5vdCB3b3JrIGZvciBMUElzLiAqLworICAgIEFTU0VSVCghaXNfbHBp KGN1cnJlbnQtPmRvbWFpbi0+YXJjaC5ldnRjaG5faXJxKSk7CisKICAgICAvKiBYWFg6IGlmIHRo ZSBmaXJzdCBpbnRlcnJ1cHQgaGFzIGFscmVhZHkgYmVlbiBkZWxpdmVyZWQsIHdlIHNob3VsZAog ICAgICAqIGNoZWNrIHdoZXRoZXIgYW55IG90aGVyIGludGVycnVwdHMgd2l0aCBwcmlvcml0eSBo aWdoZXIgdGhhbiB0aGUKICAgICAgKiBvbmUgaW4gR0lDVl9JQVIgYXJlIGluIHRoZSBscl9wZW5k aW5nIHF1ZXVlIG9yIGluIHRoZSBMUgotLSAKMi45LjAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK