diff options
| author | Michael Brown | 2009-02-17 02:45:12 +0100 |
|---|---|---|
| committer | Michael Brown | 2009-02-17 02:45:12 +0100 |
| commit | 14eafc5b8de58c4495087cddfefe89e03ccda70c (patch) | |
| tree | 9538cfb2b84050d3416b1f100a6e29356cb3a95c /src/include/gpxe | |
| parent | [comboot] Allow for tail recursion of COMBOOT images (diff) | |
| download | ipxe-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.h | 7 |
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; }; |
