aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crypto/asymmetric_keys/x509_cert_parser.c9
-rw-r--r--security/smack/smack_lsm.c1
2 files changed, 10 insertions, 0 deletions
diff --git a/crypto/asymmetric_keys/x509_cert_parser.c b/crypto/asymmetric_keys/x509_cert_parser.c
index 7d81e6bb461a..b6cabac4b62b 100644
--- a/crypto/asymmetric_keys/x509_cert_parser.c
+++ b/crypto/asymmetric_keys/x509_cert_parser.c
@@ -249,6 +249,15 @@ int x509_note_signature(void *context, size_t hdrlen,
249 return -EINVAL; 249 return -EINVAL;
250 } 250 }
251 251
252 if (strcmp(ctx->cert->sig->pkey_algo, "rsa") == 0) {
253 /* Discard the BIT STRING metadata */
254 if (vlen < 1 || *(const u8 *)value != 0)
255 return -EBADMSG;
256
257 value++;
258 vlen--;
259 }
260
252 ctx->cert->raw_sig = value; 261 ctx->cert->raw_sig = value;
253 ctx->cert->raw_sig_size = vlen; 262 ctx->cert->raw_sig_size = vlen;
254 return 0; 263 return 0;
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
index 7ad226018f51..19de675d4504 100644
--- a/security/smack/smack_lsm.c
+++ b/security/smack/smack_lsm.c
@@ -2296,6 +2296,7 @@ static void smack_task_to_inode(struct task_struct *p, struct inode *inode)
2296 struct smack_known *skp = smk_of_task_struct(p); 2296 struct smack_known *skp = smk_of_task_struct(p);
2297 2297
2298 isp->smk_inode = skp; 2298 isp->smk_inode = skp;
2299 isp->smk_flags |= SMK_INODE_INSTANT;
2299} 2300}
2300 2301
2301/* 2302/*