From: Dan Carpenter <dan.carpenter@oracle.com>
To: Dominik Paulus <dominik@d-paulus.de>
Cc: Anthony Foiani <anthony.foiani@gmail.com>,
devel@driverdev.osuosl.org, linux-usb@vger.kernel.org,
linux-kernel@i4.cs.fau.de,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
usbip-devel@lists.sourceforge.net,
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, Joe Perches <joe@perches.com>,
Bart Westgeest <bart@elbrys.com>,
Dominik Paulus <dominik.paulus@fau.de>,
Ilija Hadzic <ihadzic@research.bell-labs.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: Thu, 26 Sep 2013 14:48:10 +0300 [thread overview]
Message-ID: <20130926114810.GA6414@mwanda> (raw)
In-Reply-To: <20130926101833.GA8677@d-paulus.de>
On Thu, Sep 26, 2013 at 12:18:34PM +0200, Dominik Paulus wrote:
> > I think a return of zero should mean total = -EBADMSG;. In other words
> > this check should be "if (ret < 0) {" and we hit the next else if.
> > Same below again.
>
> As we are wrapping kernel_recvmsg here, we wanted to leave the semantics
> intact as far as possible. The calling code already checks for the correct
> size.
Hm... Ok. Sometimes zero is interpretted as a connection closed and
sometimes reading less than expected is considered a TCP error.
> No, currently, the caller (usbip_sendmsg() / usbip_recvmsg() are the
> only functions calling usbip_crypt(), which itself is static) ensures
> this.
> Admittedly, this isn't great design. We added a check for packetsize <
> USBIP_AUTHSIZE and an appropiate return here.
>
> > > + if (encrypt)
> > > + ret = crypto_aead_encrypt(req);
> > > + else
> > > + ret = crypto_aead_decrypt(req);
> > > +
> >
> > Good on you for figuring out what crypto_aead_en/decrypt() returns.
> > Where are these functions documented?
> >
> > > + switch (ret) {
> > > + case 0: /* Success */
> > > + break;
> > > + case -EINPROGRESS:
> > > + case -EBUSY:
> > > + wait_for_completion(&result.completion);
> > > + break;
> > > + default:
> > > + aead_request_free(req);
> > > + return ret;
> > > + }
> > > +
>
> They aren't, actually. Documentation/crypto/api-intro.txt refers to the
> regression test module, which uses exactly those return-values in
> crypto/testmgr.c.
Well that sucks.
> We noticed that wait_for_completion might not be the best idea, since it could
> hang indefinitely, testmgr.c uses wait_for_completion_interruptible. Do we
> want 'interruptible' or 'killable' here?
I think you want the interruptible one wait_for_completion_interruptible()
regards,
dan carpenter
next prev parent reply other threads:[~2013-09-26 11:49 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 [this message]
2013-09-23 10:35 ` Dan Carpenter
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=20130926114810.GA6414@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=dominik@d-paulus.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.