* [PATCH RESEND] orangefs: use memcpy_and_pad in khandle_to and inode_getxattr
@ 2026-05-04 18:05 Thorsten Blum
2026-05-05 16:14 ` Mike Marshall
0 siblings, 1 reply; 2+ messages in thread
From: Thorsten Blum @ 2026-05-04 18:05 UTC (permalink / raw)
To: Mike Marshall, Martin Brandenburg; +Cc: Thorsten Blum, devel, linux-kernel
Use memcpy_and_pad() instead of memcpy() followed by memset() to
simplify ORANGEFS_khandle_to() and orangefs_inode_getxattr().
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
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",
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH RESEND] orangefs: use memcpy_and_pad in khandle_to and inode_getxattr
2026-05-04 18:05 [PATCH RESEND] orangefs: use memcpy_and_pad in khandle_to and inode_getxattr Thorsten Blum
@ 2026-05-05 16:14 ` Mike Marshall
0 siblings, 0 replies; 2+ messages in thread
From: Mike Marshall @ 2026-05-05 16:14 UTC (permalink / raw)
To: Thorsten Blum; +Cc: devel, linux-kernel, Mike Marshall
Thanks... looks good... I'll add it to my next
xfstests run...
-Mike
On Mon, May 4, 2026 at 2:06 PM Thorsten Blum <thorsten.blum@linux.dev> wrote:
>
> Use memcpy_and_pad() instead of memcpy() followed by memset() to
> simplify ORANGEFS_khandle_to() and orangefs_inode_getxattr().
>
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
> ---
> 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",
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-05 16:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-04 18:05 [PATCH RESEND] orangefs: use memcpy_and_pad in khandle_to and inode_getxattr Thorsten Blum
2026-05-05 16:14 ` Mike Marshall
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.