From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out-172.mta1.migadu.com (out-172.mta1.migadu.com [95.215.58.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9D7D3E275C for ; Mon, 4 May 2026 18:06:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777917971; cv=none; b=ci7q7r/CeYwS+4pMvqnKn+NIOAliq9ewuu5oowe5Y9i7A0knnFWmZCum3lUkGsbdy0QASKIdXon/BG+Phc9AXhFfcRlWgb0yV3nRs+skRgPwDIz7v30NIc6+XV+Jd+6EUTtgxhG6geOw5zuvNKUEaRrZXCcj6dZode9hViRcb0Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777917971; c=relaxed/simple; bh=vfphGOsSa63oISWj8WoqW7qwD+05sswRqFcQxRHZUwg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=mrxzDZby64Rmd5vZTNXvYVgmlfYE2deCFTeD1OjjmO32cJp+d8TO/Y9TWqpp2kQae0KvdzvKuEfVqty4M00r0/+GP+y2y9AlmcFIJ8XrZow54HQkmv2HvSZ4Rr3eiI/8lgcU9UnJt04Ko2iFiTd9mTwTmX1bJlIvxz3J4AXdKlc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=C0WpcAR5; arc=none smtp.client-ip=95.215.58.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="C0WpcAR5" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1777917964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=OnGOU0fxNksQtsFuMTvJSx3+i9owqTIYliSJpUpMW/Y=; b=C0WpcAR5jGAxqTiuHtt1DMq8XGDw9vU9HRFWzKJleiQ27uYv+KpZQMTIlkxdBMjAO/5RzL vnf11KHA1PCoDbMuRvtpEBXe5qfLKWjlCXahnuamBoe7Z78vcR6nOzMClztjfX9WvFAJUy g7XvlPcPNaBxaenTU9nV4APuy2yz6AQ= From: Thorsten Blum To: Mike Marshall , Martin Brandenburg Cc: Thorsten Blum , devel@lists.orangefs.org, linux-kernel@vger.kernel.org Subject: [PATCH RESEND] orangefs: use memcpy_and_pad in khandle_to and inode_getxattr Date: Mon, 4 May 2026 20:05:36 +0200 Message-ID: <20260504180534.142246-3-thorsten.blum@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1807; i=thorsten.blum@linux.dev; h=from:subject; bh=vfphGOsSa63oISWj8WoqW7qwD+05sswRqFcQxRHZUwg=; b=owGbwMvMwCUWt7pQ4caZUj3G02pJDJk/7r8r1/zGNWe5zB4+ftXJ6mXV7j27ZLZf2M3nLJNh3 JLCELC5o5SFQYyLQVZMkeXBrB8zfEtrKjeZROyEmcPKBDKEgYtTACbyVYCRYTODeXFj+PSP3x47 bX9++PslUa6Yz8K1/VfO6QWXtF/dPouRoWv3IX7pbw83ib5yctTu+Hied9nGh9Ix2atXb5SWMWI +wggA X-Developer-Key: i=thorsten.blum@linux.dev; a=openpgp; fpr=1D60735E8AEF3BE473B69D84733678FD8DFEEAD4 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT Use memcpy_and_pad() instead of memcpy() followed by memset() to simplify ORANGEFS_khandle_to() and orangefs_inode_getxattr(). Signed-off-by: Thorsten Blum --- fs/orangefs/protocol.h | 5 +---- fs/orangefs/xattr.c | 6 ++---- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/fs/orangefs/protocol.h b/fs/orangefs/protocol.h index d403cf29a99b..bbdbd6a05d0d 100644 --- a/fs/orangefs/protocol.h +++ b/fs/orangefs/protocol.h @@ -50,10 +50,7 @@ static inline int ORANGEFS_khandle_cmp(const struct orangefs_khandle *kh1, static inline void ORANGEFS_khandle_to(const struct orangefs_khandle *kh, void *p, int size) { - - memcpy(p, kh->u, 16); - memset(p + 16, 0, size - 16); - + memcpy_and_pad(p, size, kh->u, 16, 0); } static inline void ORANGEFS_khandle_from(struct orangefs_khandle *kh, diff --git a/fs/orangefs/xattr.c b/fs/orangefs/xattr.c index b6d116302de4..5c061603b29b 100644 --- a/fs/orangefs/xattr.c +++ b/fs/orangefs/xattr.c @@ -140,8 +140,7 @@ ssize_t orangefs_inode_getxattr(struct inode *inode, const char *name, ret = -ERANGE; goto out_unlock; } - memcpy(buffer, cx->val, cx->length); - memset(buffer + cx->length, 0, size - cx->length); + memcpy_and_pad(buffer, size, cx->val, cx->length, 0); ret = cx->length; goto out_unlock; } @@ -209,8 +208,7 @@ ssize_t orangefs_inode_getxattr(struct inode *inode, const char *name, goto out_release_op; } - memcpy(buffer, new_op->downcall.resp.getxattr.val, length); - memset(buffer + length, 0, size - length); + memcpy_and_pad(buffer, size, new_op->downcall.resp.getxattr.val, length, 0); gossip_debug(GOSSIP_XATTR_DEBUG, "orangefs_inode_getxattr: inode %pU " "key %s key_sz %d, val_len %d\n",