Lines Matching refs:buf

57 	struct reparse_symlink_data_buffer *buf = NULL;  in create_native_symlink()  local
208 len = sizeof(*buf) + plen + slen; in create_native_symlink()
209 buf = kzalloc(len, GFP_KERNEL); in create_native_symlink()
210 if (!buf) { in create_native_symlink()
215 buf->ReparseTag = cpu_to_le32(IO_REPARSE_TAG_SYMLINK); in create_native_symlink()
216 buf->ReparseDataLength = cpu_to_le16(len - sizeof(struct reparse_data_buffer)); in create_native_symlink()
218 buf->SubstituteNameOffset = cpu_to_le16(plen); in create_native_symlink()
219 buf->SubstituteNameLength = cpu_to_le16(slen); in create_native_symlink()
220 memcpy(&buf->PathBuffer[plen], path, slen); in create_native_symlink()
222 buf->PrintNameOffset = 0; in create_native_symlink()
223 buf->PrintNameLength = cpu_to_le16(plen); in create_native_symlink()
224 memcpy(buf->PathBuffer, path+poff, plen); in create_native_symlink()
226 buf->Flags = cpu_to_le32(*symname != '/' ? SYMLINK_FLAG_RELATIVE : 0); in create_native_symlink()
228 iov.iov_base = buf; in create_native_symlink()
242 kfree(buf); in create_native_symlink()
388 struct reparse_data_buffer buf = { in create_native_socket() local
394 .reparse = { .tag = IO_REPARSE_TAG_AF_UNIX, .buf = &buf, }, in create_native_socket()
397 .iov_base = &buf, in create_native_socket()
398 .iov_len = sizeof(buf), in create_native_socket()
414 static int nfs_set_reparse_buf(struct reparse_nfs_data_buffer *buf, in nfs_set_reparse_buf() argument
423 len = sizeof(*buf); in nfs_set_reparse_buf()
429 ((__le32 *)buf->DataBuffer)[0] = cpu_to_le32(MAJOR(dev)); in nfs_set_reparse_buf()
430 ((__le32 *)buf->DataBuffer)[1] = cpu_to_le32(MINOR(dev)); in nfs_set_reparse_buf()
434 memcpy(buf->DataBuffer, symname_utf16, symname_utf16_len); in nfs_set_reparse_buf()
444 buf->ReparseTag = cpu_to_le32(IO_REPARSE_TAG_NFS); in nfs_set_reparse_buf()
445 buf->Reserved = 0; in nfs_set_reparse_buf()
446 buf->InodeType = cpu_to_le64(type); in nfs_set_reparse_buf()
447 buf->ReparseDataLength = cpu_to_le16(len + dlen - in nfs_set_reparse_buf()
449 iov->iov_base = buf; in nfs_set_reparse_buf()
466 __u8 buf[sizeof(*p) + sizeof(__le64)]; in mknod_nfs() local
485 p = (struct reparse_nfs_data_buffer *)buf; in mknod_nfs()
493 .reparse = { .tag = IO_REPARSE_TAG_NFS, .buf = (struct reparse_data_buffer *)p, }, in mknod_nfs()
513 static int wsl_set_reparse_buf(struct reparse_data_buffer **buf, in wsl_set_reparse_buf() argument
532 *buf = kzalloc(buf_len, GFP_KERNEL); in wsl_set_reparse_buf()
533 if (!*buf) in wsl_set_reparse_buf()
557 *buf = (struct reparse_data_buffer *)symlink_buf; in wsl_set_reparse_buf()
565 (*buf)->ReparseTag = cpu_to_le32(tag); in wsl_set_reparse_buf()
566 (*buf)->Reserved = 0; in wsl_set_reparse_buf()
567 (*buf)->ReparseDataLength = cpu_to_le16(buf_len - sizeof(struct reparse_data_buffer)); in wsl_set_reparse_buf()
568 iov->iov_base = *buf; in wsl_set_reparse_buf()
663 struct reparse_data_buffer *buf; in mknod_wsl() local
670 rc = wsl_set_reparse_buf(&buf, mode, symname, cifs_sb, &reparse_iov); in mknod_wsl()
676 kfree(buf); in mknod_wsl()
682 .reparse = { .tag = le32_to_cpu(buf->ReparseTag), .buf = buf, }, in mknod_wsl()
701 kfree(buf); in mknod_wsl()
725 static int parse_reparse_nfs(struct reparse_nfs_data_buffer *buf, in parse_reparse_nfs() argument
732 len = le16_to_cpu(buf->ReparseDataLength); in parse_reparse_nfs()
733 if (len < sizeof(buf->InodeType)) { in parse_reparse_nfs()
738 len -= sizeof(buf->InodeType); in parse_reparse_nfs()
740 switch ((type = le64_to_cpu(buf->InodeType))) { in parse_reparse_nfs()
750 if (UniStrnlen((wchar_t *)buf->DataBuffer, len/2) != len/2) { in parse_reparse_nfs()
754 data->symlink_target = cifs_strndup_from_utf16(buf->DataBuffer, in parse_reparse_nfs()
786 int smb2_parse_native_symlink(char **target, const char *buf, unsigned int len, in smb2_parse_native_symlink() argument
813 if (UniStrnlen((wchar_t *)buf, len/2) != len/2) { in smb2_parse_native_symlink()
819 smb_target = cifs_strndup_from_utf16(buf, len, true, cifs_sb->local_nls); in smb2_parse_native_symlink()
1010 static int parse_reparse_wsl_symlink(struct reparse_wsl_symlink_data_buffer *buf, in parse_reparse_wsl_symlink() argument
1014 int len = le16_to_cpu(buf->ReparseDataLength); in parse_reparse_wsl_symlink()
1015 int data_offset = offsetof(typeof(*buf), Target) - offsetof(typeof(*buf), Version); in parse_reparse_wsl_symlink()
1026 if (le32_to_cpu(buf->Version) != 2) { in parse_reparse_wsl_symlink()
1027 cifs_dbg(VFS, "srv returned unsupported wsl symlink version %u\n", le32_to_cpu(buf->Version)); in parse_reparse_wsl_symlink()
1037 if (strnlen(buf->Target, symname_utf8_len) != symname_utf8_len) { in parse_reparse_wsl_symlink()
1044 symname_utf16_len = utf8s_to_utf16s(buf->Target, symname_utf8_len, in parse_reparse_wsl_symlink()
1063 int parse_reparse_point(struct reparse_data_buffer *buf, in parse_reparse_point() argument
1068 data->reparse.buf = buf; in parse_reparse_point()
1071 switch (le32_to_cpu(buf->ReparseTag)) { in parse_reparse_point()
1073 return parse_reparse_nfs((struct reparse_nfs_data_buffer *)buf, in parse_reparse_point()
1077 (struct reparse_symlink_data_buffer *)buf, in parse_reparse_point()
1081 (struct reparse_wsl_symlink_data_buffer *)buf, in parse_reparse_point()
1087 if (le16_to_cpu(buf->ReparseDataLength) != 0) { in parse_reparse_point()
1089 le32_to_cpu(buf->ReparseTag)); in parse_reparse_point()
1178 struct reparse_nfs_data_buffer *buf = (struct reparse_nfs_data_buffer *)data->reparse.buf; in posix_reparse_to_fattr() local
1180 if (buf == NULL) in posix_reparse_to_fattr()
1183 if (le16_to_cpu(buf->ReparseDataLength) < sizeof(buf->InodeType)) { in posix_reparse_to_fattr()
1188 switch (le64_to_cpu(buf->InodeType)) { in posix_reparse_to_fattr()
1190 if (le16_to_cpu(buf->ReparseDataLength) != sizeof(buf->InodeType) + 8) { in posix_reparse_to_fattr()
1195 fattr->cf_rdev = reparse_mkdev(buf->DataBuffer); in posix_reparse_to_fattr()
1198 if (le16_to_cpu(buf->ReparseDataLength) != sizeof(buf->InodeType) + 8) { in posix_reparse_to_fattr()
1203 fattr->cf_rdev = reparse_mkdev(buf->DataBuffer); in posix_reparse_to_fattr()