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 <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Viresh Kumar 2016-06-11 08:01:01 +05:30 коммит произвёл Greg Kroah-Hartman
Родитель 880bc0a4af
Коммит 42830f7f63
1 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -250,6 +250,13 @@ static u32 gb_manifest_parse_cports(struct gb_bundle *bundle)
if (cport_id > CPORT_ID_MAX) if (cport_id > CPORT_ID_MAX)
goto exit; 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 * Found one, move it to our temporary list after checking for
* duplicates. * duplicates.