lguest example launcher truncates block device file to 0 length on problems
The function should also use ftruncate64() rather than ftruncate() to prevent files over 4GB (not uncommon for a root filesystem) being zeroed. Signed-off-by: Chris Malley <mail@chrismalley.co.uk> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
78bd8fbbcd
commit
f6a592e8ab
|
@ -882,7 +882,7 @@ static u32 handle_block_output(int fd, const struct iovec *iov,
|
||||||
* of the block file (possibly extending it). */
|
* of the block file (possibly extending it). */
|
||||||
if (off + len > device_len) {
|
if (off + len > device_len) {
|
||||||
/* Trim it back to the correct length */
|
/* Trim it back to the correct length */
|
||||||
ftruncate(dev->fd, device_len);
|
ftruncate64(dev->fd, device_len);
|
||||||
/* Die, bad Guest, die. */
|
/* Die, bad Guest, die. */
|
||||||
errx(1, "Write past end %llu+%u", off, len);
|
errx(1, "Write past end %llu+%u", off, len);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue