linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Anant Thazhemadam <anant.thazhemadam@gmail.com>
Cc: Johan Hovold <johan@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 05/15] usb: misc: emi26: update to use usb_control_msg_send()
Date: Fri, 8 Jan 2021 10:20:31 +0100	[thread overview]
Message-ID: <X/gj3yFkLjuLxTZs@hovoldconsulting.com> (raw)
In-Reply-To: <6806f8e4-c2f7-3c6a-b855-3f87ab8d9e22@gmail.com>

On Thu, Jan 07, 2021 at 07:43:54PM +0530, Anant Thazhemadam wrote:
> On 04/12/20 8:11 pm, Johan Hovold wrote:
> > On Mon, Nov 30, 2020 at 06:58:47AM +0530, Anant Thazhemadam wrote:
> >> The newer usb_control_msg_{send|recv}() API are an improvement on the
> >> existing usb_control_msg() as it ensures that a short read/write is treated
> >> as an error,
> > Short writes have always been treated as an error. The new send helper
> > only changes the return value from the transfer size to 0.
> >
> > And this driver never reads.
> >
> > Try to describe the motivation for changing this driver which is to
> > avoid the explicit kmemdup().

> >>  /* thanks to drivers/usb/serial/keyspan_pda.c code */
> >> @@ -77,11 +67,7 @@ static int emi26_load_firmware (struct usb_device *dev)
> >>  	int err = -ENOMEM;
> >>  	int i;
> >>  	__u32 addr;	/* Address to write */
> >> -	__u8 *buf;
> >> -
> >> -	buf = kmalloc(FW_LOAD_SIZE, GFP_KERNEL);
> >> -	if (!buf)
> >> -		goto wraperr;
> >> +	__u8 buf[FW_LOAD_SIZE];
> > As the build bots reported, you must not put large structures like this
> > on the stack.
> 
> Understood. 
> But I'm considering dropping this change (and the one proposed for
> emi62) altogether in v3 - since these would end up requiring memory to
> dynamically allocated twice for the same purpose.  However, if you
> still think the pros of updating this (and emi62) outweigh the cons,
> please let me know, and I'll make sure to send in another version
> fixing it.

The redundant memdup() is already there for the firmware buffer and
changing to usb_control_msg_send() will only make it slightly harder to
get rid of that, if anyone would bother.

But yeah, it's probably not worth switching usb_control_msg_send() for
these drivers.

Johan

  reply	other threads:[~2021-01-08  9:21 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-30  1:18 [PATCH v2 00/15] drivers: usb: misc: update to use usb_control_msg_{send|recv}() Anant Thazhemadam
2020-11-30  1:23 ` [PATCH v2 01/15] usb: misc: appledisplay: update to use the usb_control_msg_{send|recv}() API Anant Thazhemadam
2020-11-30  1:26 ` [PATCH v2 02/15] usb: misc: cypress_cy7c63: update to use usb_control_msg_recv() Anant Thazhemadam
2020-11-30  1:27 ` [PATCH v2 03/15] usb: misc: cytherm: " Anant Thazhemadam
2020-11-30  1:28 ` [PATCH v2 04/15] usb: misc: ehset: update to use the usb_control_msg_{send|recv}() API Anant Thazhemadam
2020-11-30  1:28 ` [PATCH v2 05/15] usb: misc: emi26: update to use usb_control_msg_send() Anant Thazhemadam
2020-11-30  5:37   ` kernel test robot
2020-12-04 14:41   ` Johan Hovold
2021-01-07 14:13     ` Anant Thazhemadam
2021-01-08  9:20       ` Johan Hovold [this message]
2020-11-30  1:29 ` [PATCH v2 06/15] usb: misc: emi62: " Anant Thazhemadam
2020-11-30  3:54   ` kernel test robot
2020-12-04 14:43   ` Johan Hovold
2020-11-30  1:29 ` [PATCH v2 07/15] usb: misc: ezusb: " Anant Thazhemadam
2020-11-30  1:30 ` [PATCH v2 08/15] usb: misc: idmouse: " Anant Thazhemadam
2020-12-04 14:46   ` Johan Hovold
2021-01-07 14:06     ` Anant Thazhemadam
2020-11-30  1:31 ` [PATCH v2 09/15] usb: misc: iowarrior: update to use the usb_control_msg_{send|recv}() API Anant Thazhemadam
2020-11-30  1:31 ` [PATCH v2 10/15] usb: misc: isight_firmware: update to use usb_control_msg_send() Anant Thazhemadam
2020-11-30  1:32 ` [PATCH v2 11/15] usb: misc: ldusb: " Anant Thazhemadam
2020-11-30  1:32 ` [PATCH v2 12/15] usb: misc: lvstest: update to use the usb_control_msg_{send|recv}() API Anant Thazhemadam
2020-11-30  1:33 ` [PATCH v2 13/15] usb: misc: trancevibrator: update to use usb_control_msg_send() Anant Thazhemadam
2020-11-30  1:33 ` [PATCH v2 14/15] usb: misc: usbsevseg: " Anant Thazhemadam
2020-11-30  1:34 ` [PATCH v2 15/15] usb: misc: usbtest: update to use the usb_control_msg_{send|recv}() API Anant Thazhemadam

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=X/gj3yFkLjuLxTZs@hovoldconsulting.com \
    --to=johan@kernel.org \
    --cc=anant.thazhemadam@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).