diff --git a/drivers/crypto/ccp/ccp-crypto-aes.c b/drivers/crypto/ccp/ccp-crypto-aes.c
index f302a5b7473bb629b0cf05d274a434500188d1c9..c0befdb2240b2832f1eb430dc5d779e07571c7c7 100644
--- a/drivers/crypto/ccp/ccp-crypto-aes.c
+++ b/drivers/crypto/ccp/ccp-crypto-aes.c
@@ -341,7 +341,7 @@ static int ccp_register_aes_alg(struct list_head *head,
 
 	/* Copy the defaults and override as necessary */
 	alg = &ccp_alg->alg;
-	memcpy(alg, def->alg_defaults, sizeof(*alg));
+	*alg = *def->alg_defaults;
 	snprintf(alg->cra_name, CRYPTO_MAX_ALG_NAME, "%s", def->name);
 	snprintf(alg->cra_driver_name, CRYPTO_MAX_ALG_NAME, "%s",
 		 def->driver_name);
diff --git a/drivers/crypto/ccp/ccp-crypto-sha.c b/drivers/crypto/ccp/ccp-crypto-sha.c
index 44ff00a09c8a3111c09e54be7cea8522368ab13d..a6ef183f0afc5bfff56c217b5d1ec3f0e27879d1 100644
--- a/drivers/crypto/ccp/ccp-crypto-sha.c
+++ b/drivers/crypto/ccp/ccp-crypto-sha.c
@@ -395,7 +395,7 @@ static int ccp_register_hmac_alg(struct list_head *head,
 		return -ENOMEM;
 
 	/* Copy the base algorithm and only change what's necessary */
-	memcpy(ccp_alg, base_alg, sizeof(*ccp_alg));
+	*ccp_alg = *base_alg;
 	INIT_LIST_HEAD(&ccp_alg->entry);
 
 	strncpy(ccp_alg->child_alg, def->name, CRYPTO_MAX_ALG_NAME);
diff --git a/drivers/crypto/ccp/ccp-dev.c b/drivers/crypto/ccp/ccp-dev.c
index de59df970176ed5e673aaa6fd83cb64cfcb5979d..b2038a7e91e1fc50f0a8b026490557374b749d06 100644
--- a/drivers/crypto/ccp/ccp-dev.c
+++ b/drivers/crypto/ccp/ccp-dev.c
@@ -562,7 +562,7 @@ static int __init ccp_mod_init(void)
 			return -ENODEV;
 		return ccp_pci_init();
 		break;
-	};
+	}
 
 	return -ENODEV;
 }
@@ -575,7 +575,7 @@ static void __exit ccp_mod_exit(void)
 	case 22:
 		ccp_pci_exit();
 		break;
-	};
+	}
 }
 
 module_init(ccp_mod_init);