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 for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 12 Dec 2020 20:48:17 +0800
From:   chenlei0x@...il.com
To:     chenlei0x@...il.com, darrick.wong@...cle.com,
        linux-xfs@...r.kernel.org, linux-kernel@...r.kernel.org
Cc:     Lei Chen <lennychen@...cent.com>
Subject: [PATCH] xfs: clean code for setting bma length in xfs_bmapi_write

From: Lei Chen <lennychen@...cent.com>

xfs_bmapi_write may need alloc blocks when it encounters a hole
or delay extent. When setting bma.length, it does not need comparing
MAXEXTLEN and the length that the caller wants, because
xfs_bmapi_allocate will handle every thing properly for bma.length.

Signed-off-by: Lei Chen <lennychen@...cent.com>
---
 fs/xfs/libxfs/xfs_bmap.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c
index dcf56bc..e1b6ac6 100644
--- a/fs/xfs/libxfs/xfs_bmap.c
+++ b/fs/xfs/libxfs/xfs_bmap.c
@@ -4417,18 +4417,7 @@ struct xfs_iread_state {
 			bma.wasdel = wasdelay;
 			bma.offset = bno;
 			bma.flags = flags;
-
-			/*
-			 * There's a 32/64 bit type mismatch between the
-			 * allocation length request (which can be 64 bits in
-			 * length) and the bma length request, which is
-			 * xfs_extlen_t and therefore 32 bits. Hence we have to
-			 * check for 32-bit overflows and handle them here.
-			 */
-			if (len > (xfs_filblks_t)MAXEXTLEN)
-				bma.length = MAXEXTLEN;
-			else
-				bma.length = len;
+			bma.length = len;
 
 			ASSERT(len > 0);
 			ASSERT(bma.length > 0);
-- 
1.8.3.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ