[Lguest] [PATCH] lguest example launcher truncates block device file to 0 length on problems

Rusty Russell rusty at rustcorp.com.au
Wed Sep 26 14:19:18 EST 2007


From: Chris Malley <mail at chrismalley.co.uk>

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 at chrismalley.co.uk>
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

diff -r bcbb99849fd9 Documentation/lguest/lguest.c
--- a/Documentation/lguest/lguest.c	Wed Sep 26 12:21:40 2007 +1000
+++ b/Documentation/lguest/lguest.c	Wed Sep 26 14:15:38 2007 +1000
@@ -882,7 +882,7 @@ static u32 handle_block_output(int fd, c
 		 * of the block file (possibly extending it). */
 		if (off + len > device_len) {
 			/* Trim it back to the correct length */
-			ftruncate(dev->fd, device_len);
+			ftruncate64(dev->fd, device_len);
 			/* Die, bad Guest, die. */
 			errx(1, "Write past end %llu+%u", off, len);
 		}





More information about the Lguest mailing list