From: Samuel Mendoza-Jonas Date: Thu, 1 Sep 2016 04:32:03 +0000 (+1000) Subject: discover/event: Ensure event struct exists for async callers X-Git-Tag: v1.3.0~9 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=a50d5fe279db71cf85fabeb675c99b167ec63dcb;hp=a50d5fe279db71cf85fabeb675c99b167ec63dcb discover/event: Ensure event struct exists for async callers When handling an event, user_event_handle_message() creates an event struct with relevant parameters. Once user_event_handle_message() is finished it frees the struct. However in the case of a dhcp or add_url event, asynchronous jobs may be spawned that will later reference the event struct. In particular this becomes a problem when pxe_process_pair() handles an IPAPPEND name/value pair and tries to access event->device. In the case of dhcp and add_url events, we avoid this by changing the event struct's talloc parent to the discover_context struct which persists until all async pxe jobs have completed. Signed-off-by: Samuel Mendoza-Jonas ---