Commit 885ca801 authored by Sakari Ailus's avatar Sakari Ailus Committed by Mauro Carvalho Chehab

[media] media: Check for active and has_no_links overrun

The active and has_no_links arrays will overrun in
media_entity_pipeline_start() if there's an entity which has more than
MEDIA_ENTITY_MAX_PAD pads. Ensure in media_entity_init() that there are
fewer pads than that.
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 19fab6fe
...@@ -214,12 +214,20 @@ void media_gobj_destroy(struct media_gobj *gobj) ...@@ -214,12 +214,20 @@ void media_gobj_destroy(struct media_gobj *gobj)
gobj->mdev = NULL; gobj->mdev = NULL;
} }
/*
* TODO: Get rid of this.
*/
#define MEDIA_ENTITY_MAX_PADS 512
int media_entity_pads_init(struct media_entity *entity, u16 num_pads, int media_entity_pads_init(struct media_entity *entity, u16 num_pads,
struct media_pad *pads) struct media_pad *pads)
{ {
struct media_device *mdev = entity->graph_obj.mdev; struct media_device *mdev = entity->graph_obj.mdev;
unsigned int i; unsigned int i;
if (num_pads >= MEDIA_ENTITY_MAX_PADS)
return -E2BIG;
entity->num_pads = num_pads; entity->num_pads = num_pads;
entity->pads = pads; entity->pads = pads;
...@@ -280,11 +288,6 @@ static struct media_entity *stack_pop(struct media_graph *graph) ...@@ -280,11 +288,6 @@ static struct media_entity *stack_pop(struct media_graph *graph)
#define link_top(en) ((en)->stack[(en)->top].link) #define link_top(en) ((en)->stack[(en)->top].link)
#define stack_top(en) ((en)->stack[(en)->top].entity) #define stack_top(en) ((en)->stack[(en)->top].entity)
/*
* TODO: Get rid of this.
*/
#define MEDIA_ENTITY_MAX_PADS 512
/** /**
* media_graph_walk_init - Allocate resources for graph walk * media_graph_walk_init - Allocate resources for graph walk
* @graph: Media graph structure that will be used to walk the graph * @graph: Media graph structure that will be used to walk the graph
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment