diff -Naur busybox.orig/util-linux/mkswap.c busybox/util-linux/mkswap.c
--- busybox.orig/util-linux/mkswap.c	2008-01-10 08:20:15 +0000
+++ busybox/util-linux/mkswap.c	2008-01-13 01:37:01 +0000
@@ -64,9 +64,10 @@
 	// Figure out how big the device is and announce our intentions.
 
 	fd = xopen(argv[1], O_RDWR);
-	len = fdlength(fd);
+	len = lseek(fd, 0, SEEK_END);
+	lseek(fd, 0, SEEK_SET);
 	pagesize = getpagesize();
-	printf("Setting up swapspace version 1, size = %"OFF_FMT"d bytes\n",
+	printf("Setting up swapspace version 1, size = %"OFF_FMT"u bytes\n",
 			len - pagesize);
 	mkswap_selinux_setcontext(fd, argv[1]);
 
