All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Dominik Paulus <dominik.paulus@fau.de>
Cc: usbip-devel@lists.sourceforge.net,
	Anthony Foiani <anthony.foiani@gmail.com>,
	devel@driverdev.osuosl.org, linux-kernel@i4.cs.fau.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org,
	Kurt Kanzenbach <ly80toro@cip.cs.fau.de>,
	Tobias Polzer <tobias.polzer@fau.de>,
	Harvey Yang <harvey.huawei.yang@gmail.com>,
	linux-kernel@vger.kernel.org,
	Ilija Hadzic <ihadzic@research.bell-labs.com>,
	Bart Westgeest <bart@elbrys.com>, Joe Perches <joe@perches.com>,
	Jake Champlin <jake.champlin.27@gmail.com>,
	Stefan Reif <ke42caxa@cip.cs.fau.de>,
	Bernard Blackham <b-linuxgit@largestprime.net>
Subject: Re: [PATCH 5/7] staging: usbip: Add encryption support to kernel
Date: Mon, 23 Sep 2013 13:35:04 +0300	[thread overview]
Message-ID: <20130923103504.GG6192@mwanda> (raw)
In-Reply-To: <1379599919-24763-6-git-send-email-dominik.paulus@fau.de>

On Thu, Sep 19, 2013 at 04:11:57PM +0200, Dominik Paulus wrote:
> +int usbip_init_crypto(struct usbip_device *ud, unsigned char *sendkey, unsigned
> +		char *recvkey)
> +{
> +	int ret;
> +
> +	ud->use_crypto = 1;
> +
> +	ud->tfm_recv = crypto_alloc_aead("gcm(aes)", 0, 0);
> +	if (IS_ERR(ud->tfm_recv))
> +		return -PTR_ERR(ud->tfm_recv);
> +	ud->tfm_send = crypto_alloc_aead("gcm(aes)", 0, 0);
> +	if (IS_ERR(ud->tfm_send)) {
> +		crypto_free_aead(ud->tfm_recv);
> +		return -PTR_ERR(ud->tfm_send);
> +	}
> +	ret = kfifo_alloc(&ud->recv_queue, RECVQ_SIZE, GFP_KERNEL);
> +	if (ret) {
> +		crypto_free_aead(ud->tfm_recv);
> +		crypto_free_aead(ud->tfm_send);
> +		return ret;
> +	}
> +
> +	if (crypto_aead_setkey(ud->tfm_send, sendkey, USBIP_KEYSIZE) != 0 ||
> +			crypto_aead_setkey(ud->tfm_recv, recvkey,
> +				USBIP_KEYSIZE) != 0 ||
> +			crypto_aead_setauthsize(ud->tfm_send,
> +				USBIP_AUTHSIZE) != 0 ||
> +			crypto_aead_setauthsize(ud->tfm_recv,
> +				USBIP_AUTHSIZE)) {
> +		crypto_free_aead(ud->tfm_recv);
> +		crypto_free_aead(ud->tfm_send);
> +		kfifo_free(&ud->recv_queue);
> +	}

This returns success on error instead of failure.

The indenting is messed up.  There are three places which check " != 0"
and doesn't.  Please leave off the "!= 0" throughout the whole patch.
It should look like:

	if (crypto_aead_setkey(ud->tfm_send, sendkey, USBIP_KEYSIZE) ||
	    crypto_aead_setkey(ud->tfm_recv, recvkey, USBIP_KEYSIZE) ||
	    crypto_aead_setauthsize(ud->tfm_send, USBIP_AUTHSIZE) ||
	    crypto_aead_setauthsize(ud->tfm_recv, USBIP_AUTHSIZE)) {
	    	ret = -EINVAL;
		goto err_free_fifo;
	}

Notice how the label name is chosen based on the label location and not
the goto location.

The end of the function should look like:

	return 0;

err_free_fifo:
	kfifo_free(&ud->recv_queue);
err_free_send:
	crypto_free_aead(ud->tfm_send);
err_free_recv:
	crypto_free_aead(ud->tfm_recv);

	return ret;

regards,
dan carpenter


  parent reply	other threads:[~2013-09-23 10:36 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-19 14:11 [PATCH 0/7] staging: usbip: Extend crypto support Dominik Paulus
2013-09-19 14:11 ` [PATCH 1/7] staging: usbip: TLS for all userspace communication Dominik Paulus
2013-09-19 14:11 ` [PATCH 2/7] staging: usbip: Exchange session keys in userspace Dominik Paulus
2013-09-19 14:11 ` [PATCH 3/7] staging: usbip: Pass session keys to the kernel Dominik Paulus
2013-09-19 14:11 ` [PATCH 4/7] staging: usbip: Wrap kernel_sendmsg()/recvmsg() Dominik Paulus
2013-09-19 14:11 ` [PATCH 5/7] staging: usbip: Add encryption support to kernel Dominik Paulus
2013-09-23  9:59   ` Dan Carpenter
2013-09-26 10:18     ` Dominik Paulus
2013-09-26 11:48       ` Dan Carpenter
2013-09-23 10:35   ` Dan Carpenter [this message]
2013-09-23 10:58   ` Dan Carpenter
2013-09-19 14:11 ` [PATCH 6/7] staging: usbip: Update documentation Dominik Paulus
2013-09-19 14:11 ` [PATCH 7/7] staging: usbip: Increment version number to 1.2.1 Dominik Paulus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130923103504.GG6192@mwanda \
    --to=dan.carpenter@oracle.com \
    --cc=anthony.foiani@gmail.com \
    --cc=b-linuxgit@largestprime.net \
    --cc=bart@elbrys.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=dominik.paulus@fau.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=harvey.huawei.yang@gmail.com \
    --cc=ihadzic@research.bell-labs.com \
    --cc=jake.champlin.27@gmail.com \
    --cc=joe@perches.com \
    --cc=ke42caxa@cip.cs.fau.de \
    --cc=linux-kernel@i4.cs.fau.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=ly80toro@cip.cs.fau.de \
    --cc=tobias.polzer@fau.de \
    --cc=usbip-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.