Patch "media: mc: Fix flags handling when creating pad links" has been added to the 6.8-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    media: mc: Fix flags handling when creating pad links

to the 6.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     media-mc-fix-flags-handling-when-creating-pad-links.patch
and it can be found in the queue-6.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 0d1ec8e8806f2d2fd581e174ef5b1d9f08bcb2fb
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date:   Mon Jan 15 00:24:12 2024 +0200

    media: mc: Fix flags handling when creating pad links
    
    [ Upstream commit 422f7af75d03d50895938d38bc9cb8be759c440f ]
    
    The media_create_pad_link() function doesn't correctly clear reject link
    type flags, nor does it set the DATA_LINK flag. It only works because
    the MEDIA_LNK_FL_DATA_LINK flag's value is 0.
    
    Fix it by returning an error if any link type flag is set. This doesn't
    introduce any regression, as nobody calls the media_create_pad_link()
    function with link type flags (easily checked by grepping for the flag
    in the source code, there are very few hits).
    
    Set the MEDIA_LNK_FL_DATA_LINK explicitly, which is a no-op that the
    compiler will optimize out, but is still useful to make the code more
    explicit and easier to understand.
    
    Cc: stable@xxxxxxxxxxxxxxx # 6.1
    Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
    Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/media/mc/mc-entity.c b/drivers/media/mc/mc-entity.c
index a6f28366106fb..7839e3f68efa4 100644
--- a/drivers/media/mc/mc-entity.c
+++ b/drivers/media/mc/mc-entity.c
@@ -1092,6 +1092,11 @@ media_create_pad_link(struct media_entity *source, u16 source_pad,
 	struct media_link *link;
 	struct media_link *backlink;
 
+	if (flags & MEDIA_LNK_FL_LINK_TYPE)
+		return -EINVAL;
+
+	flags |= MEDIA_LNK_FL_DATA_LINK;
+
 	if (WARN_ON(!source || !sink) ||
 	    WARN_ON(source_pad >= source->num_pads) ||
 	    WARN_ON(sink_pad >= sink->num_pads))
@@ -1107,7 +1112,7 @@ media_create_pad_link(struct media_entity *source, u16 source_pad,
 
 	link->source = &source->pads[source_pad];
 	link->sink = &sink->pads[sink_pad];
-	link->flags = flags & ~MEDIA_LNK_FL_INTERFACE_LINK;
+	link->flags = flags;
 
 	/* Initialize graph object embedded at the new link */
 	media_gobj_create(source->graph_obj.mdev, MEDIA_GRAPH_LINK,




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux