[kbuild] [dhowells-fs:modsign-pkcs7 2/5] crypto/asymmetric_keys/x509_public_key.c:119 x509_request_asymmetric_key() warn: variable dereferenced before check 'id' (see line 75)
tree: git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs modsign-pkcs7 head: e74cbea099d4753be170c746e93f7a3587c4f02d commit: 7087c095c7ecc4eebcd4acfd36a7752e5339d026 [2/5] X.509: Support X.509 lookup by Issuer+Serial form AuthorityKeyIdentifier crypto/asymmetric_keys/x509_public_key.c:119 x509_request_asymmetric_key() warn: variable dereferenced before check 'id' (see line 75) git remote add dhowells-fs git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs git remote update dhowells-fs git checkout 7087c095c7ecc4eebcd4acfd36a7752e5339d026 vim +/id +119 crypto/asymmetric_keys/x509_public_key.c 7087c095 David Howells 2014-11-20 69struct key *key; 7087c095 David Howells 2014-11-20 70key_ref_t ref; 7087c095 David Howells 2014-11-20 71const char *lookup; 7087c095 David Howells 2014-11-20 72char *req, *p; 7087c095 David Howells 2014-11-20 73int len; 7087c095 David Howells 2014-11-20 74 7087c095 David Howells 2014-11-20 @75lookup = id-data; 7087c095 David Howells 2014-11-20 76len = id-len; 7087c095 David Howells 2014-11-20 77if (!lookup) { 7087c095 David Howells 2014-11-20 78lookup = skid-data; 7087c095 David Howells 2014-11-20 79len = skid-len; 7087c095 David Howells 2014-11-20 80} 3be4beaf Mimi Zohar 2013-08-20 81 46963b77 David Howells 2014-09-16 82/* Construct an identifier id:keyid. */ 7087c095 David Howells 2014-11-20 83p = req = kmalloc(2 + 1 + len * 2 + 1, GFP_KERNEL); 7087c095 David Howells 2014-11-20 84if (!req) 3be4beaf Mimi Zohar 2013-08-20 85return ERR_PTR(-ENOMEM); 3be4beaf Mimi Zohar 2013-08-20 86 f1b731db Dmitry Kasatkin 2014-10-06 87if (partial) { 46963b77 David Howells 2014-09-16 88*p++ = 'i'; 46963b77 David Howells 2014-09-16 89*p++ = 'd'; f1b731db Dmitry Kasatkin 2014-10-06 90} else { f1b731db Dmitry Kasatkin 2014-10-06 91*p++ = 'e'; f1b731db Dmitry Kasatkin 2014-10-06 92*p++ = 'x'; f1b731db Dmitry Kasatkin 2014-10-06 93} 46963b77 David Howells 2014-09-16 94*p++ = ':'; 7087c095 David Howells 2014-11-20 95p = bin2hex(p, lookup, len); 46963b77 David Howells 2014-09-16 96*p = 0; 3be4beaf Mimi Zohar 2013-08-20 97 7087c095 David Howells 2014-11-20 98pr_debug(Look up: \%s\\n, req); 3be4beaf Mimi Zohar 2013-08-20 99 7087c095 David Howells 2014-11-20 100ref = keyring_search(make_key_ref(keyring, 1), 7087c095 David Howells 2014-11-20 101 key_type_asymmetric, req); 7087c095 David Howells 2014-11-20 102if (IS_ERR(ref)) 7087c095 David Howells 2014-11-20 103pr_debug(Request for key '%s' err %ld\n, req, PTR_ERR(ref)); 7087c095 David Howells 2014-11-20 104kfree(req); 3be4beaf Mimi Zohar 2013-08-20 105 7087c095 David Howells 2014-11-20 106if (IS_ERR(ref)) { 7087c095 David Howells 2014-11-20 107switch (PTR_ERR(ref)) { 3be4beaf Mimi Zohar 2013-08-20 108/* Hide some search errors */ 3be4beaf Mimi Zohar 2013-08-20 109case -EACCES: 3be4beaf Mimi Zohar 2013-08-20 110case -ENOTDIR: 3be4beaf Mimi Zohar 2013-08-20 111case -EAGAIN: 3be4beaf Mimi Zohar 2013-08-20 112return ERR_PTR(-ENOKEY); 3be4beaf Mimi Zohar 2013-08-20 113default: 7087c095 David Howells 2014-11-20 114return ERR_CAST(ref); 7087c095 David Howells 2014-11-20 115} 7087c095 David Howells 2014-11-20 116} 7087c095 David Howells 2014-11-20 117 7087c095 David Howells 2014-11-20 118key = key_ref_to_ptr(ref); 7087c095 David Howells 2014-11-20 @119if (id skid) { 7087c095 David Howells 2014-11-20 120const struct asymmetric_key_ids *kids = asymmetric_key_ids(key); 7087c095 David Howells 2014-11-20 121if (!kids-id[1]) { 7087c095 David Howells 2014-11-20 122 pr_debug(issuer+serial match, but expected SKID missing\n); --- 0-DAY kernel test infrastructureOpen Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation ___ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild
[kbuild] [dhowells-fs:modsign-pkcs7 2/5] crypto/asymmetric_keys/x509_public_key.c:119 x509_request_asymmetric_key() warn: variable dereferenced before check 'id' (see line 75)
TO: David Howells dhowe...@redhat.com tree: git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs modsign-pkcs7 head: e74cbea099d4753be170c746e93f7a3587c4f02d commit: 7087c095c7ecc4eebcd4acfd36a7752e5339d026 [2/5] X.509: Support X.509 lookup by Issuer+Serial form AuthorityKeyIdentifier :: branch date: 10 hours ago :: commit date: 10 hours ago crypto/asymmetric_keys/x509_public_key.c:119 x509_request_asymmetric_key() warn: variable dereferenced before check 'id' (see line 75) git remote add dhowells-fs git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs git remote update dhowells-fs git checkout 7087c095c7ecc4eebcd4acfd36a7752e5339d026 vim +/id +119 crypto/asymmetric_keys/x509_public_key.c 7087c095 David Howells 2014-11-20 69struct key *key; 7087c095 David Howells 2014-11-20 70key_ref_t ref; 7087c095 David Howells 2014-11-20 71const char *lookup; 7087c095 David Howells 2014-11-20 72char *req, *p; 7087c095 David Howells 2014-11-20 73int len; 7087c095 David Howells 2014-11-20 74 7087c095 David Howells 2014-11-20 @75lookup = id-data; 7087c095 David Howells 2014-11-20 76len = id-len; 7087c095 David Howells 2014-11-20 77if (!lookup) { 7087c095 David Howells 2014-11-20 78lookup = skid-data; 7087c095 David Howells 2014-11-20 79len = skid-len; 7087c095 David Howells 2014-11-20 80} 3be4beaf Mimi Zohar 2013-08-20 81 46963b77 David Howells 2014-09-16 82/* Construct an identifier id:keyid. */ 7087c095 David Howells 2014-11-20 83p = req = kmalloc(2 + 1 + len * 2 + 1, GFP_KERNEL); 7087c095 David Howells 2014-11-20 84if (!req) 3be4beaf Mimi Zohar 2013-08-20 85return ERR_PTR(-ENOMEM); 3be4beaf Mimi Zohar 2013-08-20 86 f1b731db Dmitry Kasatkin 2014-10-06 87if (partial) { 46963b77 David Howells 2014-09-16 88*p++ = 'i'; 46963b77 David Howells 2014-09-16 89*p++ = 'd'; f1b731db Dmitry Kasatkin 2014-10-06 90} else { f1b731db Dmitry Kasatkin 2014-10-06 91*p++ = 'e'; f1b731db Dmitry Kasatkin 2014-10-06 92*p++ = 'x'; f1b731db Dmitry Kasatkin 2014-10-06 93} 46963b77 David Howells 2014-09-16 94*p++ = ':'; 7087c095 David Howells 2014-11-20 95p = bin2hex(p, lookup, len); 46963b77 David Howells 2014-09-16 96*p = 0; 3be4beaf Mimi Zohar 2013-08-20 97 7087c095 David Howells 2014-11-20 98pr_debug(Look up: \%s\\n, req); 3be4beaf Mimi Zohar 2013-08-20 99 7087c095 David Howells 2014-11-20 100ref = keyring_search(make_key_ref(keyring, 1), 7087c095 David Howells 2014-11-20 101 key_type_asymmetric, req); 7087c095 David Howells 2014-11-20 102if (IS_ERR(ref)) 7087c095 David Howells 2014-11-20 103pr_debug(Request for key '%s' err %ld\n, req, PTR_ERR(ref)); 7087c095 David Howells 2014-11-20 104kfree(req); 3be4beaf Mimi Zohar 2013-08-20 105 7087c095 David Howells 2014-11-20 106if (IS_ERR(ref)) { 7087c095 David Howells 2014-11-20 107switch (PTR_ERR(ref)) { 3be4beaf Mimi Zohar 2013-08-20 108/* Hide some search errors */ 3be4beaf Mimi Zohar 2013-08-20 109case -EACCES: 3be4beaf Mimi Zohar 2013-08-20 110case -ENOTDIR: 3be4beaf Mimi Zohar 2013-08-20 111case -EAGAIN: 3be4beaf Mimi Zohar 2013-08-20 112return ERR_PTR(-ENOKEY); 3be4beaf Mimi Zohar 2013-08-20 113default: 7087c095 David Howells 2014-11-20 114return ERR_CAST(ref); 7087c095 David Howells 2014-11-20 115} 7087c095 David Howells 2014-11-20 116} 7087c095 David Howells 2014-11-20 117 7087c095 David Howells 2014-11-20 118key = key_ref_to_ptr(ref); 7087c095 David Howells 2014-11-20 @119if (id skid) { 7087c095 David Howells 2014-11-20 120const struct asymmetric_key_ids *kids = asymmetric_key_ids(key); 7087c095 David Howells 2014-11-20 121if (!kids-id[1]) { 7087c095 David Howells 2014-11-20 122 pr_debug(issuer+serial match, but expected SKID missing\n); --- 0-DAY kernel test infrastructureOpen Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation ___ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild