[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 12/18] crypto: introduce some common function
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH v3 12/18] crypto: introduce some common functions for af_alg backend |
Date: |
Wed, 26 Apr 2017 13:10:13 +0100 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
On Sat, Apr 22, 2017 at 03:20:21PM +0800, Longpeng(Mike) wrote:
> The AF_ALG socket family is the userspace interface for linux
> crypto API, this patch adds af_alg family support and some common
> functions for af_alg backend. It'll be used by afalg-backend crypto
> latter.
>
> Signed-off-by: Longpeng(Mike) <address@hidden>
> ---
> configure | 21 +++++++++
> crypto/Makefile.objs | 1 +
> crypto/afalg.c | 118
> +++++++++++++++++++++++++++++++++++++++++++++++++++
> crypto/afalgpriv.h | 59 ++++++++++++++++++++++++++
> 4 files changed, 199 insertions(+)
> create mode 100644 crypto/afalg.c
> create mode 100644 crypto/afalgpriv.h
> +static bool
> +qcrypto_afalg_build_saddr(const char *type, const char *name,
> + struct sockaddr_alg *salg, Error **errp)
> +{
> + salg->salg_family = AF_ALG;
> +
> + if (qemu_strnlen(type, SALG_TYPE_LEN_MAX) == SALG_TYPE_LEN_MAX) {
> + error_setg(errp, "Afalg type(%s) is larger than %d bytes",
> + type, SALG_TYPE_LEN_MAX);
> + return false;
> + }
> +
> + if (qemu_strnlen(name, SALG_NAME_LEN_MAX) == SALG_NAME_LEN_MAX) {
> + error_setg(errp, "Afalg name(%s) is larger than %d bytes",
> + name, SALG_NAME_LEN_MAX);
> + return false;
> + }
This is uneccessarily complicated - we can just use
if (strlen(name) >= SALG_NAME_LEN_MAX) {
....
}
> + pstrcpy((char *)salg->salg_type, SALG_TYPE_LEN_MAX, type);
> + pstrcpy((char *)salg->salg_name, SALG_NAME_LEN_MAX, name);
> +
> + return true;
> +}
> +void qcrypto_afalg_comm_free(QCryptoAFAlg *afalg)
> +{
> + if (afalg) {
Rather than indenting the entire method it is preferrable to
invert the condition and return immediately, eg
if (!afalg) {
return;
}
> + if (afalg->msg) {
> + g_free(afalg->msg->msg_control);
> + g_free(afalg->msg);
> + }
> +
> + if (afalg->name) {
> + g_free(afalg->name);
> + }
> +
> + if (afalg->tfmfd != -1) {
> + closesocket(afalg->tfmfd);
> + }
> +
> + if (afalg->opfd != -1) {
> + closesocket(afalg->opfd);
> + }
> +
> + g_free(afalg);
> + }
> +}
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
- [Qemu-devel] [PATCH v3 09/18] crypto: hmac: introduce qcrypto_hmac_ctx_new for nettle-backend, (continued)
- [Qemu-devel] [PATCH v3 09/18] crypto: hmac: introduce qcrypto_hmac_ctx_new for nettle-backend, Longpeng(Mike), 2017/04/22
- [Qemu-devel] [PATCH v3 05/18] crypto: cipher: add cipher driver framework, Longpeng(Mike), 2017/04/22
- [Qemu-devel] [PATCH v3 17/18] tests: crypto: add hash speed benchmark support, Longpeng(Mike), 2017/04/22
- [Qemu-devel] [PATCH v3 15/18] crypto: hmac: add af_alg hmac support, Longpeng(Mike), 2017/04/22
- [Qemu-devel] [PATCH v3 14/18] crypto: hash: add afalg-backend hash support, Longpeng(Mike), 2017/04/22
- [Qemu-devel] [PATCH v3 12/18] crypto: introduce some common functions for af_alg backend, Longpeng(Mike), 2017/04/22
- Re: [Qemu-devel] [PATCH v3 12/18] crypto: introduce some common functions for af_alg backend,
Daniel P. Berrange <=
- [Qemu-devel] [PATCH v3 13/18] crypto: cipher: add afalg-backend cipher support, Longpeng(Mike), 2017/04/22
- [Qemu-devel] [PATCH v3 18/18] tests: crypto: add hmac speed benchmark support, Longpeng(Mike), 2017/04/22
- [Qemu-devel] [PATCH v3 06/18] crypto: hash: add hash driver framework, Longpeng(Mike), 2017/04/22
- [Qemu-devel] [PATCH v3 10/18] crypto: hmac: introduce qcrypto_hmac_ctx_new for glib-backend, Longpeng(Mike), 2017/04/22
- [Qemu-devel] [PATCH v3 16/18] tests: crypto: add cipher speed benchmark support, Longpeng(Mike), 2017/04/22
- [Qemu-devel] [PATCH v3 11/18] crypto: hmac: add hmac driver framework, Longpeng(Mike), 2017/04/22