|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8.1 26/27] xsplice: Prevent duplicate payloads from being loaded.
>>> Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> 04/14/16 12:03 AM >>>
>--- a/xen/common/xsplice.c
>+++ b/xen/common/xsplice.c
>@@ -517,6 +517,8 @@ static int prepare_payload(struct payload *payload,
>sec = xsplice_elf_sec_by_name(elf, ".note.gnu.build-id");
>if ( sec )
>{
>+ struct payload *data;
And I guess you can guess it: const.
>@@ -528,6 +530,20 @@ static int prepare_payload(struct payload *payload,
>
>if ( !payload->id.len || !payload->id.p )
>return -EINVAL;
>+
>+ /* Make sure it is not a duplicate. */
>+ list_for_each_entry ( data, &payload_list, list )
>+ {
>+ /* No way _this_ payload is on the list. */
>+ ASSERT(data != payload);
>+ if ( data->id.len &&
Checking for zero on a _loaded_ module seems pointless now that you
require build IDs. Independent of that you anyway need
data->id.len != payload->id.len ||
>+ !memcmp(data->id.p, payload->id.p, data->id.len) )
Or else this is possibly accessing out of bounds data.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |