From: Viresh Kumar Date: Sat, 11 Jun 2016 02:31:01 +0000 (+0530) Subject: greybus: manifest: Disallow reuse of control cport X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=42830f7f63c7db6422467d6c5c4480b2948b63ef;p=linux-beck.git greybus: manifest: Disallow reuse of control cport We should be checking if any of the bundles contains a CPort with its id set to the special value of '0', which is reserved for control CPort. Discard the bundle in that case. Signed-off-by: Viresh Kumar Reviewed-by: Alex Elder Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/manifest.c b/drivers/staging/greybus/manifest.c index 529a984db992..3d1592fc94ea 100644 --- a/drivers/staging/greybus/manifest.c +++ b/drivers/staging/greybus/manifest.c @@ -250,6 +250,13 @@ static u32 gb_manifest_parse_cports(struct gb_bundle *bundle) if (cport_id > CPORT_ID_MAX) goto exit; + /* Nothing else should have its cport_id as control cport id */ + if (cport_id == GB_CONTROL_CPORT_ID) { + dev_err(&bundle->dev, "invalid cport id found (%02u)\n", + cport_id); + goto exit; + } + /* * Found one, move it to our temporary list after checking for * duplicates.