mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
ksmbd: use kasprintf() in ksmbd_vfs_xattr_stream_name()
Simplify the code by using kasprintf(). This also silences a Smatch
warning:
fs/ksmbd/vfs.c:1725 ksmbd_vfs_xattr_stream_name()
warn: inconsistent indenting
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
0f6619aee8
commit
07781de905
|
|
@ -1698,35 +1698,20 @@ ssize_t ksmbd_vfs_casexattr_len(struct user_namespace *user_ns,
|
|||
int ksmbd_vfs_xattr_stream_name(char *stream_name, char **xattr_stream_name,
|
||||
size_t *xattr_stream_name_size, int s_type)
|
||||
{
|
||||
int stream_name_size;
|
||||
char *xattr_stream_name_buf;
|
||||
char *type;
|
||||
int type_len;
|
||||
char *type, *buf;
|
||||
|
||||
if (s_type == DIR_STREAM)
|
||||
type = ":$INDEX_ALLOCATION";
|
||||
else
|
||||
type = ":$DATA";
|
||||
|
||||
type_len = strlen(type);
|
||||
stream_name_size = strlen(stream_name);
|
||||
*xattr_stream_name_size = stream_name_size + XATTR_NAME_STREAM_LEN + 1;
|
||||
xattr_stream_name_buf = kmalloc(*xattr_stream_name_size + type_len,
|
||||
GFP_KERNEL);
|
||||
if (!xattr_stream_name_buf)
|
||||
buf = kasprintf(GFP_KERNEL, "%s%s%s",
|
||||
XATTR_NAME_STREAM, stream_name, type);
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
|
||||
memcpy(xattr_stream_name_buf, XATTR_NAME_STREAM, XATTR_NAME_STREAM_LEN);
|
||||
|
||||
if (stream_name_size) {
|
||||
memcpy(&xattr_stream_name_buf[XATTR_NAME_STREAM_LEN],
|
||||
stream_name, stream_name_size);
|
||||
}
|
||||
memcpy(&xattr_stream_name_buf[*xattr_stream_name_size - 1], type, type_len);
|
||||
*xattr_stream_name_size += type_len;
|
||||
|
||||
xattr_stream_name_buf[*xattr_stream_name_size - 1] = '\0';
|
||||
*xattr_stream_name = xattr_stream_name_buf;
|
||||
*xattr_stream_name = buf;
|
||||
*xattr_stream_name_size = strlen(buf) + 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user