summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe
diff options
context:
space:
mode:
authorMichael Brown2009-02-17 02:45:12 +0100
committerMichael Brown2009-02-17 02:45:12 +0100
commit14eafc5b8de58c4495087cddfefe89e03ccda70c (patch)
tree9538cfb2b84050d3416b1f100a6e29356cb3a95c /src/include/gpxe
parent[comboot] Allow for tail recursion of COMBOOT images (diff)
downloadipxe-14eafc5b8de58c4495087cddfefe89e03ccda70c.tar.gz
ipxe-14eafc5b8de58c4495087cddfefe89e03ccda70c.tar.xz
ipxe-14eafc5b8de58c4495087cddfefe89e03ccda70c.zip
[comboot] Fix reference counting on replacement images
When chaining COMBOOT images, the old images now get freed correctly.
Diffstat (limited to 'src/include/gpxe')
-rw-r--r--src/include/gpxe/image.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/include/gpxe/image.h b/src/include/gpxe/image.h
index 0163b0824..f8b1482ee 100644
--- a/src/include/gpxe/image.h
+++ b/src/include/gpxe/image.h
@@ -53,7 +53,12 @@ struct image {
* style similar to a Unix exec() call) should return from its
* exec() method with the replacement image set to point to
* the new image. The new image must already be in a suitable
- * state for execution.
+ * state for execution (i.e. loaded).
+ *
+ * If an image unregisters itself as a result of being
+ * executed, it must make sure that its replacement image (if
+ * any) is registered, otherwise the replacement is likely to
+ * be freed before it can be executed.
*/
struct image *replacement;
};