From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel De Graaf Subject: [PATCH 11/17] flask: improve unknown permission handling Date: Mon, 20 Jun 2016 10:04:20 -0400 Message-ID: <1466431466-28055-12-git-send-email-dgdegra@tycho.nsa.gov> References: <1466431466-28055-1-git-send-email-dgdegra@tycho.nsa.gov> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1466431466-28055-1-git-send-email-dgdegra@tycho.nsa.gov> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Daniel De Graaf List-Id: xen-devel@lists.xenproject.org V2hlbiBhbiB1bmtub3duIGRvbWN0bCwgc3lzY3RsLCBvciBvdGhlciBvcGVyYXRpb24gaXMgZW5j b3VudGVyZWQgaW4gdGhlCkZMQVNLIHNlY3VyaXR5IHNlcnZlciwgdXNlIHRoZSBhbGxvd191bmtu b3duIGJpdCBpbiB0aGUgc2VjdXJpdHkgcG9saWN5CnRvIGRlY2lkZSBpZiB0aGUgcGVybWlzc2lv biBzaG91bGQgYmUgYWxsb3dlZCBvciBkZW5pZWQuICBUaGlzIGFsbG93cwpuZXcgb3BlcmF0aW9u cyB0byBiZSB0ZXN0ZWQgd2l0aG91dCBuZWVkaW5nIHRvIGltbWVkaWF0ZWx5IGFkZCBzZWN1cml0 eQpjaGVja3M7IGhvd2V2ZXIsIGl0IGlzIG5vdCBmbGV4aWJsZSBlbm91Z2ggdG8gYXZvaWQgYWRk aW5nIHRoZSBhY3R1YWwKcGVybWlzc2lvbiBjaGVja3MuICBBbiBlcnJvciBtZXNzYWdlIGlzIHBy aW50ZWQgdG8gdGhlIGh5cGVydmlzb3IKY29uc29sZSB3aGVuIHRoaXMgZmFsbGJhY2sgaXMgZW5j b3VudGVyZWQuCgpUaGlzIHBhdGNoIHdpbGwgYWxsb3cgb3BlcmF0aW9ucyB0aGF0IGFyZSBub3Qg aGFuZGxlZCBieSB0aGUgZXhpc3RpbmcKaG9va3Mgb25seSBpZiB0aGUgcG9saWN5IHdhcyBjb21w aWxlZCB3aXRoICJjaGVja3BvbGljeSAtVSBhbGxvdyIuICBJbgpwcmV2aW91cyByZWxlYXNlcywg dGhpcyBiaXQgZGlkIG5vdGhpbmcsIGFuZCB0aGUgZGVmYXVsdCByZW1haW5zIHRvIGRlbnkKdGhl IHVua25vd24gb3BlcmF0aW9ucy4KClNpZ25lZC1vZmYtYnk6IERhbmllbCBEZSBHcmFhZiA8ZGdk ZWdyYUB0eWNoby5uc2EuZ292PgotLS0KIHhlbi94c20vZmxhc2svaG9va3MuYyAgICAgICAgICAg IHwgNDUgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogeGVuL3hzbS9m bGFzay9pbmNsdWRlL3NlY3VyaXR5LmggfCAgMiArKwogeGVuL3hzbS9mbGFzay9zcy9wb2xpY3lk Yi5jICAgICAgfCAgMSArCiB4ZW4veHNtL2ZsYXNrL3NzL3BvbGljeWRiLmggICAgICB8ICA2ICsr KysrKwogeGVuL3hzbS9mbGFzay9zcy9zZXJ2aWNlcy5jICAgICAgfCAgNSArKysrKwogNSBmaWxl cyBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKaW5kZXggYThk NDVlNy4uNTQzNDA2YiAxMDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hl bi94c20vZmxhc2svaG9va3MuYwpAQCAtMTM2LDYgKzEzNiwyNCBAQCBzdGF0aWMgaW50IGdldF9p cnFfc2lkKGludCBpcnEsIHUzMiAqc2lkLCBzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEgKmFkKQogICAg IHJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGF2Y191bmtub3duX3Blcm1pc3Npb24oY29uc3Qg Y2hhciAqbmFtZSwgaW50IGlkKQoreworICAgIGludCByYzsKKworICAgIGlmICggIWZsYXNrX2Vu Zm9yY2luZyB8fCBzZWN1cml0eV9nZXRfYWxsb3dfdW5rbm93bigpICkKKyAgICB7CisgICAgICAg IHByaW50ayhYRU5MT0dfR19XQVJOSU5HICJGTEFTSzogQWxsb3dpbmcgdW5rbm93biAlczogJWQu XG4iLCBuYW1lLCBpZCk7CisgICAgICAgIHJjID0gMDsKKyAgICB9CisgICAgZWxzZQorICAgIHsK KyAgICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUiAiRkxBU0s6IERlbnlpbmcgdW5rbm93biAlczog JWQuXG4iLCBuYW1lLCBpZCk7CisgICAgICAgIHJjID0gLUVQRVJNOworICAgIH0KKworICAgIHJl dHVybiByYzsKK30KKwogc3RhdGljIGludCBmbGFza19kb21haW5fYWxsb2Nfc2VjdXJpdHkoc3Ry dWN0IGRvbWFpbiAqZCkKIHsKICAgICBzdHJ1Y3QgZG9tYWluX3NlY3VyaXR5X3N0cnVjdCAqZHNl YzsKQEAgLTI3MSw3ICsyODksNyBAQCBzdGF0aWMgaW50IGZsYXNrX2V2dGNobl9zZW5kKHN0cnVj dCBkb21haW4gKmQsIHN0cnVjdCBldnRjaG4gKmNobikKICAgICAgICAgcmMgPSAwOwogICAgICAg ICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICByYyA9IC1FUEVSTTsKKyAgICAgICAgcmMg PSBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJldmVudCBjaGFubmVsIHN0YXRlIiwgY2huLT5zdGF0 ZSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHJjOwpAQCAtNDIzLDcgKzQ0MSw3IEBAIHN0YXRpYyBp bnQgZmxhc2tfY29uc29sZV9pbyhzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKQogICAgICAgICBw ZXJtID0gWEVOX19XUklURUNPTlNPTEU7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6Ci0g ICAgICAgIHJldHVybiAtRVBFUk07CisgICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNz aW9uKCJjb25zb2xlX2lvIiwgY21kKTsKICAgICB9CiAKICAgICByZXR1cm4gZG9tYWluX2hhc194 ZW4oZCwgcGVybSk7CkBAIC00NTUsNyArNDczLDcgQEAgc3RhdGljIGludCBmbGFza19wcm9maWxl KHN0cnVjdCBkb21haW4gKmQsIGludCBvcCkKICAgICAgICAgcGVybSA9IFhFTl9fUFJJVlBST0ZJ TEU7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiAtRVBFUk07 CisgICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJ4ZW5vcHJvZiBvcCIsIG9w KTsKICAgICB9CiAKICAgICByZXR1cm4gZG9tYWluX2hhc194ZW4oZCwgcGVybSk7CkBAIC01MjEs OCArNTM5LDcgQEAgc3RhdGljIGludCBmbGFza19kb21jdGxfc2NoZWR1bGVyX29wKHN0cnVjdCBk b21haW4gKmQsIGludCBvcCkKICAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VD Q0xBU1NfRE9NQUlOLCBET01BSU5fX0dFVFNDSEVEVUxFUik7CiAKICAgICBkZWZhdWx0OgotICAg ICAgICBwcmludGsoImZsYXNrX2RvbWN0bF9zY2hlZHVsZXJfb3A6IFVua25vd24gb3AgJWRcbiIs IG9wKTsKLSAgICAgICAgcmV0dXJuIC1FUEVSTTsKKyAgICAgICAgcmV0dXJuIGF2Y191bmtub3du X3Blcm1pc3Npb24oImRvbWN0bF9zY2hlZHVsZXJfb3AiLCBvcCk7CiAgICAgfQogfQogCkBAIC01 MzcsOCArNTU0LDcgQEAgc3RhdGljIGludCBmbGFza19zeXNjdGxfc2NoZWR1bGVyX29wKGludCBv cCkKICAgICAgICAgcmV0dXJuIGRvbWFpbl9oYXNfeGVuKGN1cnJlbnQtPmRvbWFpbiwgWEVOX19H RVRTQ0hFRFVMRVIpOwogCiAgICAgZGVmYXVsdDoKLSAgICAgICAgcHJpbnRrKCJmbGFza19zeXNj dGxfc2NoZWR1bGVyX29wOiBVbmtub3duIG9wICVkXG4iLCBvcCk7Ci0gICAgICAgIHJldHVybiAt RVBFUk07CisgICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJzeXNjdGxfc2No ZWR1bGVyX29wIiwgb3ApOwogICAgIH0KIH0KIApAQCAtNzM1LDggKzc1MSw3IEBAIHN0YXRpYyBp bnQgZmxhc2tfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIGludCBjbWQpCiAgICAgICAgIHJldHVy biBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NMQVNTX0RPTUFJTjIsIERPTUFJTjJfX1NPRlRfUkVT RVQpOwogCiAgICAgZGVmYXVsdDoKLSAgICAgICAgcHJpbnRrKCJmbGFza19kb21jdGw6IFVua25v d24gb3AgJWRcbiIsIGNtZCk7Ci0gICAgICAgIHJldHVybiAtRVBFUk07CisgICAgICAgIHJldHVy biBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJkb21jdGwiLCBjbWQpOwogICAgIH0KIH0KIApAQCAt ODExLDggKzgyNiw3IEBAIHN0YXRpYyBpbnQgZmxhc2tfc3lzY3RsKGludCBjbWQpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU4yX19MSVZFUEFUQ0hfT1AsIE5VTEwpOwog CiAgICAgZGVmYXVsdDoKLSAgICAgICAgcHJpbnRrKCJmbGFza19zeXNjdGw6IFVua25vd24gb3Ag JWRcbiIsIGNtZCk7Ci0gICAgICAgIHJldHVybiAtRVBFUk07CisgICAgICAgIHJldHVybiBhdmNf dW5rbm93bl9wZXJtaXNzaW9uKCJzeXNjdGwiLCBjbWQpOwogICAgIH0KIH0KIApAQCAtMTEyOSw3 ICsxMTQzLDcgQEAgc3RhdGljIGlubGluZSBpbnQgZmxhc2tfcGFnZV9vZmZsaW5lKHVpbnQzMl90 IGNtZCkKICAgICBjYXNlIHN5c2N0bF9xdWVyeV9wYWdlX29mZmxpbmU6CiAgICAgICAgIHJldHVy biBmbGFza19yZXNvdXJjZV91c2VfY29yZSgpOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVy biAtRVBFUk07CisgICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJwYWdlX29m ZmxpbmUiLCBjbWQpOwogICAgIH0KIH0KIApAQCAtMTQwMiw4ICsxNDE2LDcgQEAgc3RhdGljIGlu dCBmbGFza19wbGF0Zm9ybV9vcCh1aW50MzJfdCBvcCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTRUNDTEFTU19YRU4yLCBYRU4yX19HRVRfU1lNQk9MLCBOVUxMKTsKIAogICAgIGRlZmF1 bHQ6Ci0gICAgICAgIHByaW50aygiZmxhc2tfcGxhdGZvcm1fb3A6IFVua25vd24gb3AgJWRcbiIs IG9wKTsKLSAgICAgICAgcmV0dXJuIC1FUEVSTTsKKyAgICAgICAgcmV0dXJuIGF2Y191bmtub3du X3Blcm1pc3Npb24oInBsYXRmb3JtX29wIiwgb3ApOwogICAgIH0KIH0KIApAQCAtMTQzNCw3ICsx NDQ3LDcgQEAgc3RhdGljIGludCBmbGFza19zaGFkb3dfY29udHJvbChzdHJ1Y3QgZG9tYWluICpk LCB1aW50MzJfdCBvcCkKICAgICAgICAgcGVybSA9IFNIQURPV19fTE9HRElSVFk7CiAgICAgICAg IGJyZWFrOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiAtRVBFUk07CisgICAgICAgIHJl dHVybiBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJzaGFkb3dfY29udHJvbCIsIG9wKTsKICAgICB9 CiAKICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19TSEFET1csIHBlcm0p OwpAQCAtMTUzOCw3ICsxNTUxLDcgQEAgc3RhdGljIGludCBmbGFza19hcGljKHN0cnVjdCBkb21h aW4gKmQsIGludCBjbWQpCiAgICAgICAgIHBlcm0gPSBYRU5fX1dSSVRFQVBJQzsKICAgICAgICAg YnJlYWs7CiAgICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIC1FUEVSTTsKKyAgICAgICAgcmV0 dXJuIGF2Y191bmtub3duX3Blcm1pc3Npb24oImFwaWMiLCBjbWQpOwogICAgIH0KIAogICAgIHJl dHVybiBkb21haW5faGFzX3hlbihkLCBwZXJtKTsKZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2sv aW5jbHVkZS9zZWN1cml0eS5oIGIveGVuL3hzbS9mbGFzay9pbmNsdWRlL3NlY3VyaXR5LmgKaW5k ZXggMmIwMDE3Ny4uMWRhMDIwZCAxMDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9pbmNsdWRlL3Nl Y3VyaXR5LmgKKysrIGIveGVuL3hzbS9mbGFzay9pbmNsdWRlL3NlY3VyaXR5LmgKQEAgLTc4LDYg Kzc4LDggQEAgaW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KHUzMiBzaWQsIGNoYXIgKipzY29u dGV4dCwgdTMyICpzY29udGV4dF9sZW4pOwogCiBpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWQo Y2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sIHUzMiAqb3V0X3NpZCk7CiAKK2ludCBz ZWN1cml0eV9nZXRfYWxsb3dfdW5rbm93bih2b2lkKTsKKwogaW50IHNlY3VyaXR5X2lycV9zaWQo aW50IHBpcnEsIHUzMiAqb3V0X3NpZCk7CiAKIGludCBzZWN1cml0eV9pb21lbV9zaWQodW5zaWdu ZWQgbG9uZywgdTMyICpvdXRfc2lkKTsKZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svc3MvcG9s aWN5ZGIuYyBiL3hlbi94c20vZmxhc2svc3MvcG9saWN5ZGIuYwppbmRleCAwMGI1MzkwLi4zYTEy ZDk2IDEwMDY0NAotLS0gYS94ZW4veHNtL2ZsYXNrL3NzL3BvbGljeWRiLmMKKysrIGIveGVuL3hz bS9mbGFzay9zcy9wb2xpY3lkYi5jCkBAIC0xODQzLDYgKzE4NDMsNyBAQCBpbnQgcG9saWN5ZGJf cmVhZChzdHJ1Y3QgcG9saWN5ZGIgKnAsIHZvaWQgKmZwKQogICAgICAgICAgICAgZ290byBiYWQ7 CiAgICAgICAgIH0KICAgICB9CisgICAgcC0+YWxsb3dfdW5rbm93biA9ICEhKGxlMzJfdG9fY3B1 KGJ1ZlsxXSkgJiBBTExPV19VTktOT1dOKTsKIAogICAgIGlmICggcC0+cG9saWN5dmVycyA+PSBQ T0xJQ1lEQl9WRVJTSU9OX1BPTENBUCAmJgogICAgICAgICAgZWJpdG1hcF9yZWFkKCZwLT5wb2xp Y3ljYXBzLCBmcCkgIT0gMCApCmRpZmYgLS1naXQgYS94ZW4veHNtL2ZsYXNrL3NzL3BvbGljeWRi LmggYi94ZW4veHNtL2ZsYXNrL3NzL3BvbGljeWRiLmgKaW5kZXggZjE1OGNlMy4uMjM4YTA0MiAx MDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9zcy9wb2xpY3lkYi5oCisrKyBiL3hlbi94c20vZmxh c2svc3MvcG9saWN5ZGIuaApAQCAtMjQ2LDYgKzI0Niw4IEBAIHN0cnVjdCBwb2xpY3lkYiB7CiAK ICAgICB1bnNpZ25lZCBpbnQgcG9saWN5dmVyczsKIAorICAgIHVuc2lnbmVkIGludCBhbGxvd191 bmtub3duIDogMTsKKwogICAgIHUxNiB0YXJnZXRfdHlwZTsKIH07CiAKQEAgLTI2MSw2ICsyNjMs MTAgQEAgZXh0ZXJuIGludCBwb2xpY3lkYl9yZWFkKHN0cnVjdCBwb2xpY3lkYiAqcCwgdm9pZCAq ZnApOwogCiAjZGVmaW5lIFBPTElDWURCX0NPTkZJR19NTFMgICAgMQogCisvKiB0aGUgY29uZmln IGZsYWdzIHJlbGF0ZWQgdG8gdW5rbm93biBjbGFzc2VzL3Blcm1zIGFyZSBiaXRzIDIgYW5kIDMg Ki8KKyNkZWZpbmUgUkVKRUNUX1VOS05PV04gMHgwMDAwMDAwMgorI2RlZmluZSBBTExPV19VTktO T1dOICAweDAwMDAwMDA0CisKICNkZWZpbmUgT0JKRUNUX1IgIm9iamVjdF9yIgogI2RlZmluZSBP QkpFQ1RfUl9WQUwgMQogCmRpZmYgLS1naXQgYS94ZW4veHNtL2ZsYXNrL3NzL3NlcnZpY2VzLmMg Yi94ZW4veHNtL2ZsYXNrL3NzL3NlcnZpY2VzLmMKaW5kZXggNmEwN2ZjMC4uODZmOTRjOSAxMDA2 NDQKLS0tIGEveGVuL3hzbS9mbGFzay9zcy9zZXJ2aWNlcy5jCisrKyBiL3hlbi94c20vZmxhc2sv c3Mvc2VydmljZXMuYwpAQCAtMTQ2NSw2ICsxNDY1LDExIEBAIGVycjoKIAogfQogCitpbnQgc2Vj dXJpdHlfZ2V0X2FsbG93X3Vua25vd24odm9pZCkKK3sKKyAgICByZXR1cm4gcG9saWN5ZGIuYWxs b3dfdW5rbm93bjsKK30KKwogLyoqCiAgKiBzZWN1cml0eV9pcnFfc2lkIC0gT2J0YWluIHRoZSBT SUQgZm9yIGEgcGh5c2ljYWwgaXJxLgogICogQHBpcnE6IHBoeXNpY2FsIGlycQotLSAKMi43LjQK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=