@@ -2918,7 +2918,6 @@ int smb2_open(struct ksmbd_work *work)
29182918 goto err_out ;
29192919 }
29202920
2921- fp -> filename = name ;
29222921 fp -> cdoption = req -> CreateDisposition ;
29232922 fp -> daccess = daccess ;
29242923 fp -> saccess = req -> ShareAccess ;
@@ -3270,14 +3269,13 @@ int smb2_open(struct ksmbd_work *work)
32703269 if (!rsp -> hdr .Status )
32713270 rsp -> hdr .Status = STATUS_UNEXPECTED_IO_ERROR ;
32723271
3273- if (!fp || !fp -> filename )
3274- kfree (name );
32753272 if (fp )
32763273 ksmbd_fd_put (work , fp );
32773274 smb2_set_err_rsp (work );
32783275 ksmbd_debug (SMB , "Error response: %x\n" , rsp -> hdr .Status );
32793276 }
32803277
3278+ kfree (name );
32813279 kfree (lc );
32823280
32833281 return 0 ;
@@ -3895,8 +3893,6 @@ int smb2_query_dir(struct ksmbd_work *work)
38953893 ksmbd_debug (SMB , "Search pattern is %s\n" , srch_ptr );
38963894 }
38973895
3898- ksmbd_debug (SMB , "Directory name is %s\n" , dir_fp -> filename );
3899-
39003896 if (srch_flag & SMB2_REOPEN || srch_flag & SMB2_RESTART_SCANS ) {
39013897 ksmbd_debug (SMB , "Restart directory scan\n" );
39023898 generic_file_llseek (dir_fp -> filp , 0 , SEEK_SET );
@@ -4390,9 +4386,9 @@ static int get_file_all_info(struct ksmbd_work *work,
43904386 return - EACCES ;
43914387 }
43924388
4393- filename = convert_to_nt_pathname (fp -> filename );
4394- if (! filename )
4395- return - ENOMEM ;
4389+ filename = convert_to_nt_pathname (work -> tcon -> share_conf , & fp -> filp -> f_path );
4390+ if (IS_ERR ( filename ) )
4391+ return PTR_ERR ( filename ) ;
43964392
43974393 inode = file_inode (fp -> filp );
43984394 generic_fillattr (file_mnt_user_ns (fp -> filp ), inode , & stat );
@@ -5683,8 +5679,7 @@ static int set_file_allocation_info(struct ksmbd_work *work,
56835679 size = i_size_read (inode );
56845680 rc = ksmbd_vfs_truncate (work , fp , alloc_blks * 512 );
56855681 if (rc ) {
5686- pr_err ("truncate failed! filename : %s, err %d\n" ,
5687- fp -> filename , rc );
5682+ pr_err ("truncate failed!, err %d\n" , rc );
56885683 return rc ;
56895684 }
56905685 if (size < alloc_blks * 512 )
@@ -5714,12 +5709,10 @@ static int set_end_of_file_info(struct ksmbd_work *work, struct ksmbd_file *fp,
57145709 * truncated range.
57155710 */
57165711 if (inode -> i_sb -> s_magic != MSDOS_SUPER_MAGIC ) {
5717- ksmbd_debug (SMB , "filename : %s truncated to newsize %lld\n" ,
5718- fp -> filename , newsize );
5712+ ksmbd_debug (SMB , "truncated to newsize %lld\n" , newsize );
57195713 rc = ksmbd_vfs_truncate (work , fp , newsize );
57205714 if (rc ) {
5721- ksmbd_debug (SMB , "truncate failed! filename : %s err %d\n" ,
5722- fp -> filename , rc );
5715+ ksmbd_debug (SMB , "truncate failed!, err %d\n" , rc );
57235716 if (rc != - EAGAIN )
57245717 rc = - EBADF ;
57255718 return rc ;
0 commit comments