/openbmc/linux/fs/smb/client/ |
H A D | inode.c | 33 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); in cifs_set_ops() local 38 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) { in cifs_set_ops() 39 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) in cifs_set_ops() 43 } else if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_STRICT_IO) { in cifs_set_ops() 44 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) in cifs_set_ops() 48 } else if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) in cifs_set_ops() 55 if (cifs_sb_master_tcon(cifs_sb)->ses->server->max_read < in cifs_set_ops() 155 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); in cifs_fattr_to_inode() local 183 !(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DYNPERM)) in cifs_fattr_to_inode() 232 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_fill_uniqueid() local [all …]
|
H A D | cifsfs.c | 190 struct cifs_sb_info *cifs_sb; in cifs_read_super() local 195 cifs_sb = CIFS_SB(sb); in cifs_read_super() 196 tcon = cifs_sb_master_tcon(cifs_sb); in cifs_read_super() 198 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIXACL) in cifs_read_super() 245 if (cifs_sb->ctx->rsize == 0) in cifs_read_super() 246 cifs_sb->ctx->rsize = in cifs_read_super() 247 tcon->ses->server->ops->negotiate_rsize(tcon, cifs_sb->ctx); in cifs_read_super() 248 if (cifs_sb->ctx->rasize) in cifs_read_super() 249 sb->s_bdi->ra_pages = cifs_sb->ctx->rasize / PAGE_SIZE; in cifs_read_super() 251 sb->s_bdi->ra_pages = 2 * (cifs_sb->ctx->rsize / PAGE_SIZE); in cifs_read_super() [all …]
|
H A D | fs_context.c | 877 #define STEAL_STRING(cifs_sb, ctx, field) \ argument 880 ctx->field = cifs_sb->ctx->field; \ 881 cifs_sb->ctx->field = NULL; \ 884 #define STEAL_STRING_SENSITIVE(cifs_sb, ctx, field) \ argument 887 ctx->field = cifs_sb->ctx->field; \ 888 cifs_sb->ctx->field = NULL; \ 891 int smb3_sync_session_ctx_passwords(struct cifs_sb_info *cifs_sb, struct cifs_ses *ses) in smb3_sync_session_ctx_passwords() argument 894 cifs_sb->ctx->password && in smb3_sync_session_ctx_passwords() 895 strcmp(ses->password, cifs_sb->ctx->password)) { in smb3_sync_session_ctx_passwords() 896 kfree_sensitive(cifs_sb->ctx->password); in smb3_sync_session_ctx_passwords() [all …]
|
H A D | link.c | 161 struct cifs_sb_info *cifs_sb, const char *fromName, in create_mf_symlink() argument 178 cifs_sb, fromName, buf, &bytes_written); in create_mf_symlink() 194 struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr, in check_mf_symlink() argument 213 cifs_sb, path, buf, &bytes_read); in check_mf_symlink() 251 struct cifs_sb_info *cifs_sb, const unsigned char *path, in cifs_query_mf_symlink() argument 264 .cifs_sb = cifs_sb, in cifs_query_mf_symlink() 266 .create_options = cifs_create_options(cifs_sb, CREATE_NOT_DIR), in cifs_query_mf_symlink() 296 struct cifs_sb_info *cifs_sb, const unsigned char *path, in cifs_create_mf_symlink() argument 307 .cifs_sb = cifs_sb, in cifs_create_mf_symlink() 309 .create_options = cifs_create_options(cifs_sb, CREATE_NOT_DIR), in cifs_create_mf_symlink() [all …]
|
H A D | readdir.c | 73 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_prime_dcache() local 74 bool posix = cifs_sb_master_tcon(cifs_sb)->posix_extensions; in cifs_prime_dcache() 124 if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM)) in cifs_prime_dcache() 175 cifs_fill_common_info(struct cifs_fattr *fattr, struct cifs_sb_info *cifs_sb) in cifs_fill_common_info() argument 181 fattr->cf_uid = cifs_sb->ctx->linux_uid; in cifs_fill_common_info() 182 fattr->cf_gid = cifs_sb->ctx->linux_gid; in cifs_fill_common_info() 193 cifs_reparse_point_to_fattr(cifs_sb, fattr, &data)) in cifs_fill_common_info() 197 fattr->cf_mode = S_IFDIR | cifs_sb->ctx->dir_mode; in cifs_fill_common_info() 200 fattr->cf_mode = S_IFREG | cifs_sb->ctx->file_mode; in cifs_fill_common_info() 218 if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) || in cifs_fill_common_info() [all …]
|
H A D | reparse.c | 17 static int detect_directory_symlink_target(struct cifs_sb_info *cifs_sb, 29 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); in smb2_create_reparse_symlink() local 34 char *sym, sep = CIFS_DIR_SEP(cifs_sb); in smb2_create_reparse_symlink() 52 path = cifs_convert_path_to_utf16(sym, cifs_sb); in smb2_create_reparse_symlink() 66 rc = detect_directory_symlink_target(cifs_sb, xid, full_path, symname, &directory); in smb2_create_reparse_symlink() 107 static int detect_directory_symlink_target(struct cifs_sb_info *cifs_sb, in detect_directory_symlink_target() argument 113 char sep = CIFS_DIR_SEP(cifs_sb); in detect_directory_symlink_target() 162 tlink = cifs_sb_tlink(cifs_sb); in detect_directory_symlink_target() 187 oparms = CIFS_OPARMS(cifs_sb, tcon, resolved_path, in detect_directory_symlink_target() 193 oparms.create_options = cifs_create_options(cifs_sb, in detect_directory_symlink_target() [all …]
|
H A D | dir.c | 39 cifs_build_path_to_root(struct smb3_fs_context *ctx, struct cifs_sb_info *cifs_sb, in cifs_build_path_to_root() argument 63 full_path[dfsplen] = CIFS_DIR_SEP(cifs_sb); in cifs_build_path_to_root() 65 convert_delimiter(full_path, CIFS_DIR_SEP(cifs_sb)); in cifs_build_path_to_root() 73 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in build_path_from_dentry() local 74 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in build_path_from_dentry() 87 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in __build_path_from_dentry_optional_prefix() local 88 char dirsep = CIFS_DIR_SEP(cifs_sb); in __build_path_from_dentry_optional_prefix() 99 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH) in __build_path_from_dentry_optional_prefix() 100 pplen = cifs_sb->prepath ? strlen(cifs_sb->prepath) + 1 : 0; in __build_path_from_dentry_optional_prefix() 110 cifs_dbg(FYI, "using cifs_sb prepath <%s>\n", cifs_sb->prepath); in __build_path_from_dentry_optional_prefix() [all …]
|
H A D | smb1ops.c | 517 struct cifs_sb_info *cifs_sb) in cifs_qfs_tcon() argument 525 struct cifs_sb_info *cifs_sb, const char *full_path) in cifs_is_path_accessible() argument 535 0 /* not legacy */, cifs_sb->local_nls, in cifs_is_path_accessible() 536 cifs_remap(cifs_sb)); in cifs_is_path_accessible() 540 cifs_sb->local_nls, cifs_remap(cifs_sb)); in cifs_is_path_accessible() 547 struct cifs_sb_info *cifs_sb, in cifs_query_path_info() argument 558 rc = CIFSSMBQPathInfo(xid, tcon, full_path, &fi, 0 /* not legacy */, cifs_sb->local_nls, in cifs_query_path_info() 559 cifs_remap(cifs_sb)); in cifs_query_path_info() 566 rc = SMBQueryInformation(xid, tcon, full_path, &fi, cifs_sb->local_nls, in cifs_query_path_info() 567 cifs_remap(cifs_sb)); in cifs_query_path_info() [all …]
|
H A D | reparse.h | 30 static inline kuid_t wsl_make_kuid(struct cifs_sb_info *cifs_sb, in wsl_make_kuid() argument 35 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_UID) in wsl_make_kuid() 36 return cifs_sb->ctx->linux_uid; in wsl_make_kuid() 40 static inline kgid_t wsl_make_kgid(struct cifs_sb_info *cifs_sb, in wsl_make_kgid() argument 45 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_GID) in wsl_make_kgid() 46 return cifs_sb->ctx->linux_gid; in wsl_make_kgid() 111 bool cifs_reparse_point_to_fattr(struct cifs_sb_info *cifs_sb, 120 int smb2_parse_reparse_point(struct cifs_sb_info *cifs_sb,
|
H A D | smb2inode.c | 173 struct cifs_sb_info *cifs_sb, const char *full_path, in smb2_compound_op() argument 225 utf16_path = cifs_convert_path_to_utf16(full_path, cifs_sb); in smb2_compound_op() 838 struct cifs_sb_info *cifs_sb, in parse_create_response() argument 852 rc = smb2_parse_symlink_response(cifs_sb, iov, in parse_create_response() 901 struct cifs_sb_info *cifs_sb, in smb2_query_path_info() argument 931 cifs_sb, false, &cfid); in smb2_query_path_info() 958 oparms = CIFS_OPARMS(cifs_sb, tcon, full_path, FILE_READ_ATTRIBUTES, in smb2_query_path_info() 960 rc = smb2_compound_op(xid, tcon, cifs_sb, full_path, in smb2_query_path_info() 973 rc = parse_create_response(data, cifs_sb, full_path, &out_iov[0]); in smb2_query_path_info() 980 rc = parse_create_response(data, cifs_sb, full_path, &out_iov[0]); in smb2_query_path_info() [all …]
|
H A D | connect.c | 2838 struct cifs_sb_info *new = mnt_data->cifs_sb; in compare_mount_options() 2890 struct cifs_sb_info *new = mnt_data->cifs_sb; in match_prepath() 2913 struct cifs_sb_info *cifs_sb; in cifs_match_super() local 2921 cifs_sb = CIFS_SB(sb); in cifs_match_super() 2924 if (CIFS_MOUNT_SHUTDOWN & cifs_sb->mnt_cifs_flags) { in cifs_match_super() 2929 tlink = cifs_get_tlink(cifs_sb_master_tlink(cifs_sb)); in cifs_match_super() 3245 struct cifs_sb_info *cifs_sb, struct smb3_fs_context *ctx) in reset_cifs_unix_caps() argument 3306 if (cifs_sb) in reset_cifs_unix_caps() 3307 cifs_sb->mnt_cifs_flags |= in reset_cifs_unix_caps() 3315 if (cifs_sb) in reset_cifs_unix_caps() [all …]
|
H A D | smb2proto.h | 30 struct cifs_sb_info *cifs_sb); 55 struct cifs_sb_info *cifs_sb, const char *path, 67 struct cifs_sb_info *cifs_sb, 73 struct cifs_sb_info *cifs_sb, 78 struct cifs_sb_info *cifs_sb, bool set_alloc, 85 struct cifs_sb_info *cifs_sb); 88 const char *name, struct cifs_sb_info *cifs_sb); 90 struct cifs_sb_info *cifs_sb, 93 const char *name, struct cifs_sb_info *cifs_sb); 95 const char *name, struct cifs_sb_info *cifs_sb, [all …]
|
H A D | xattr.c | 100 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_xattr_set() local 106 tlink = cifs_sb_tlink(cifs_sb); in cifs_xattr_set() 150 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR) in cifs_xattr_set() 156 cifs_sb->local_nls, cifs_sb); in cifs_xattr_set() 268 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_xattr_get() local 274 tlink = cifs_sb_tlink(cifs_sb); in cifs_xattr_get() 302 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR) in cifs_xattr_get() 307 full_path, name, value, size, cifs_sb); in cifs_xattr_get() 328 pacl = pTcon->ses->server->ops->get_acl(cifs_sb, in cifs_xattr_get() 367 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in cifs_listxattr() local [all …]
|
H A D | cifsproto.h | 78 struct cifs_sb_info *cifs_sb, 202 struct cifs_sb_info *cifs_sb); 226 extern int sid_to_id(struct cifs_sb_info *cifs_sb, struct smb_sid *psid, 228 extern int cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, 262 extern int cifs_setup_cifs_sb(struct cifs_sb_info *cifs_sb); 268 extern int cifs_mount(struct cifs_sb_info *cifs_sb, struct smb3_fs_context *ctx); 338 const char *searchName, struct cifs_sb_info *cifs_sb, 380 struct cifs_sb_info *cifs_sb, 399 struct cifs_sb_info *cifs_sb); 409 struct cifs_sb_info *cifs_sb, bool set_allocation, [all …]
|
H A D | cifsacl.c | 339 sid_to_id(struct cifs_sb_info *cifs_sb, struct smb_sid *psid, in sid_to_id() argument 346 kuid_t fuid = cifs_sb->ctx->linux_uid; in sid_to_id() 347 kgid_t fgid = cifs_sb->ctx->linux_gid; in sid_to_id() 359 if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UID_FROM_ACL) || in sid_to_id() 360 (cifs_sb_master_tcon(cifs_sb)->posix_extensions)) { in sid_to_id() 1201 static int parse_sec_desc(struct cifs_sb_info *cifs_sb, in parse_sec_desc() argument 1230 rc = sid_to_id(cifs_sb, owner_sid_ptr, fattr, SIDOWNER); in parse_sec_desc() 1243 rc = sid_to_id(cifs_sb, group_sid_ptr, fattr, SIDGROUP); in parse_sec_desc() 1396 struct smb_ntsd *get_cifs_acl_by_fid(struct cifs_sb_info *cifs_sb, in get_cifs_acl_by_fid() argument 1403 struct tcon_link *tlink = cifs_sb_tlink(cifs_sb); in get_cifs_acl_by_fid() [all …]
|
H A D | misc.c | 541 cifs_autodisable_serverino(struct cifs_sb_info *cifs_sb) in cifs_autodisable_serverino() argument 543 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) { in cifs_autodisable_serverino() 546 if (cifs_sb->master_tlink) in cifs_autodisable_serverino() 547 tcon = cifs_sb_master_tcon(cifs_sb); in cifs_autodisable_serverino() 549 cifs_sb->mnt_cifs_flags &= ~CIFS_MOUNT_SERVER_INUM; in cifs_autodisable_serverino() 550 cifs_sb->mnt_cifs_serverino_autodisabled = true; in cifs_autodisable_serverino() 648 backup_cred(struct cifs_sb_info *cifs_sb) in backup_cred() argument 650 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_BACKUPUID) { in backup_cred() 651 if (uid_eq(cifs_sb->ctx->backupuid, current_fsuid())) in backup_cred() 654 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_BACKUPGID) { in backup_cred() [all …]
|
H A D | dfs.c | 103 struct cifs_sb_info *cifs_sb = mnt_ctx->cifs_sb; in set_ref_paths() local 107 full_path = smb3_fs_context_fullpath(ctx, CIFS_DIR_SEP(cifs_sb)); in set_ref_paths() 113 ref_path = dfs_get_path(cifs_sb, ctx->UNC); in set_ref_paths() 115 ref_path = dfs_get_path(cifs_sb, full_path); in set_ref_paths() 215 struct cifs_sb_info *cifs_sb = mnt_ctx->cifs_sb; in __dfs_mount_share() local 222 origin_fullpath = dfs_get_path(cifs_sb, ctx->source); in __dfs_mount_share() 353 struct cifs_sb_info *cifs_sb, in tree_connect_dfs_target() argument 390 if (islink && !rc && cifs_sb) in tree_connect_dfs_target() 391 rc = cifs_update_super_prepath(cifs_sb, prefix); in tree_connect_dfs_target() 407 struct cifs_sb_info *cifs_sb = NULL; in cifs_tree_connect() local [all …]
|
H A D | dfs.h | 123 static inline char *dfs_get_path(struct cifs_sb_info *cifs_sb, const char *path) in dfs_get_path() argument 125 return dfs_cache_canonical_path(path, cifs_sb->local_nls, cifs_remap(cifs_sb)); in dfs_get_path() 132 struct cifs_sb_info *cifs_sb = mnt_ctx->cifs_sb; in dfs_get_referral() local 135 return dfs_cache_find(mnt_ctx->xid, rses, cifs_sb->local_nls, in dfs_get_referral() 136 cifs_remap(cifs_sb), path, ref, tl); in dfs_get_referral()
|
H A D | cached_dir.c | 82 path_to_dentry(struct cifs_sb_info *cifs_sb, const char *path) in path_to_dentry() argument 88 sep = CIFS_DIR_SEP(cifs_sb); in path_to_dentry() 89 dentry = dget(cifs_sb->root); in path_to_dentry() 119 static const char *path_no_prefix(struct cifs_sb_info *cifs_sb, in path_no_prefix() argument 127 if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH) && in path_no_prefix() 128 cifs_sb->prepath) { in path_no_prefix() 129 len = strlen(cifs_sb->prepath) + 1; in path_no_prefix() 142 struct cifs_sb_info *cifs_sb, in open_cached_dir() argument 172 if (cifs_sb->root == NULL) in open_cached_dir() 184 utf16_path = cifs_convert_path_to_utf16(path, cifs_sb); in open_cached_dir() [all …]
|
H A D | ioctl.c | 30 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl_query_info() local 31 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in cifs_ioctl_query_info() 50 utf16_path = cifs_convert_path_to_utf16(path + 1, cifs_sb); in cifs_ioctl_query_info() 59 xid, tcon, cifs_sb, utf16_path, in cifs_ioctl_query_info() 341 struct cifs_sb_info *cifs_sb; in cifs_ioctl() local 442 cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl() 443 tlink = cifs_sb_tlink(cifs_sb); in cifs_ioctl() 476 cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl() 477 tlink = cifs_sb_tlink(cifs_sb); in cifs_ioctl() 514 cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl() [all …]
|
H A D | file.c | 285 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_posix_open() local 296 tlink = cifs_sb_tlink(cifs_sb); in cifs_posix_open() 307 poplock, full_path, cifs_sb->local_nls, in cifs_posix_open() 308 cifs_remap(cifs_sb)); in cifs_posix_open() 320 cifs_unix_basic_to_fattr(&fattr, presp_data, cifs_sb); in cifs_posix_open() 341 static int cifs_nt_open(const char *full_path, struct inode *inode, struct cifs_sb_info *cifs_sb, in cifs_nt_open() argument 400 .cifs_sb = cifs_sb, in cifs_nt_open() 402 .create_options = cifs_create_options(cifs_sb, create_options), in cifs_nt_open() 671 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in _cifsFileInfo_put() local 709 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_STRICT_IO) in _cifsFileInfo_put() [all …]
|
H A D | cached_dir.h | 71 struct cifs_sb_info *cifs_sb, 80 struct cifs_sb_info *cifs_sb); 81 extern void close_all_cached_dirs(struct cifs_sb_info *cifs_sb);
|
H A D | cifsglob.h | 367 struct cifs_sb_info *cifs_sb, 376 struct cifs_sb_info *cifs_sb, 382 struct cifs_sb_info *cifs_sb, const char *full_path, u64 *uniqueid, 404 struct cifs_sb_info *cifs_sb); 426 struct cifs_sb_info *cifs_sb); 432 struct cifs_sb_info *cifs_sb); 436 struct cifs_sb_info *cifs_sb, 574 struct cifs_sb_info *cifs_sb, 594 int (*parse_reparse_point)(struct cifs_sb_info *cifs_sb, 659 struct cifs_sb_info *cifs_sb; member [all …]
|
H A D | namespace.c | 122 struct cifs_sb_info *cifs_sb = CIFS_SB(dentry->d_sb); in is_dfs_mount() local 123 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in is_dfs_mount() 135 struct cifs_sb_info *cifs_sb = CIFS_SB(dentry->d_sb); in automount_fullpath() local 136 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in automount_fullpath()
|
H A D | smb2ops.c | 808 struct cifs_sb_info *cifs_sb) in smb3_qfs_tcon() argument 822 .create_options = cifs_create_options(cifs_sb, 0), in smb3_qfs_tcon() 826 rc = open_cached_dir(xid, tcon, "", cifs_sb, false, &cfid); in smb3_qfs_tcon() 853 struct cifs_sb_info *cifs_sb) in smb2_qfs_tcon() argument 866 .create_options = cifs_create_options(cifs_sb, 0), in smb2_qfs_tcon() 884 struct cifs_sb_info *cifs_sb, const char *full_path) in smb2_is_path_accessible() argument 896 rc = open_cached_dir(xid, tcon, full_path, cifs_sb, true, &cfid); in smb2_is_path_accessible() 905 utf16_path = cifs_convert_path_to_utf16(full_path, cifs_sb); in smb2_is_path_accessible() 914 .create_options = cifs_create_options(cifs_sb, 0), in smb2_is_path_accessible() 927 rc2 = cifs_inval_name_dfs_link_error(xid, tcon, cifs_sb, in smb2_is_path_accessible() [all …]
|