Re: [PATCH 3/3] xhci: Free the command allocated for setting LPM if we return early

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 03, 2023 at 10:01:22AM +0200, Mirsad Goran Todorovac wrote:
> On 3.4.2023. 9:57, Mirsad Goran Todorovac wrote:
> > On 3.4.2023. 9:24, Greg KH wrote:
> > > On Mon, Apr 03, 2023 at 09:17:21AM +0200, Mirsad Goran Todorovac wrote:
> > > > Hi, Mathias!
> > > > 
> > > > On 30.3.2023. 16:30, Mathias Nyman wrote:
> > > > > The command allocated to set exit latency LPM values need to be freed in
> > > > > case the command is never queued. This would be the case if there is no
> > > > > change in exit latency values, or device is missing.
> > > > > 
> > > > > Reported-by: Mirsad Goran Todorovac <mirsad.todorovac@xxxxxxxxxxxx>
> > > > > Link: https://lore.kernel.org/linux-usb/24263902-c9b3-ce29-237b-1c3d6918f4fe@xxxxxxxxxxxx
> > > > > Tested-by: Mirsad Goran Todorovac <mirsad.todorovac@xxxxxxxxxxxx>
> > > > > Fixes: 5c2a380a5aa8 ("xhci: Allocate separate command structures for each LPM command")
> > > > > Cc: <Stable@xxxxxxxxxxxxxxx>
> > > > > Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
> > > > > ---
> > > > >    drivers/usb/host/xhci.c | 1 +
> > > > >    1 file changed, 1 insertion(+)
> > > > > 
> > > > > diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> > > > > index bdb6dd819a3b..6307bae9cddf 100644
> > > > > --- a/drivers/usb/host/xhci.c
> > > > > +++ b/drivers/usb/host/xhci.c
> > > > > @@ -4442,6 +4442,7 @@ static int __maybe_unused xhci_change_max_exit_latency(struct xhci_hcd *xhci,
> > > > >        if (!virt_dev || max_exit_latency == virt_dev->current_mel) {
> > > > >            spin_unlock_irqrestore(&xhci->lock, flags);
> > > > > +        xhci_free_command(xhci, command);
> > > > >            return 0;
> > > > >        }
> > > > 
> > > > There seems to be a problem with applying this patch with "git am", as it
> > > > gives the following:
> > > > 
> > > > commit ff9de97baa02cb9362b7cb81e95bc9be424cab89
> > > > Author: @ <@>
> > > > Date:   Mon Apr 3 08:42:33 2023 +0200
> > > > 
> > > >      The command allocated to set exit latency LPM values need to be freed in
> > > >      case the command is never queued. This would be the case if there is no
> > > >      change in exit latency values, or device is missing.
> > > > 
> > > >      Fixes: 5c2a380a5aa8 ("xhci: Allocate separate command structures for each LPM command")
> > > >      Cc: <Stable@xxxxxxxxxxxxxxx>
> > > >      Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
> > > 
> > > This is already commit f6caea485555 ("xhci: Free the command allocated
> > > for setting LPM if we return early") in Linus's tree, do you not see it
> > > there?
> > > 
> > > And how exactly did you save the message to apply it with 'git am'?  It
> > > worked for me.
> > > 
> > > thanks,
> > > 
> > > greg k-h
> > 
> > git am ../mathias-xhci.mail
> > 
> > mtodorov@domac:~/linux/kernel/linux_torvalds$ cat ../mathias-xhci.mail
> > From: Mathias Nyman @ 2023-03-27  9:50 UTC (permalink / raw)
> >    To: mirsad.todorovac, linux-usb, linux-kernel
> >    Cc: gregkh, ubuntu-devel-discuss, stern, arnd, Mathias Nyman, Stable
> > 
> > The command allocated to set exit latency LPM values need to be freed in
> > case the command is never queued. This would be the case if there is no
> > change in exit latency values, or device is missing.
> > 
> > Fixes: 5c2a380a5aa8 ("xhci: Allocate separate command structures for each LPM command")
> > Cc: <Stable@xxxxxxxxxxxxxxx>
> > Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>

That is very odd, your mail program is not getting the full mbox
information here at all.  Try downloading it from lore.kernel.org as a
raw message:
	https://lore.kernel.org/all/20230330143056.1390020-4-mathias.nyman@xxxxxxxxxxxxxxx/raw
and applying that?

> > ---
> >   drivers/usb/host/xhci.c | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> > index bdb6dd819a3b..6307bae9cddf 100644
> > --- a/drivers/usb/host/xhci.c
> > +++ b/drivers/usb/host/xhci.c
> > @@ -4442,6 +4442,7 @@ static int __maybe_unused xhci_change_max_exit_latency(struct xhci_hcd *xhci,
> > 
> >          if (!virt_dev || max_exit_latency == virt_dev->current_mel) {
> >                  spin_unlock_irqrestore(&xhci->lock, flags);
> > +               xhci_free_command(xhci, command);
> >                  return 0;
> >          }
> > 
> > -- 
> > 2.25.1
> > 
> > Sorry, no commit f6caea485555 in the "git pull":
> > 
> > mtodorov@domac:~/linux/kernel/linux_torvalds$ git log --oneline | grep f6caea485555
> > mtodorov@domac:~/linux/kernel/linux_torvalds$ git log --oneline | head -10
> > 10de4cefccf7 memstick: fix memory leak if card device is never registered
> > feeedf59897c platform/x86: think-lmi: Clean up display of current_value on Thinkstation
> > 86cebdbfb8d2 platform/x86: think-lmi: Fix memory leaks when parsing ThinkStation WMI strings
> > ff9de97baa02 The command allocated to set exit latency LPM values need
> > to be freed in case the command is never queued. This would be the case
> > if there is no change in exit latency values, or device is missing.
> > 2ac6d07f1a81 platform/x86: think-lmi: Fix memory leak when showing current settings
> > 7e364e56293b Linux 6.3-rc5
> > 6ab608fe852b Merge tag 'for-6.3-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
> > f95b8ea79c47 Revert "venus: firmware: Correct non-pix start and end addresses"
> > a10ca0950afe Merge tag 'driver-core-6.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
> > 95d0b9d89d78 Merge tag 'powerpc-6.3-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
> > You have mail in /var/mail/mtodorov
> > mtodorov@domac:~/linux/kernel/linux_torvalds$
> > 
> > I don't see it here either. But it is not critical (no security issue).
> > 
> > Have a nice day!
> 
> P.S.
> 
> Correction.
> 
> Yes, I found it here:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f6caea4855553a8b99ba3ec23ecdb5ed8262f26c
> 
> "Notice: this object is not reachable from any branch."
> 
> I see Murphy's law in action :-)

Ah, sorry, no, my fault, it's in my usb.git tree and hasn't been sent to
Linus yet, that will happen later this week.  It is also in the
linux-next tree if you want to look there.

thanks,

greg k-h



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux