lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 12 Dec 2020 02:58:23 -0700
From:   Andreas Dilger <adilger@...ger.ca>
To:     tytso@....edu
Cc:     linux-ext4@...r.kernel.org, Andreas Dilger <adilger@...mcloud.com>
Subject: [PATCH] misc: replace remaining loff_t with ext2_loff_t

From: Andreas Dilger <adilger@...mcloud.com>

Replace the remaining loff_t uses with ext2_loff_t, as
was done in patch 1df6a4555, since loff_t is a GCC'ism
and is not portable.

Signed-off-by: Andreas Dilger <adilger@...mcloud.com>
---
 contrib/fallocate.c |  4 ++--
 misc/e4defrag.c     | 21 +++++++++++----------
 misc/findsuper.c    |  4 ++--
 3 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/contrib/fallocate.c b/contrib/fallocate.c
index d4273d881d1a..16c08ab37e83 100644
--- a/contrib/fallocate.c
+++ b/contrib/fallocate.c
@@ -95,8 +95,8 @@ int main(int argc, char **argv)
 	int	fd;
 	char	*fname;
 	int	opt;
-	loff_t	length = -2LL;
-	loff_t	offset = 0;
+	ext2_loff_t length = -2LL;
+	ext2_loff_t offset = 0;
 	int	falloc_mode = 0;
 	int	error;
 	int	tflag = 0;
diff --git a/misc/e4defrag.c b/misc/e4defrag.c
index c6c6f134cd4f..47be2e03b8d2 100644
--- a/misc/e4defrag.c
+++ b/misc/e4defrag.c
@@ -362,7 +362,7 @@ static int page_in_core(int fd, struct move_extent defrag_data,
 {
 	long	pagesize;
 	void	*page = NULL;
-	loff_t	offset, end_offset, length;
+	ext2_loff_t offset, end_offset, length;
 
 	if (vec == NULL || *vec != NULL)
 		return -1;
@@ -371,8 +371,8 @@ static int page_in_core(int fd, struct move_extent defrag_data,
 	if (pagesize < 0)
 		return -1;
 	/* In mmap, offset should be a multiple of the page size */
-	offset = (loff_t)defrag_data.orig_start * block_size;
-	length = (loff_t)defrag_data.len * block_size;
+	offset = (ext2_loff_t)defrag_data.orig_start * block_size;
+	length = (ext2_loff_t)defrag_data.len * block_size;
 	end_offset = offset + length;
 	/* Round the offset down to the nearest multiple of pagesize */
 	offset = (offset / pagesize) * pagesize;
@@ -418,18 +418,18 @@ static int defrag_fadvise(int fd, struct move_extent defrag_data,
 			    SYNC_FILE_RANGE_WRITE |
 			    SYNC_FILE_RANGE_WAIT_AFTER;
 	unsigned int	i;
-	loff_t	offset;
+	ext2_loff_t	offset;
 
 	if (pagesize < 1)
 		return -1;
 
-	offset = (loff_t)defrag_data.orig_start * block_size;
+	offset = (ext2_loff_t)defrag_data.orig_start * block_size;
 	offset = (offset / pagesize) * pagesize;
 
 #ifdef HAVE_SYNC_FILE_RANGE
 	/* Sync file for fadvise process */
 	if (sync_file_range(fd, offset,
-		(loff_t)pagesize * page_num, sync_flag) < 0)
+		(ext2_loff_t)pagesize * page_num, sync_flag) < 0)
 		return -1;
 #endif
 
@@ -1286,7 +1286,8 @@ out:
  * @start:		logical offset for defrag target file
  * @file_size:		defrag target filesize
  */
-static void print_progress(const char *file, loff_t start, loff_t file_size)
+static void print_progress(const char *file, ext2_loff_t start,
+			   ext2_loff_t file_size)
 {
 	int percent = (start * 100) / file_size;
 	printf("\033[79;0H\033[K[%u/%u]%s:\t%3d%%",
@@ -1308,7 +1309,7 @@ static void print_progress(const char *file, loff_t start, loff_t file_size)
 static int call_defrag(int fd, int donor_fd, const char *file,
 	const struct stat64 *buf, struct fiemap_extent_list *ext_list_head)
 {
-	loff_t	start = 0;
+	ext2_loff_t	start = 0;
 	unsigned int	page_num;
 	unsigned char	*vec = NULL;
 	int	defraged_ret = 0;
@@ -1561,8 +1562,8 @@ static int file_defrag(const char *file, const struct stat64 *buf,
 	orig_group_tmp = orig_group_head;
 	do {
 		ret = fallocate64(donor_fd, 0,
-		  (loff_t)orig_group_tmp->start->data.logical * block_size,
-		  (loff_t)orig_group_tmp->len * block_size);
+		  (ext2_loff_t)orig_group_tmp->start->data.logical * block_size,
+		  (ext2_loff_t)orig_group_tmp->len * block_size);
 		if (ret < 0) {
 			if (mode_flag & DETAIL) {
 				PRINT_FILE_NAME(file);
diff --git a/misc/findsuper.c b/misc/findsuper.c
index 765295c3b4b6..7e78c1fc819a 100644
--- a/misc/findsuper.c
+++ b/misc/findsuper.c
@@ -115,11 +115,11 @@ static void usage(void)
 int main(int argc, char *argv[])
 {
 	int skiprate=512;		/* one sector */
-	loff_t sk=0, skl=0;
+	ext2_loff_t sk=0, skl=0;
 	int fd;
 	char *s;
 	time_t tm, last = time(0);
-	loff_t interval = 1024 * 1024;
+	ext2_loff_t interval = 1024 * 1024;
 	int c, print_jnl_copies = 0;
 	const char * device_name;
 	struct ext2_super_block ext2;
-- 
2.14.3 (Apple Git-98)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ