From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out-181.mta1.migadu.com (out-181.mta1.migadu.com [95.215.58.181]) (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 D482830C37A for ; Mon, 6 Apr 2026 18:09:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775498965; cv=none; b=UE/QpOCQfZUymta6mDfNiDFeKy6vnt+KPkrqKXpupHS0ZAPoNNdtFW4ne4jdN0G0YRRgfpdsGdEAxiIz+MeM6JTp0/c17+5j9/Kfhg6b1Pa6pCLmgZiYi6GGzNKVbkO+XZGS1Y4DA/esRKFAAJ+PYoBkvaqPZWDP+jqdUqRLU1k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775498965; c=relaxed/simple; bh=Dw2+28w81tNE+iZsWwK56YFyJijab8NZ7A/DztZmVWc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Aiy1q2dIhh/V67E6qqD4ffNkVrc2m1liJgSQJ4XzL0uxUyxGf9/hfnl7oSQiuLkUTFFocN+WkNAuSATKrc9KRP/USezHTs3yUVMmptlAAWR8/IbWAg75E/FG9+ockTIIwxE15seAQ2WBfGmZuktU/xVPyyyMNWJgQZK5xHyEZfc= 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=eFrJ3TwH; arc=none smtp.client-ip=95.215.58.181 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="eFrJ3TwH" 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=1775498961; 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=WpyYol38HL4aKnhOPAu6R/P3uIWj/XoT0rjeoA+eVyc=; b=eFrJ3TwH9O8J4y0qn07sX7/ig5aUIONxAKIE+20jDP5iPdO2zUnX6Y9+aISX+HXHWi7RTQ 1YB5Jo9K3BJZsqKo6z/Qf5Tiv9bfxHoioauA62w440ATBiqRFVXOtHJS8J6ThmdHBSiv4D +E4LCvPhD9BIDsIeyegSh/Ota+o6Opw= From: Thorsten Blum To: Mike Marshall , Martin Brandenburg Cc: Thorsten Blum , devel@lists.orangefs.org, linux-kernel@vger.kernel.org Subject: [PATCH] orangefs: use memcpy_and_pad in khandle_to and inode_getxattr Date: Mon, 6 Apr 2026 20:08:35 +0200 Message-ID: <20260406180834.1019634-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=Dw2+28w81tNE+iZsWwK56YFyJijab8NZ7A/DztZmVWc=; b=owGbwMvMwCUWt7pQ4caZUj3G02pJDJmXvy2axnt9c8HqXv4vbXc33tMXjDfaK79bRVKkISRvN ycDp4RRRykLgxgXg6yYIsuDWT9m+JbWVG4yidgJM4eVCWQIAxenAExkJRMjw2U/7m+W/3xPT542 s4k3SycwTNDbg/O7yYW9Fb9fCtz2jmT4H6eo9rR0cyJD6dY+RdWE1w57V5wpfaM5/Z5D2rdjB9v 62AE= 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 1b372189cd10..bf13bed0aa58 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; } @@ -205,8 +204,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",