diff options
Diffstat (limited to 'security/integrity/digsig.c')
| -rw-r--r-- | security/integrity/digsig.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/security/integrity/digsig.c b/security/integrity/digsig.c index 0b759e17a13..b4af4ebc5be 100644 --- a/security/integrity/digsig.c +++ b/security/integrity/digsig.c @@ -28,7 +28,7 @@ static const char *keyring_name[INTEGRITY_KEYRING_MAX] = {  };  int integrity_digsig_verify(const unsigned int id, const char *sig, int siglen, -					const char *digest, int digestlen) +			    const char *digest, int digestlen)  {  	if (id >= INTEGRITY_KEYRING_MAX)  		return -EINVAL; @@ -44,9 +44,10 @@ int integrity_digsig_verify(const unsigned int id, const char *sig, int siglen,  		}  	} -	switch (sig[0]) { +	switch (sig[1]) {  	case 1: -		return digsig_verify(keyring[id], sig, siglen, +		/* v1 API expect signature without xattr type */ +		return digsig_verify(keyring[id], sig + 1, siglen - 1,  				     digest, digestlen);  	case 2:  		return asymmetric_verify(keyring[id], sig, siglen,  | 
