[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)

2014-11-24 Thread Dan Carpenter
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)

2014-11-20 Thread kbuild test robot
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