@@ -3958,11 +3958,12 @@ CIFSFindFirst(const unsigned int xid, struct cifs_tcon *tcon,
3958
3958
TRANSACTION2_FFIRST_REQ * pSMB = NULL ;
3959
3959
TRANSACTION2_FFIRST_RSP * pSMBr = NULL ;
3960
3960
T2_FFIRST_RSP_PARMS * parms ;
3961
- int rc = 0 ;
3961
+ struct nls_table * nls_codepage ;
3962
+ unsigned int lnoff ;
3963
+ __u16 params , byte_count ;
3962
3964
int bytes_returned = 0 ;
3963
3965
int name_len , remap ;
3964
- __u16 params , byte_count ;
3965
- struct nls_table * nls_codepage ;
3966
+ int rc = 0 ;
3966
3967
3967
3968
cifs_dbg (FYI , "In FindFirst for %s\n" , searchName );
3968
3969
@@ -4043,63 +4044,52 @@ CIFSFindFirst(const unsigned int xid, struct cifs_tcon *tcon,
4043
4044
(struct smb_hdr * ) pSMBr , & bytes_returned , 0 );
4044
4045
cifs_stats_inc (& tcon -> stats .cifs_stats .num_ffirst );
4045
4046
4046
- if (rc ) {/* BB add logic to retry regular search if Unix search
4047
- rejected unexpectedly by server */
4048
- /* BB Add code to handle unsupported level rc */
4047
+ if (rc ) {
4048
+ /*
4049
+ * BB: add logic to retry regular search if Unix search rejected
4050
+ * unexpectedly by server.
4051
+ */
4052
+ /* BB: add code to handle unsupported level rc */
4049
4053
cifs_dbg (FYI , "Error in FindFirst = %d\n" , rc );
4050
-
4051
4054
cifs_buf_release (pSMB );
4052
-
4053
- /* BB eventually could optimize out free and realloc of buf */
4054
- /* for this case */
4055
+ /*
4056
+ * BB: eventually could optimize out free and realloc of buf for
4057
+ * this case.
4058
+ */
4055
4059
if (rc == - EAGAIN )
4056
4060
goto findFirstRetry ;
4057
- } else { /* decode response */
4058
- /* BB remember to free buffer if error BB */
4059
- rc = validate_t2 ((struct smb_t2_rsp * )pSMBr );
4060
- if (rc == 0 ) {
4061
- unsigned int lnoff ;
4062
-
4063
- if (pSMBr -> hdr .Flags2 & SMBFLG2_UNICODE )
4064
- psrch_inf -> unicode = true;
4065
- else
4066
- psrch_inf -> unicode = false;
4067
-
4068
- psrch_inf -> ntwrk_buf_start = (char * )pSMBr ;
4069
- psrch_inf -> smallBuf = false;
4070
- psrch_inf -> srch_entries_start =
4071
- (char * ) & pSMBr -> hdr .Protocol +
4072
- le16_to_cpu (pSMBr -> t2 .DataOffset );
4073
- parms = (T2_FFIRST_RSP_PARMS * )((char * ) & pSMBr -> hdr .Protocol +
4074
- le16_to_cpu (pSMBr -> t2 .ParameterOffset ));
4075
-
4076
- if (parms -> EndofSearch )
4077
- psrch_inf -> endOfSearch = true;
4078
- else
4079
- psrch_inf -> endOfSearch = false;
4080
-
4081
- psrch_inf -> entries_in_buffer =
4082
- le16_to_cpu (parms -> SearchCount );
4083
- psrch_inf -> index_of_last_entry = 2 /* skip . and .. */ +
4084
- psrch_inf -> entries_in_buffer ;
4085
- lnoff = le16_to_cpu (parms -> LastNameOffset );
4086
- if (CIFSMaxBufSize < lnoff ) {
4087
- cifs_dbg (VFS , "ignoring corrupt resume name\n" );
4088
- psrch_inf -> last_entry = NULL ;
4089
- return rc ;
4090
- }
4091
-
4092
- psrch_inf -> last_entry = psrch_inf -> srch_entries_start +
4093
- lnoff ;
4094
-
4095
- if (pnetfid )
4096
- * pnetfid = parms -> SearchHandle ;
4097
- } else {
4098
- cifs_buf_release (pSMB );
4099
- }
4061
+ return rc ;
4062
+ }
4063
+ /* decode response */
4064
+ rc = validate_t2 ((struct smb_t2_rsp * )pSMBr );
4065
+ if (rc ) {
4066
+ cifs_buf_release (pSMB );
4067
+ return rc ;
4100
4068
}
4101
4069
4102
- return rc ;
4070
+ psrch_inf -> unicode = !!(pSMBr -> hdr .Flags2 & SMBFLG2_UNICODE );
4071
+ psrch_inf -> ntwrk_buf_start = (char * )pSMBr ;
4072
+ psrch_inf -> smallBuf = false;
4073
+ psrch_inf -> srch_entries_start = (char * )& pSMBr -> hdr .Protocol +
4074
+ le16_to_cpu (pSMBr -> t2 .DataOffset );
4075
+
4076
+ parms = (T2_FFIRST_RSP_PARMS * )((char * )& pSMBr -> hdr .Protocol +
4077
+ le16_to_cpu (pSMBr -> t2 .ParameterOffset ));
4078
+ psrch_inf -> endOfSearch = !!parms -> EndofSearch ;
4079
+
4080
+ psrch_inf -> entries_in_buffer = le16_to_cpu (parms -> SearchCount );
4081
+ psrch_inf -> index_of_last_entry = 2 /* skip . and .. */ +
4082
+ psrch_inf -> entries_in_buffer ;
4083
+ lnoff = le16_to_cpu (parms -> LastNameOffset );
4084
+ if (CIFSMaxBufSize < lnoff ) {
4085
+ cifs_dbg (VFS , "ignoring corrupt resume name\n" );
4086
+ psrch_inf -> last_entry = NULL ;
4087
+ } else {
4088
+ psrch_inf -> last_entry = psrch_inf -> srch_entries_start + lnoff ;
4089
+ if (pnetfid )
4090
+ * pnetfid = parms -> SearchHandle ;
4091
+ }
4092
+ return 0 ;
4103
4093
}
4104
4094
4105
4095
int CIFSFindNext (const unsigned int xid , struct cifs_tcon * tcon ,
0 commit comments