All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Gabriel <gshahrouzi@gmail.com>
Cc: Ricardo Ribalda <ribalda@chromium.org>,
	hdegoede@redhat.com, mchehab@kernel.org,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	syzbot+701fc9cc0cb44e2b0fe9@syzkaller.appspotmail.com,
	skhan@linuxfoundation.org,
	kernelmentees@lists.linuxfoundation.org
Subject: Re: [PATCH] media: Fix invalid link creation when source entity has 0 pads
Date: Wed, 2 Apr 2025 03:29:48 +0300	[thread overview]
Message-ID: <20250402002948.GC4845@pendragon.ideasonboard.com> (raw)
In-Reply-To: <CAKUZ0zKDy47cQ0ZQo-=1c7wmazbutF=VF3qX09DfZFBz01hh-g@mail.gmail.com>

Hi Gabriel,

On Sat, Mar 29, 2025 at 01:50:00PM -0400, Gabriel wrote:
> Hi Laurent,
> 
> I’ve analyzed the bug report, and the root cause of the
> "WARNING-media_create_pad_link" issue is a mismatch in terminal
> references in the USB descriptor.
> 
> The format type descriptor references terminal ID 6, while the audio
> streaming interface descriptor points to terminal ID 5. This
> discrepancy triggers the warning: "No streaming interface found for
> terminal 6", followed by the media pad link warning.

Can you share the USB descriptors.

> I confirmed this by changing the terminal ID in the format descriptor
> from 6 to 5, which eliminates both warnings. This shows the warning is
> correctly identifying an invalid descriptor configuration, not a
> kernel bug.

There's still something not quite right. uvc_entity->num_pads should
always be equal to the corresponding media_entity->num_pads. That's not
the case here, and I think it indicates a bug.

> Since the USB descriptor is invalid, I believe the warning is
> necessary and should remain. The code should stay as is.

There should be a warning, but I think it needs to be caught in a
different place, earlier.

> On Tue, Mar 25, 2025 at 8:13 PM Laurent Pinchart wrote:
> >
> > On Tue, Mar 25, 2025 at 06:05:00PM -0400, Gabriel wrote:
> > > Hi Ricardo,
> > >
> > > > I cannot reach that URL
> > > I was unable to access the URL from my email client when I initially
> > > sent the email, but a couple of hours later, I was able to. Initially,
> > > copying and pasting the URL into the browser provided a workaround.
> > >
> > > > Shouldn't it be?:
> > > > Fixes: 4ffc2d89f38a ("[media] uvcvideo: Register subdevices for each entity")
> > > You're right, I incorrectly referenced the wrong commit. However, I’m
> > > not certain if it should reference a96aa5342d57 (Fixes: a96aa5342d57 -
> > > '[media] uvcvideo: Ignore entities for terminals with no supported
> > > format') as it's the latest commit affecting the line I'm changing or
> > > the one you mentioned.
> > >
> > > > Shouldn't source->num_pads be the same as remote->num_pads?
> > > The fuzzer (Syzkaller) that triggered the warning appears to have
> > > encountered a case where source->num_pads and remote->num_pads were
> > > different. When analyzing the case in GDB, remote->num_pads was 1,
> > > while source->num_pads was 0.
> >
> > This seems like the real bug that should be fixed.
> >
> > > > Are you sure that your kernel does not contain?
> > > > https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/media/usb/uvc/uvc_entity.c?id=41ddb251c68ac75c101d3a50a68c4629c9055e4c
> > > Yes, it should be included since I am running the upstream kernel.

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2025-04-02  0:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-25  7:55 [PATCH] media: Fix invalid link creation when source entity has 0 pads gshahrouzi
2025-03-25  8:56 ` Ricardo Ribalda
2025-03-25 22:05   ` Gabriel
2025-03-26  0:13     ` Laurent Pinchart
2025-03-29 17:50       ` Gabriel
2025-04-02  0:29         ` Laurent Pinchart [this message]
2025-04-08  5:35           ` Gabriel Shahrouzi
2025-04-09 20:54             ` Laurent Pinchart
2025-04-11  5:05               ` Gabriel Shahrouzi

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=20250402002948.GC4845@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=gshahrouzi@gmail.com \
    --cc=hdegoede@redhat.com \
    --cc=kernelmentees@lists.linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=ribalda@chromium.org \
    --cc=skhan@linuxfoundation.org \
    --cc=syzbot+701fc9cc0cb44e2b0fe9@syzkaller.appspotmail.com \
    /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.