mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 12:52:30 +00:00
[CIFS] reduce checkpatch warnings
Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
f315ccb3e6
commit
ad7a2926b9
@ -461,7 +461,7 @@ A partial list of the supported mount options follows:
|
||||
cifsacl Report mode bits (e.g. on stat) based on the Windows ACL for
|
||||
the file. (EXPERIMENTAL)
|
||||
servern Specify the server 's netbios name (RFC1001 name) to use
|
||||
when attempting to setup a session to the server. This is
|
||||
when attempting to setup a session to the server.
|
||||
This is needed for mounting to some older servers (such
|
||||
as OS/2 or Windows 98 and Windows ME) since they do not
|
||||
support a default server name. A server name can be up
|
||||
|
@ -98,8 +98,7 @@ void cifs_dump_mids(struct TCP_Server_Info *server)
|
||||
if (mid_entry->resp_buf) {
|
||||
cifs_dump_detail(mid_entry->resp_buf);
|
||||
cifs_dump_mem("existing buf: ",
|
||||
mid_entry->resp_buf,
|
||||
62 /* fixme */);
|
||||
mid_entry->resp_buf, 62);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -64,10 +64,10 @@ extern int cifsERROR;
|
||||
* ---------
|
||||
*/
|
||||
#else /* _CIFS_DEBUG */
|
||||
#define cERROR(button,prspec)
|
||||
#define cEVENT(format,arg...)
|
||||
#define cERROR(button, prspec)
|
||||
#define cEVENT(format, arg...)
|
||||
#define cFYI(button, prspec)
|
||||
#define cifserror(format,arg...)
|
||||
#define cifserror(format, arg...)
|
||||
#endif /* _CIFS_DEBUG */
|
||||
|
||||
#endif /* _H_CIFS_DEBUG */
|
||||
|
@ -32,7 +32,7 @@
|
||||
*
|
||||
*/
|
||||
int
|
||||
cifs_strfromUCS_le(char *to, const __le16 * from,
|
||||
cifs_strfromUCS_le(char *to, const __le16 *from,
|
||||
int len, const struct nls_table *codepage)
|
||||
{
|
||||
int i;
|
||||
@ -61,7 +61,7 @@ cifs_strfromUCS_le(char *to, const __le16 * from,
|
||||
*
|
||||
*/
|
||||
int
|
||||
cifs_strtoUCS(__le16 * to, const char *from, int len,
|
||||
cifs_strtoUCS(__le16 *to, const char *from, int len,
|
||||
const struct nls_table *codepage)
|
||||
{
|
||||
int charlen;
|
||||
|
@ -254,7 +254,8 @@ UniStrstr(const wchar_t *ucs1, const wchar_t *ucs2)
|
||||
const wchar_t *anchor2 = ucs2;
|
||||
|
||||
while (*ucs1) {
|
||||
if (*ucs1 == *ucs2) { /* Partial match found */
|
||||
if (*ucs1 == *ucs2) {
|
||||
/* Partial match found */
|
||||
ucs1++;
|
||||
ucs2++;
|
||||
} else {
|
||||
@ -279,7 +280,8 @@ UniToupper(register wchar_t uc)
|
||||
{
|
||||
register const struct UniCaseRange *rp;
|
||||
|
||||
if (uc < sizeof (CifsUniUpperTable)) { /* Latin characters */
|
||||
if (uc < sizeof(CifsUniUpperTable)) {
|
||||
/* Latin characters */
|
||||
return uc + CifsUniUpperTable[uc]; /* Use base tables */
|
||||
} else {
|
||||
rp = CifsUniUpperRange; /* Use range tables */
|
||||
@ -320,7 +322,8 @@ UniTolower(wchar_t uc)
|
||||
{
|
||||
register struct UniCaseRange *rp;
|
||||
|
||||
if (uc < sizeof (UniLowerTable)) { /* Latin characters */
|
||||
if (uc < sizeof(UniLowerTable)) {
|
||||
/* Latin characters */
|
||||
return uc + UniLowerTable[uc]; /* Use base tables */
|
||||
} else {
|
||||
rp = UniLowerRange; /* Use range tables */
|
||||
|
@ -46,8 +46,7 @@ static struct cifs_wksid wksidarr[NUM_WK_SIDS] = {
|
||||
static const struct cifs_sid sid_everyone = {
|
||||
1, 1, {0, 0, 0, 0, 0, 1}, {0} };
|
||||
/* group users */
|
||||
static const struct cifs_sid sid_user =
|
||||
{1, 2 , {0, 0, 0, 0, 0, 5}, {} };
|
||||
static const struct cifs_sid sid_user = {1, 2 , {0, 0, 0, 0, 0, 5}, {} };
|
||||
|
||||
|
||||
int match_sid(struct cifs_sid *ctsid)
|
||||
@ -195,9 +194,9 @@ static void access_flags_to_mode(__le32 ace_flags, int type, umode_t *pmode,
|
||||
/* For deny ACEs we change the mask so that subsequent allow access
|
||||
control entries do not turn on the bits we are denying */
|
||||
if (type == ACCESS_DENIED) {
|
||||
if (flags & GENERIC_ALL) {
|
||||
if (flags & GENERIC_ALL)
|
||||
*pbits_to_set &= ~S_IRWXUGO;
|
||||
}
|
||||
|
||||
if ((flags & GENERIC_WRITE) ||
|
||||
((flags & FILE_WRITE_RIGHTS) == FILE_WRITE_RIGHTS))
|
||||
*pbits_to_set &= ~S_IWUGO;
|
||||
|
@ -203,9 +203,8 @@ cifs_put_super(struct super_block *sb)
|
||||
return;
|
||||
}
|
||||
rc = cifs_umount(sb, cifs_sb);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cERROR(1, ("cifs_umount failed with return code %d", rc));
|
||||
}
|
||||
#ifdef CONFIG_CIFS_DFS_UPCALL
|
||||
if (cifs_sb->mountdata) {
|
||||
kfree(cifs_sb->mountdata);
|
||||
|
@ -53,11 +53,11 @@ extern int SendReceiveNoRsp(const unsigned int xid, struct cifsSesInfo *ses,
|
||||
extern int SendReceive2(const unsigned int /* xid */ , struct cifsSesInfo *,
|
||||
struct kvec *, int /* nvec to send */,
|
||||
int * /* type of buf returned */ , const int flags);
|
||||
extern int SendReceiveBlockingLock(const unsigned int /* xid */ ,
|
||||
struct cifsTconInfo *,
|
||||
struct smb_hdr * /* input */ ,
|
||||
struct smb_hdr * /* out */ ,
|
||||
int * /* bytes returned */);
|
||||
extern int SendReceiveBlockingLock(const unsigned int xid,
|
||||
struct cifsTconInfo *ptcon,
|
||||
struct smb_hdr *in_buf ,
|
||||
struct smb_hdr *out_buf,
|
||||
int *bytes_returned);
|
||||
extern int checkSMB(struct smb_hdr *smb, __u16 mid, unsigned int length);
|
||||
extern int is_valid_oplock_break(struct smb_hdr *smb, struct TCP_Server_Info *);
|
||||
extern int is_size_safe_to_change(struct cifsInodeInfo *, __u64 eof);
|
||||
@ -84,7 +84,7 @@ extern __u16 GetNextMid(struct TCP_Server_Info *server);
|
||||
extern struct oplock_q_entry *AllocOplockQEntry(struct inode *, u16,
|
||||
struct cifsTconInfo *);
|
||||
extern void DeleteOplockQEntry(struct oplock_q_entry *);
|
||||
extern struct timespec cifs_NTtimeToUnix(u64 /* utc nanoseconds since 1601 */ );
|
||||
extern struct timespec cifs_NTtimeToUnix(u64 utc_nanoseconds_since_1601);
|
||||
extern u64 cifs_UnixTimeToNT(struct timespec);
|
||||
extern __le64 cnvrtDosCifsTm(__u16 date, __u16 time);
|
||||
extern struct timespec cnvrtDosUnixTm(__u16 date, __u16 time);
|
||||
@ -175,11 +175,11 @@ extern int CIFSSMBQFSPosixInfo(const int xid, struct cifsTconInfo *tcon,
|
||||
struct kstatfs *FSData);
|
||||
|
||||
extern int CIFSSMBSetTimes(const int xid, struct cifsTconInfo *tcon,
|
||||
const char *fileName, const FILE_BASIC_INFO * data,
|
||||
const char *fileName, const FILE_BASIC_INFO *data,
|
||||
const struct nls_table *nls_codepage,
|
||||
int remap_special_chars);
|
||||
extern int CIFSSMBSetFileTimes(const int xid, struct cifsTconInfo *tcon,
|
||||
const FILE_BASIC_INFO * data, __u16 fid);
|
||||
const FILE_BASIC_INFO *data, __u16 fid);
|
||||
#if 0
|
||||
extern int CIFSSMBSetAttrLegacy(int xid, struct cifsTconInfo *tcon,
|
||||
char *fileName, __u16 dos_attributes,
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* fs/cifs/cifssmb.c
|
||||
*
|
||||
* Copyright (C) International Business Machines Corp., 2002,2007
|
||||
* Copyright (C) International Business Machines Corp., 2002,2008
|
||||
* Author(s): Steve French (sfrench@us.ibm.com)
|
||||
*
|
||||
* Contains the routines for constructing the SMB PDUs themselves
|
||||
@ -102,10 +102,12 @@ static void mark_open_files_invalid(struct cifsTconInfo *pTcon)
|
||||
to this tcon */
|
||||
}
|
||||
|
||||
/* If the return code is zero, this function must fill in request_buf pointer */
|
||||
/* Allocate and return pointer to an SMB request buffer, and set basic
|
||||
SMB information in the SMB header. If the return code is zero, this
|
||||
function must have filled in request_buf pointer */
|
||||
static int
|
||||
small_smb_init(int smb_command, int wct, struct cifsTconInfo *tcon,
|
||||
void **request_buf /* returned */)
|
||||
void **request_buf)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
@ -363,7 +365,7 @@ smb_init(int smb_command, int wct, struct cifsTconInfo *tcon,
|
||||
*response_buf = *request_buf;
|
||||
|
||||
header_assemble((struct smb_hdr *) *request_buf, smb_command, tcon,
|
||||
wct /*wct */ );
|
||||
wct);
|
||||
|
||||
if (tcon != NULL)
|
||||
cifs_stats_inc(&tcon->num_smbs_sent);
|
||||
@ -523,7 +525,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses)
|
||||
if (remain >= (MIN_TZ_ADJ / 2))
|
||||
result += MIN_TZ_ADJ;
|
||||
if (val < 0)
|
||||
result = - result;
|
||||
result = -result;
|
||||
server->timeAdj = result;
|
||||
} else {
|
||||
server->timeAdj = (int)tmp;
|
||||
@ -868,9 +870,8 @@ PsxDelete:
|
||||
pSMB->ByteCount = cpu_to_le16(byte_count);
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Posix delete returned %d", rc));
|
||||
}
|
||||
cifs_buf_release(pSMB);
|
||||
|
||||
cifs_stats_inc(&tcon->num_deletes);
|
||||
@ -916,9 +917,8 @@ DelFileRetry:
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
cifs_stats_inc(&tcon->num_deletes);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Error in RMFile = %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
if (rc == -EAGAIN)
|
||||
@ -961,9 +961,8 @@ RmDirRetry:
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
cifs_stats_inc(&tcon->num_rmdirs);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Error in RMDir = %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
if (rc == -EAGAIN)
|
||||
@ -1005,9 +1004,8 @@ MkDirRetry:
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
cifs_stats_inc(&tcon->num_mkdirs);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Error in Mkdir = %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
if (rc == -EAGAIN)
|
||||
@ -1017,7 +1015,7 @@ MkDirRetry:
|
||||
|
||||
int
|
||||
CIFSPOSIXCreate(const int xid, struct cifsTconInfo *tcon, __u32 posix_flags,
|
||||
__u64 mode, __u16 * netfid, FILE_UNIX_BASIC_INFO *pRetData,
|
||||
__u64 mode, __u16 *netfid, FILE_UNIX_BASIC_INFO *pRetData,
|
||||
__u32 *pOplock, const char *name,
|
||||
const struct nls_table *nls_codepage, int remap)
|
||||
{
|
||||
@ -1027,8 +1025,8 @@ CIFSPOSIXCreate(const int xid, struct cifsTconInfo *tcon, __u32 posix_flags,
|
||||
int rc = 0;
|
||||
int bytes_returned = 0;
|
||||
__u16 params, param_offset, offset, byte_count, count;
|
||||
OPEN_PSX_REQ * pdata;
|
||||
OPEN_PSX_RSP * psx_rsp;
|
||||
OPEN_PSX_REQ *pdata;
|
||||
OPEN_PSX_RSP *psx_rsp;
|
||||
|
||||
cFYI(1, ("In POSIX Create"));
|
||||
PsxCreat:
|
||||
@ -1169,8 +1167,8 @@ static __u16 convert_disposition(int disposition)
|
||||
int
|
||||
SMBLegacyOpen(const int xid, struct cifsTconInfo *tcon,
|
||||
const char *fileName, const int openDisposition,
|
||||
const int access_flags, const int create_options, __u16 * netfid,
|
||||
int *pOplock, FILE_ALL_INFO * pfile_info,
|
||||
const int access_flags, const int create_options, __u16 *netfid,
|
||||
int *pOplock, FILE_ALL_INFO *pfile_info,
|
||||
const struct nls_table *nls_codepage, int remap)
|
||||
{
|
||||
int rc = -EACCES;
|
||||
@ -1221,8 +1219,8 @@ OldOpenRetry:
|
||||
|
||||
if (create_options & CREATE_OPTION_SPECIAL)
|
||||
pSMB->FileAttributes = cpu_to_le16(ATTR_SYSTEM);
|
||||
else
|
||||
pSMB->FileAttributes = cpu_to_le16(0/*ATTR_NORMAL*/); /* BB FIXME */
|
||||
else /* BB FIXME BB */
|
||||
pSMB->FileAttributes = cpu_to_le16(0/*ATTR_NORMAL*/);
|
||||
|
||||
/* if ((omode & S_IWUGO) == 0)
|
||||
pSMB->FileAttributes |= cpu_to_le32(ATTR_READONLY);*/
|
||||
@ -1284,8 +1282,8 @@ OldOpenRetry:
|
||||
int
|
||||
CIFSSMBOpen(const int xid, struct cifsTconInfo *tcon,
|
||||
const char *fileName, const int openDisposition,
|
||||
const int access_flags, const int create_options, __u16 * netfid,
|
||||
int *pOplock, FILE_ALL_INFO * pfile_info,
|
||||
const int access_flags, const int create_options, __u16 *netfid,
|
||||
int *pOplock, FILE_ALL_INFO *pfile_info,
|
||||
const struct nls_table *nls_codepage, int remap)
|
||||
{
|
||||
int rc = -EACCES;
|
||||
@ -1556,9 +1554,9 @@ CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon,
|
||||
} /* else setting file size with write of zero bytes */
|
||||
if (wct == 14)
|
||||
byte_count = bytes_sent + 1; /* pad */
|
||||
else /* wct == 12 */ {
|
||||
else /* wct == 12 */
|
||||
byte_count = bytes_sent + 5; /* bigger pad, smaller smb hdr */
|
||||
}
|
||||
|
||||
pSMB->DataLengthLow = cpu_to_le16(bytes_sent & 0xFFFF);
|
||||
pSMB->DataLengthHigh = cpu_to_le16(bytes_sent >> 16);
|
||||
pSMB->hdr.smb_buf_length += byte_count;
|
||||
@ -1663,7 +1661,7 @@ CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon,
|
||||
rc = -EIO;
|
||||
*nbytes = 0;
|
||||
} else {
|
||||
WRITE_RSP * pSMBr = (WRITE_RSP *)iov[0].iov_base;
|
||||
WRITE_RSP *pSMBr = (WRITE_RSP *)iov[0].iov_base;
|
||||
*nbytes = le16_to_cpu(pSMBr->CountHigh);
|
||||
*nbytes = (*nbytes) << 16;
|
||||
*nbytes += le16_to_cpu(pSMBr->Count);
|
||||
@ -1744,9 +1742,8 @@ CIFSSMBLock(const int xid, struct cifsTconInfo *tcon,
|
||||
/* SMB buffer freed by function above */
|
||||
}
|
||||
cifs_stats_inc(&tcon->num_locks);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Send error in Lock = %d", rc));
|
||||
}
|
||||
|
||||
/* Note: On -EAGAIN error only caller can retry on handle based calls
|
||||
since file handle passed in no longer valid */
|
||||
@ -1791,7 +1788,7 @@ CIFSSMBPosixLock(const int xid, struct cifsTconInfo *tcon,
|
||||
|
||||
count = sizeof(struct cifs_posix_lock);
|
||||
pSMB->MaxParameterCount = cpu_to_le16(2);
|
||||
pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB PDU from sess */
|
||||
pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */
|
||||
pSMB->SetupCount = 1;
|
||||
pSMB->Reserved3 = 0;
|
||||
if (get_flag)
|
||||
@ -1972,9 +1969,8 @@ renameRetry:
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
cifs_stats_inc(&tcon->num_renames);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Send error in rename = %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
|
||||
@ -2016,7 +2012,7 @@ int CIFSSMBRenameOpenFile(const int xid, struct cifsTconInfo *pTcon,
|
||||
data_offset = (char *) (&pSMB->hdr.Protocol) + offset;
|
||||
rename_info = (struct set_file_rename *) data_offset;
|
||||
pSMB->MaxParameterCount = cpu_to_le16(2);
|
||||
pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB PDU from sess */
|
||||
pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */
|
||||
pSMB->SetupCount = 1;
|
||||
pSMB->Reserved3 = 0;
|
||||
pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION);
|
||||
@ -2052,9 +2048,8 @@ int CIFSSMBRenameOpenFile(const int xid, struct cifsTconInfo *pTcon,
|
||||
rc = SendReceive(xid, pTcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
cifs_stats_inc(&pTcon->num_t2renames);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Send error in Rename (by file handle) = %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
|
||||
@ -2211,9 +2206,8 @@ createSymLinkRetry:
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
cifs_stats_inc(&tcon->num_symlinks);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Send error in SetPathInfo create symlink = %d", rc));
|
||||
}
|
||||
|
||||
if (pSMB)
|
||||
cifs_buf_release(pSMB);
|
||||
@ -2299,9 +2293,8 @@ createHardLinkRetry:
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
cifs_stats_inc(&tcon->num_hardlinks);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Send error in SetPathInfo (hard link) = %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
if (rc == -EAGAIN)
|
||||
@ -2370,9 +2363,9 @@ winCreateHardLinkRetry:
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
cifs_stats_inc(&tcon->num_hardlinks);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Send error in hard link (NT rename) = %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
if (rc == -EAGAIN)
|
||||
goto winCreateHardLinkRetry;
|
||||
@ -2968,9 +2961,8 @@ setAclRetry:
|
||||
pSMB->ByteCount = cpu_to_le16(byte_count);
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Set POSIX ACL returned %d", rc));
|
||||
}
|
||||
|
||||
setACLerrorExit:
|
||||
cifs_buf_release(pSMB);
|
||||
@ -2982,7 +2974,7 @@ setACLerrorExit:
|
||||
/* BB fix tabs in this function FIXME BB */
|
||||
int
|
||||
CIFSGetExtAttr(const int xid, struct cifsTconInfo *tcon,
|
||||
const int netfid, __u64 * pExtAttrBits, __u64 *pMask)
|
||||
const int netfid, __u64 *pExtAttrBits, __u64 *pMask)
|
||||
{
|
||||
int rc = 0;
|
||||
struct smb_t2_qfi_req *pSMB = NULL;
|
||||
@ -3000,7 +2992,7 @@ GetExtAttrRetry:
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
params = 2 /* level */ +2 /* fid */;
|
||||
params = 2 /* level */ + 2 /* fid */;
|
||||
pSMB->t2.TotalDataCount = 0;
|
||||
pSMB->t2.MaxParameterCount = cpu_to_le16(4);
|
||||
/* BB find exact max data count below from sess structure BB */
|
||||
@ -3071,7 +3063,7 @@ CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, __u16 fid,
|
||||
{
|
||||
int rc = 0;
|
||||
int buf_type = 0;
|
||||
QUERY_SEC_DESC_REQ * pSMB;
|
||||
QUERY_SEC_DESC_REQ *pSMB;
|
||||
struct kvec iov[1];
|
||||
|
||||
cFYI(1, ("GetCifsACL"));
|
||||
@ -3101,7 +3093,7 @@ CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, __u16 fid,
|
||||
if (rc) {
|
||||
cFYI(1, ("Send error in QuerySecDesc = %d", rc));
|
||||
} else { /* decode response */
|
||||
__le32 * parm;
|
||||
__le32 *parm;
|
||||
__u32 parm_len;
|
||||
__u32 acl_len;
|
||||
struct smb_com_ntransact_rsp *pSMBr;
|
||||
@ -3230,8 +3222,8 @@ int SMBQueryInformation(const int xid, struct cifsTconInfo *tcon,
|
||||
FILE_ALL_INFO *pFinfo,
|
||||
const struct nls_table *nls_codepage, int remap)
|
||||
{
|
||||
QUERY_INFORMATION_REQ * pSMB;
|
||||
QUERY_INFORMATION_RSP * pSMBr;
|
||||
QUERY_INFORMATION_REQ *pSMB;
|
||||
QUERY_INFORMATION_RSP *pSMBr;
|
||||
int rc = 0;
|
||||
int bytes_returned;
|
||||
int name_len;
|
||||
@ -3263,9 +3255,11 @@ QInfRetry:
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
if (rc) {
|
||||
cFYI(1, ("Send error in QueryInfo = %d", rc));
|
||||
} else if (pFinfo) { /* decode response */
|
||||
} else if (pFinfo) {
|
||||
struct timespec ts;
|
||||
__u32 time = le32_to_cpu(pSMBr->last_write_time);
|
||||
|
||||
/* decode response */
|
||||
/* BB FIXME - add time zone adjustment BB */
|
||||
memset(pFinfo, 0, sizeof(FILE_ALL_INFO));
|
||||
ts.tv_nsec = 0;
|
||||
@ -3296,7 +3290,7 @@ QInfRetry:
|
||||
int
|
||||
CIFSSMBQPathInfo(const int xid, struct cifsTconInfo *tcon,
|
||||
const unsigned char *searchName,
|
||||
FILE_ALL_INFO * pFindData,
|
||||
FILE_ALL_INFO *pFindData,
|
||||
int legacy /* old style infolevel */,
|
||||
const struct nls_table *nls_codepage, int remap)
|
||||
{
|
||||
@ -3371,10 +3365,12 @@ QPathInfoRetry:
|
||||
else if (pFindData) {
|
||||
int size;
|
||||
__u16 data_offset = le16_to_cpu(pSMBr->t2.DataOffset);
|
||||
if (legacy) /* we do not read the last field, EAsize,
|
||||
fortunately since it varies by subdialect
|
||||
and on Set vs. Get, is two bytes or 4
|
||||
bytes depending but we don't care here */
|
||||
|
||||
/* On legacy responses we do not read the last field,
|
||||
EAsize, fortunately since it varies by subdialect and
|
||||
also note it differs on Set vs. Get, ie two bytes or 4
|
||||
bytes depending but we don't care here */
|
||||
if (legacy)
|
||||
size = sizeof(FILE_INFO_STANDARD);
|
||||
else
|
||||
size = sizeof(FILE_ALL_INFO);
|
||||
@ -3476,85 +3472,6 @@ UnixQPathInfoRetry:
|
||||
return rc;
|
||||
}
|
||||
|
||||
#if 0 /* function unused at present */
|
||||
int CIFSFindSingle(const int xid, struct cifsTconInfo *tcon,
|
||||
const char *searchName, FILE_ALL_INFO * findData,
|
||||
const struct nls_table *nls_codepage)
|
||||
{
|
||||
/* level 257 SMB_ */
|
||||
TRANSACTION2_FFIRST_REQ *pSMB = NULL;
|
||||
TRANSACTION2_FFIRST_RSP *pSMBr = NULL;
|
||||
int rc = 0;
|
||||
int bytes_returned;
|
||||
int name_len;
|
||||
__u16 params, byte_count;
|
||||
|
||||
cFYI(1, ("In FindUnique"));
|
||||
findUniqueRetry:
|
||||
rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB,
|
||||
(void **) &pSMBr);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
|
||||
name_len =
|
||||
cifsConvertToUCS((__le16 *) pSMB->FileName, searchName,
|
||||
PATH_MAX, nls_codepage);
|
||||
name_len++; /* trailing null */
|
||||
name_len *= 2;
|
||||
} else { /* BB improve the check for buffer overruns BB */
|
||||
name_len = strnlen(searchName, PATH_MAX);
|
||||
name_len++; /* trailing null */
|
||||
strncpy(pSMB->FileName, searchName, name_len);
|
||||
}
|
||||
|
||||
params = 12 + name_len /* includes null */ ;
|
||||
pSMB->TotalDataCount = 0; /* no EAs */
|
||||
pSMB->MaxParameterCount = cpu_to_le16(2);
|
||||
pSMB->MaxDataCount = cpu_to_le16(4000); /* BB find exact max SMB PDU from sess structure BB */
|
||||
pSMB->MaxSetupCount = 0;
|
||||
pSMB->Reserved = 0;
|
||||
pSMB->Flags = 0;
|
||||
pSMB->Timeout = 0;
|
||||
pSMB->Reserved2 = 0;
|
||||
pSMB->ParameterOffset = cpu_to_le16(
|
||||
offsetof(struct smb_com_transaction2_ffirst_req, InformationLevel)-4);
|
||||
pSMB->DataCount = 0;
|
||||
pSMB->DataOffset = 0;
|
||||
pSMB->SetupCount = 1; /* one byte, no need to le convert */
|
||||
pSMB->Reserved3 = 0;
|
||||
pSMB->SubCommand = cpu_to_le16(TRANS2_FIND_FIRST);
|
||||
byte_count = params + 1 /* pad */ ;
|
||||
pSMB->TotalParameterCount = cpu_to_le16(params);
|
||||
pSMB->ParameterCount = pSMB->TotalParameterCount;
|
||||
pSMB->SearchAttributes =
|
||||
cpu_to_le16(ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM |
|
||||
ATTR_DIRECTORY);
|
||||
pSMB->SearchCount = cpu_to_le16(16); /* BB increase */
|
||||
pSMB->SearchFlags = cpu_to_le16(1);
|
||||
pSMB->InformationLevel = cpu_to_le16(SMB_FIND_FILE_DIRECTORY_INFO);
|
||||
pSMB->SearchStorageType = 0; /* BB what should we set this to? BB */
|
||||
pSMB->hdr.smb_buf_length += byte_count;
|
||||
pSMB->ByteCount = cpu_to_le16(byte_count);
|
||||
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
|
||||
if (rc) {
|
||||
cFYI(1, ("Send error in FindFileDirInfo = %d", rc));
|
||||
} else { /* decode response */
|
||||
cifs_stats_inc(&tcon->num_ffirst);
|
||||
/* BB fill in */
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
if (rc == -EAGAIN)
|
||||
goto findUniqueRetry;
|
||||
|
||||
return rc;
|
||||
}
|
||||
#endif /* end unused (temporarily) function */
|
||||
|
||||
/* xid, tcon, searchName and codepage are input parms, rest are returned */
|
||||
int
|
||||
CIFSFindFirst(const int xid, struct cifsTconInfo *tcon,
|
||||
@ -3566,7 +3483,7 @@ CIFSFindFirst(const int xid, struct cifsTconInfo *tcon,
|
||||
/* level 257 SMB_ */
|
||||
TRANSACTION2_FFIRST_REQ *pSMB = NULL;
|
||||
TRANSACTION2_FFIRST_RSP *pSMBr = NULL;
|
||||
T2_FFIRST_RSP_PARMS * parms;
|
||||
T2_FFIRST_RSP_PARMS *parms;
|
||||
int rc = 0;
|
||||
int bytes_returned = 0;
|
||||
int name_len;
|
||||
@ -3697,7 +3614,7 @@ int CIFSFindNext(const int xid, struct cifsTconInfo *tcon,
|
||||
{
|
||||
TRANSACTION2_FNEXT_REQ *pSMB = NULL;
|
||||
TRANSACTION2_FNEXT_RSP *pSMBr = NULL;
|
||||
T2_FNEXT_RSP_PARMS * parms;
|
||||
T2_FNEXT_RSP_PARMS *parms;
|
||||
char *response_data;
|
||||
int rc = 0;
|
||||
int bytes_returned, name_len;
|
||||
@ -3836,9 +3753,9 @@ CIFSFindClose(const int xid, struct cifsTconInfo *tcon,
|
||||
pSMB->FileID = searchHandle;
|
||||
pSMB->ByteCount = 0;
|
||||
rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cERROR(1, ("Send error in FindClose = %d", rc));
|
||||
}
|
||||
|
||||
cifs_stats_inc(&tcon->num_fclose);
|
||||
|
||||
/* Since session is dead, search handle closed on server already */
|
||||
@ -3851,7 +3768,7 @@ CIFSFindClose(const int xid, struct cifsTconInfo *tcon,
|
||||
int
|
||||
CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon,
|
||||
const unsigned char *searchName,
|
||||
__u64 * inode_number,
|
||||
__u64 *inode_number,
|
||||
const struct nls_table *nls_codepage, int remap)
|
||||
{
|
||||
int rc = 0;
|
||||
@ -4560,9 +4477,8 @@ SETFSUnixRetry:
|
||||
cERROR(1, ("Send error in SETFSUnixInfo = %d", rc));
|
||||
} else { /* decode response */
|
||||
rc = validate_t2((struct smb_t2_rsp *)pSMBr);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
rc = -EIO; /* bad smb */
|
||||
}
|
||||
}
|
||||
cifs_buf_release(pSMB);
|
||||
|
||||
@ -4744,9 +4660,8 @@ SetEOFRetry:
|
||||
pSMB->ByteCount = cpu_to_le16(byte_count);
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("SetPathInfo (file size) returned %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
|
||||
@ -4897,9 +4812,8 @@ CIFSSMBSetFileTimes(const int xid, struct cifsTconInfo *tcon,
|
||||
pSMB->ByteCount = cpu_to_le16(byte_count);
|
||||
memcpy(data_offset, data, sizeof(FILE_BASIC_INFO));
|
||||
rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Send error in Set Time (SetFileInfo) = %d", rc));
|
||||
}
|
||||
|
||||
/* Note: On -EAGAIN error only caller can retry on handle based calls
|
||||
since file handle passed in no longer valid */
|
||||
@ -4975,9 +4889,8 @@ SetTimesRetry:
|
||||
pSMB->ByteCount = cpu_to_le16(byte_count);
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("SetPathInfo (times) returned %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
|
||||
@ -5027,9 +4940,8 @@ SetAttrLgcyRetry:
|
||||
pSMB->ByteCount = cpu_to_le16(name_len + 1);
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("Error in LegacySetAttr = %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
|
||||
@ -5138,9 +5050,8 @@ setPermsRetry:
|
||||
pSMB->ByteCount = cpu_to_le16(byte_count);
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("SetPathInfo (perms) returned %d", rc));
|
||||
}
|
||||
|
||||
if (pSMB)
|
||||
cifs_buf_release(pSMB);
|
||||
@ -5615,9 +5526,8 @@ SetEARetry:
|
||||
pSMB->ByteCount = cpu_to_le16(byte_count);
|
||||
rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
|
||||
(struct smb_hdr *) pSMBr, &bytes_returned, 0);
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("SetPathInfo (EA) returned %d", rc));
|
||||
}
|
||||
|
||||
cifs_buf_release(pSMB);
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* vfs operations that deal with dentries
|
||||
*
|
||||
* Copyright (C) International Business Machines Corp., 2002,2007
|
||||
* Copyright (C) International Business Machines Corp., 2002,2008
|
||||
* Author(s): Steve French (sfrench@us.ibm.com)
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
@ -111,16 +111,6 @@ cifs_bp_rename_retry:
|
||||
return full_path;
|
||||
}
|
||||
|
||||
/* char * build_wildcard_path_from_dentry(struct dentry *direntry)
|
||||
{
|
||||
if(full_path == NULL)
|
||||
return full_path;
|
||||
|
||||
full_path[namelen] = '\\';
|
||||
full_path[namelen+1] = '*';
|
||||
full_path[namelen+2] = 0;
|
||||
BB remove above eight lines BB */
|
||||
|
||||
/* Inode operations in similar order to how they appear in Linux file fs.h */
|
||||
|
||||
int
|
||||
@ -171,9 +161,8 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
|
||||
disposition = FILE_OVERWRITE_IF;
|
||||
else if ((oflags & O_CREAT) == O_CREAT)
|
||||
disposition = FILE_OPEN_IF;
|
||||
else {
|
||||
else
|
||||
cFYI(1, ("Create flag not set in create function"));
|
||||
}
|
||||
}
|
||||
|
||||
/* BB add processing to set equivalent of mode - e.g. via CreateX with
|
||||
@ -367,7 +356,7 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode,
|
||||
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) {
|
||||
int oplock = 0;
|
||||
u16 fileHandle;
|
||||
FILE_ALL_INFO * buf;
|
||||
FILE_ALL_INFO *buf;
|
||||
|
||||
cFYI(1, ("sfu compat create special file"));
|
||||
|
||||
@ -534,9 +523,8 @@ cifs_d_revalidate(struct dentry *direntry, struct nameidata *nd)
|
||||
int isValid = 1;
|
||||
|
||||
if (direntry->d_inode) {
|
||||
if (cifs_revalidate(direntry)) {
|
||||
if (cifs_revalidate(direntry))
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
cFYI(1, ("neg dentry 0x%p name = %s",
|
||||
direntry, direntry->d_name.name));
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* fs/cifs/dns_resolve.h -- DNS Resolver upcall management for CIFS DFS
|
||||
* Handles host name to IP address resolution
|
||||
*
|
||||
*
|
||||
* Copyright (c) International Business Machines Corp., 2008
|
||||
* Author(s): Steve French (sfrench@us.ibm.com)
|
||||
*
|
||||
|
@ -35,9 +35,8 @@ static __u32 convert_to_cifs_notify_flags(unsigned long fcntl_notify_flags)
|
||||
|
||||
/* No way on Linux VFS to ask to monitor xattr
|
||||
changes (and no stream support either */
|
||||
if (fcntl_notify_flags & DN_ACCESS) {
|
||||
if (fcntl_notify_flags & DN_ACCESS)
|
||||
cifs_ntfy_flags |= FILE_NOTIFY_CHANGE_LAST_ACCESS;
|
||||
}
|
||||
if (fcntl_notify_flags & DN_MODIFY) {
|
||||
/* What does this mean on directories? */
|
||||
cifs_ntfy_flags |= FILE_NOTIFY_CHANGE_LAST_WRITE |
|
||||
@ -47,9 +46,8 @@ static __u32 convert_to_cifs_notify_flags(unsigned long fcntl_notify_flags)
|
||||
cifs_ntfy_flags |= FILE_NOTIFY_CHANGE_CREATION |
|
||||
FILE_NOTIFY_CHANGE_LAST_WRITE;
|
||||
}
|
||||
if (fcntl_notify_flags & DN_DELETE) {
|
||||
if (fcntl_notify_flags & DN_DELETE)
|
||||
cifs_ntfy_flags |= FILE_NOTIFY_CHANGE_LAST_WRITE;
|
||||
}
|
||||
if (fcntl_notify_flags & DN_RENAME) {
|
||||
/* BB review this - checking various server behaviors */
|
||||
cifs_ntfy_flags |= FILE_NOTIFY_CHANGE_DIR_NAME |
|
||||
|
@ -353,9 +353,9 @@ static int cifs_reopen_file(struct file *file, int can_flush)
|
||||
int disposition = FILE_OPEN;
|
||||
__u16 netfid;
|
||||
|
||||
if (file->private_data) {
|
||||
if (file->private_data)
|
||||
pCifsFile = (struct cifsFileInfo *)file->private_data;
|
||||
} else
|
||||
else
|
||||
return -EBADF;
|
||||
|
||||
xid = GetXid();
|
||||
@ -1423,9 +1423,8 @@ static int cifs_writepage(struct page *page, struct writeback_control *wbc)
|
||||
xid = GetXid();
|
||||
/* BB add check for wbc flags */
|
||||
page_cache_get(page);
|
||||
if (!PageUptodate(page)) {
|
||||
if (!PageUptodate(page))
|
||||
cFYI(1, ("ppw - page not up to date"));
|
||||
}
|
||||
|
||||
/*
|
||||
* Set the "writeback" flag, and clear "dirty" in the radix tree.
|
||||
@ -1460,9 +1459,9 @@ static int cifs_commit_write(struct file *file, struct page *page,
|
||||
cFYI(1, ("commit write for page %p up to position %lld for %d",
|
||||
page, position, to));
|
||||
spin_lock(&inode->i_lock);
|
||||
if (position > inode->i_size) {
|
||||
if (position > inode->i_size)
|
||||
i_size_write(inode, position);
|
||||
}
|
||||
|
||||
spin_unlock(&inode->i_lock);
|
||||
if (!PageUptodate(page)) {
|
||||
position = ((loff_t)page->index << PAGE_CACHE_SHIFT) + offset;
|
||||
@ -1596,9 +1595,9 @@ ssize_t cifs_user_read(struct file *file, char __user *read_data,
|
||||
}
|
||||
open_file = (struct cifsFileInfo *)file->private_data;
|
||||
|
||||
if ((file->f_flags & O_ACCMODE) == O_WRONLY) {
|
||||
if ((file->f_flags & O_ACCMODE) == O_WRONLY)
|
||||
cFYI(1, ("attempting read on write only file instance"));
|
||||
}
|
||||
|
||||
for (total_read = 0, current_offset = read_data;
|
||||
read_size > total_read;
|
||||
total_read += bytes_read, current_offset += bytes_read) {
|
||||
@ -1625,9 +1624,8 @@ ssize_t cifs_user_read(struct file *file, char __user *read_data,
|
||||
smb_read_data +
|
||||
4 /* RFC1001 length field */ +
|
||||
le16_to_cpu(pSMBr->DataOffset),
|
||||
bytes_read)) {
|
||||
bytes_read))
|
||||
rc = -EFAULT;
|
||||
}
|
||||
|
||||
if (buf_type == CIFS_SMALL_BUFFER)
|
||||
cifs_small_buf_release(smb_read_data);
|
||||
@ -2026,7 +2024,7 @@ int is_size_safe_to_change(struct cifsInodeInfo *cifsInode, __u64 end_of_file)
|
||||
struct cifs_sb_info *cifs_sb;
|
||||
|
||||
cifs_sb = CIFS_SB(cifsInode->vfs_inode.i_sb);
|
||||
if ( cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO ) {
|
||||
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) {
|
||||
/* since no page cache to corrupt on directio
|
||||
we can change size safely */
|
||||
return 1;
|
||||
|
@ -490,9 +490,9 @@ int cifs_get_inode_info(struct inode **pinode,
|
||||
if (decode_sfu_inode(inode,
|
||||
le64_to_cpu(pfindData->EndOfFile),
|
||||
search_path,
|
||||
cifs_sb, xid)) {
|
||||
cifs_sb, xid))
|
||||
cFYI(1, ("Unrecognized sfu inode type"));
|
||||
}
|
||||
|
||||
cFYI(1, ("sfu mode 0%o", inode->i_mode));
|
||||
} else {
|
||||
inode->i_mode |= S_IFREG;
|
||||
@ -1198,9 +1198,8 @@ int cifs_rename(struct inode *source_inode, struct dentry *source_direntry,
|
||||
} /* if we can not get memory just leave rc as EEXIST */
|
||||
}
|
||||
|
||||
if (rc) {
|
||||
if (rc)
|
||||
cFYI(1, ("rename rc %d", rc));
|
||||
}
|
||||
|
||||
if ((rc == -EIO) || (rc == -EEXIST)) {
|
||||
int oplock = FALSE;
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
#define CIFS_IOC_CHECKUMOUNT _IO(0xCF, 2)
|
||||
|
||||
int cifs_ioctl (struct inode *inode, struct file *filep,
|
||||
int cifs_ioctl(struct inode *inode, struct file *filep,
|
||||
unsigned int command, unsigned long arg)
|
||||
{
|
||||
int rc = -ENOTTY; /* strange error - but the precedent */
|
||||
|
@ -56,7 +56,7 @@ lshift(__u32 x, int s)
|
||||
|
||||
/* this applies md4 to 64 byte chunks */
|
||||
static void
|
||||
mdfour64(__u32 * M, __u32 * A, __u32 *B, __u32 * C, __u32 *D)
|
||||
mdfour64(__u32 *M, __u32 *A, __u32 *B, __u32 *C, __u32 *D)
|
||||
{
|
||||
int j;
|
||||
__u32 AA, BB, CC, DD;
|
||||
@ -137,7 +137,7 @@ mdfour64(__u32 * M, __u32 * A, __u32 *B, __u32 * C, __u32 *D)
|
||||
}
|
||||
|
||||
static void
|
||||
copy64(__u32 * M, unsigned char *in)
|
||||
copy64(__u32 *M, unsigned char *in)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -161,7 +161,7 @@ MD5Final(unsigned char digest[16], struct MD5Context *ctx)
|
||||
|
||||
/* This is the central step in the MD5 algorithm. */
|
||||
#define MD5STEP(f, w, x, y, z, data, s) \
|
||||
( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )
|
||||
(w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x)
|
||||
|
||||
/*
|
||||
* The core of the MD5 algorithm, this alters an existing MD5 hash to
|
||||
@ -302,9 +302,8 @@ hmac_md5_init_limK_to_64(const unsigned char *key, int key_len,
|
||||
int i;
|
||||
|
||||
/* if key is longer than 64 bytes truncate it */
|
||||
if (key_len > 64) {
|
||||
if (key_len > 64)
|
||||
key_len = 64;
|
||||
}
|
||||
|
||||
/* start out by storing key in pads */
|
||||
memset(ctx->k_ipad, 0, sizeof(ctx->k_ipad));
|
||||
@ -359,9 +358,9 @@ hmac_md5(unsigned char key[16], unsigned char *data, int data_len,
|
||||
{
|
||||
struct HMACMD5Context ctx;
|
||||
hmac_md5_init_limK_to_64(key, 16, &ctx);
|
||||
if (data_len != 0) {
|
||||
if (data_len != 0)
|
||||
hmac_md5_update(data, data_len, &ctx);
|
||||
}
|
||||
|
||||
hmac_md5_final(digest, &ctx);
|
||||
}
|
||||
#endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* fs/cifs/misc.c
|
||||
*
|
||||
* Copyright (C) International Business Machines Corp., 2002,2007
|
||||
* Copyright (C) International Business Machines Corp., 2002,2008
|
||||
* Author(s): Steve French (sfrench@us.ibm.com)
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
@ -320,9 +320,9 @@ header_assemble(struct smb_hdr *buffer, char smb_command /* command */ ,
|
||||
if (treeCon->ses) {
|
||||
if (treeCon->ses->capabilities & CAP_UNICODE)
|
||||
buffer->Flags2 |= SMBFLG2_UNICODE;
|
||||
if (treeCon->ses->capabilities & CAP_STATUS32) {
|
||||
if (treeCon->ses->capabilities & CAP_STATUS32)
|
||||
buffer->Flags2 |= SMBFLG2_ERR_STATUS;
|
||||
}
|
||||
|
||||
/* Uid is not converted */
|
||||
buffer->Uid = treeCon->ses->Suid;
|
||||
buffer->Mid = GetNextMid(treeCon->ses->server);
|
||||
@ -610,7 +610,8 @@ dump_smb(struct smb_hdr *smb_buf, int smb_buf_length)
|
||||
|
||||
buffer = (unsigned char *) smb_buf;
|
||||
for (i = 0, j = 0; i < smb_buf_length; i++, j++) {
|
||||
if (i % 8 == 0) { /* have reached the beginning of line */
|
||||
if (i % 8 == 0) {
|
||||
/* have reached the beginning of line */
|
||||
printk(KERN_DEBUG "| ");
|
||||
j = 0;
|
||||
}
|
||||
@ -621,7 +622,8 @@ dump_smb(struct smb_hdr *smb_buf, int smb_buf_length)
|
||||
else
|
||||
debug_line[1 + (2 * j)] = '_';
|
||||
|
||||
if (i % 8 == 7) { /* reached end of line, time to print ascii */
|
||||
if (i % 8 == 7) {
|
||||
/* reached end of line, time to print ascii */
|
||||
debug_line[16] = 0;
|
||||
printk(" | %s\n", debug_line);
|
||||
}
|
||||
@ -631,7 +633,7 @@ dump_smb(struct smb_hdr *smb_buf, int smb_buf_length)
|
||||
debug_line[2 * j] = ' ';
|
||||
debug_line[1 + (2 * j)] = ' ';
|
||||
}
|
||||
printk( " | %s\n", debug_line);
|
||||
printk(" | %s\n", debug_line);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* fs/cifs/netmisc.c
|
||||
*
|
||||
* Copyright (c) International Business Machines Corp., 2002
|
||||
* Copyright (c) International Business Machines Corp., 2002,2008
|
||||
* Author(s): Steve French (sfrench@us.ibm.com)
|
||||
*
|
||||
* Error mapping routines from Samba libsmb/errormap.c
|
||||
@ -253,7 +253,8 @@ static const struct {
|
||||
ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_MIX}, {
|
||||
ERRHRD, ERRgeneral, NT_STATUS_INVALID_QUOTA_LOWER}, {
|
||||
ERRHRD, ERRgeneral, NT_STATUS_DISK_CORRUPT_ERROR}, {
|
||||
ERRDOS, ERRbadfile, NT_STATUS_OBJECT_NAME_INVALID}, { /* mapping changed since shell does lookup on * and expects file not found */
|
||||
/* mapping changed since shell does lookup on * expects FileNotFound */
|
||||
ERRDOS, ERRbadfile, NT_STATUS_OBJECT_NAME_INVALID}, {
|
||||
ERRDOS, ERRbadfile, NT_STATUS_OBJECT_NAME_NOT_FOUND}, {
|
||||
ERRDOS, ERRalreadyexists, NT_STATUS_OBJECT_NAME_COLLISION}, {
|
||||
ERRHRD, ERRgeneral, NT_STATUS_HANDLE_NOT_WAITABLE}, {
|
||||
@ -820,7 +821,8 @@ map_smb_to_linux_error(struct smb_hdr *smb, int logErr)
|
||||
/* old style errors */
|
||||
|
||||
/* DOS class smb error codes - map DOS */
|
||||
if (smberrclass == ERRDOS) { /* 1 byte field no need to byte reverse */
|
||||
if (smberrclass == ERRDOS) {
|
||||
/* 1 byte field no need to byte reverse */
|
||||
for (i = 0;
|
||||
i <
|
||||
sizeof(mapping_table_ERRDOS) /
|
||||
@ -834,7 +836,8 @@ map_smb_to_linux_error(struct smb_hdr *smb, int logErr)
|
||||
}
|
||||
/* else try next error mapping one to see if match */
|
||||
}
|
||||
} else if (smberrclass == ERRSRV) { /* server class of error codes */
|
||||
} else if (smberrclass == ERRSRV) {
|
||||
/* server class of error codes */
|
||||
for (i = 0;
|
||||
i <
|
||||
sizeof(mapping_table_ERRSRV) /
|
||||
@ -922,8 +925,8 @@ struct timespec cnvrtDosUnixTm(__u16 date, __u16 time)
|
||||
{
|
||||
struct timespec ts;
|
||||
int sec, min, days, month, year;
|
||||
SMB_TIME * st = (SMB_TIME *)&time;
|
||||
SMB_DATE * sd = (SMB_DATE *)&date;
|
||||
SMB_TIME *st = (SMB_TIME *)&time;
|
||||
SMB_DATE *sd = (SMB_DATE *)&date;
|
||||
|
||||
cFYI(1, ("date %d time %d", date, time));
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Directory search handling
|
||||
*
|
||||
* Copyright (C) International Business Machines Corp., 2004, 2007
|
||||
* Copyright (C) International Business Machines Corp., 2004, 2008
|
||||
* Author(s): Steve French (sfrench@us.ibm.com)
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
@ -42,15 +42,12 @@ static void dump_cifs_file_struct(struct file *file, char *label)
|
||||
cFYI(1, ("empty cifs private file data"));
|
||||
return;
|
||||
}
|
||||
if (cf->invalidHandle) {
|
||||
if (cf->invalidHandle)
|
||||
cFYI(1, ("invalid handle"));
|
||||
}
|
||||
if (cf->srch_inf.endOfSearch) {
|
||||
if (cf->srch_inf.endOfSearch)
|
||||
cFYI(1, ("end of search"));
|
||||
}
|
||||
if (cf->srch_inf.emptyDir) {
|
||||
if (cf->srch_inf.emptyDir)
|
||||
cFYI(1, ("empty dir"));
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* DEBUG2 */
|
||||
@ -150,7 +147,7 @@ static void fill_in_inode(struct inode *tmp_inode, int new_buf_type,
|
||||
cifs_NTtimeToUnix(le64_to_cpu(pfindData->ChangeTime));
|
||||
} else { /* legacy, OS2 and DOS style */
|
||||
/* struct timespec ts;*/
|
||||
FIND_FILE_STANDARD_INFO * pfindData =
|
||||
FIND_FILE_STANDARD_INFO *pfindData =
|
||||
(FIND_FILE_STANDARD_INFO *)buf;
|
||||
|
||||
tmp_inode->i_mtime = cnvrtDosUnixTm(
|
||||
@ -198,9 +195,8 @@ static void fill_in_inode(struct inode *tmp_inode, int new_buf_type,
|
||||
if (attr & ATTR_DIRECTORY) {
|
||||
*pobject_type = DT_DIR;
|
||||
/* override default perms since we do not lock dirs */
|
||||
if (atomic_read(&cifsInfo->inUse) == 0) {
|
||||
if (atomic_read(&cifsInfo->inUse) == 0)
|
||||
tmp_inode->i_mode = cifs_sb->mnt_dir_mode;
|
||||
}
|
||||
tmp_inode->i_mode |= S_IFDIR;
|
||||
} else if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) &&
|
||||
(attr & ATTR_SYSTEM)) {
|
||||
@ -231,9 +227,8 @@ static void fill_in_inode(struct inode *tmp_inode, int new_buf_type,
|
||||
} /* could add code here - to validate if device or weird share type? */
|
||||
|
||||
/* can not fill in nlink here as in qpathinfo version and Unx search */
|
||||
if (atomic_read(&cifsInfo->inUse) == 0) {
|
||||
if (atomic_read(&cifsInfo->inUse) == 0)
|
||||
atomic_set(&cifsInfo->inUse, 1);
|
||||
}
|
||||
|
||||
spin_lock(&tmp_inode->i_lock);
|
||||
if (is_size_safe_to_change(cifsInfo, end_of_file)) {
|
||||
@ -461,9 +456,8 @@ static int initiate_cifs_search(const int xid, struct file *file)
|
||||
|
||||
full_path = build_path_from_dentry(file->f_path.dentry);
|
||||
|
||||
if (full_path == NULL) {
|
||||
if (full_path == NULL)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
cFYI(1, ("Full path: %s start at: %lld", full_path, file->f_pos));
|
||||
|
||||
@ -471,9 +465,9 @@ ffirst_retry:
|
||||
/* test for Unix extensions */
|
||||
/* but now check for them on the share/mount not on the SMB session */
|
||||
/* if (pTcon->ses->capabilities & CAP_UNIX) { */
|
||||
if (pTcon->unix_ext) {
|
||||
if (pTcon->unix_ext)
|
||||
cifsFile->srch_inf.info_level = SMB_FIND_FILE_UNIX;
|
||||
} else if ((pTcon->ses->capabilities &
|
||||
else if ((pTcon->ses->capabilities &
|
||||
(CAP_NT_SMBS | CAP_NT_FIND)) == 0) {
|
||||
cifsFile->srch_inf.info_level = SMB_FIND_FILE_INFO_STANDARD;
|
||||
} else if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) {
|
||||
@ -514,10 +508,10 @@ static int cifs_unicode_bytelen(char *str)
|
||||
static char *nxt_dir_entry(char *old_entry, char *end_of_smb, int level)
|
||||
{
|
||||
char *new_entry;
|
||||
FILE_DIRECTORY_INFO * pDirInfo = (FILE_DIRECTORY_INFO *)old_entry;
|
||||
FILE_DIRECTORY_INFO *pDirInfo = (FILE_DIRECTORY_INFO *)old_entry;
|
||||
|
||||
if (level == SMB_FIND_FILE_INFO_STANDARD) {
|
||||
FIND_FILE_STANDARD_INFO * pfData;
|
||||
FIND_FILE_STANDARD_INFO *pfData;
|
||||
pfData = (FIND_FILE_STANDARD_INFO *)pDirInfo;
|
||||
|
||||
new_entry = old_entry + sizeof(FIND_FILE_STANDARD_INFO) +
|
||||
@ -553,7 +547,7 @@ static int cifs_entry_is_dot(char *current_entry, struct cifsFileInfo *cfile)
|
||||
int len = 0;
|
||||
|
||||
if (cfile->srch_inf.info_level == SMB_FIND_FILE_UNIX) {
|
||||
FILE_UNIX_INFO * pFindData = (FILE_UNIX_INFO *)current_entry;
|
||||
FILE_UNIX_INFO *pFindData = (FILE_UNIX_INFO *)current_entry;
|
||||
filename = &pFindData->FileName[0];
|
||||
if (cfile->srch_inf.unicode) {
|
||||
len = cifs_unicode_bytelen(filename);
|
||||
@ -562,30 +556,30 @@ static int cifs_entry_is_dot(char *current_entry, struct cifsFileInfo *cfile)
|
||||
len = strnlen(filename, 5);
|
||||
}
|
||||
} else if (cfile->srch_inf.info_level == SMB_FIND_FILE_DIRECTORY_INFO) {
|
||||
FILE_DIRECTORY_INFO * pFindData =
|
||||
FILE_DIRECTORY_INFO *pFindData =
|
||||
(FILE_DIRECTORY_INFO *)current_entry;
|
||||
filename = &pFindData->FileName[0];
|
||||
len = le32_to_cpu(pFindData->FileNameLength);
|
||||
} else if (cfile->srch_inf.info_level ==
|
||||
SMB_FIND_FILE_FULL_DIRECTORY_INFO) {
|
||||
FILE_FULL_DIRECTORY_INFO * pFindData =
|
||||
FILE_FULL_DIRECTORY_INFO *pFindData =
|
||||
(FILE_FULL_DIRECTORY_INFO *)current_entry;
|
||||
filename = &pFindData->FileName[0];
|
||||
len = le32_to_cpu(pFindData->FileNameLength);
|
||||
} else if (cfile->srch_inf.info_level ==
|
||||
SMB_FIND_FILE_ID_FULL_DIR_INFO) {
|
||||
SEARCH_ID_FULL_DIR_INFO * pFindData =
|
||||
SEARCH_ID_FULL_DIR_INFO *pFindData =
|
||||
(SEARCH_ID_FULL_DIR_INFO *)current_entry;
|
||||
filename = &pFindData->FileName[0];
|
||||
len = le32_to_cpu(pFindData->FileNameLength);
|
||||
} else if (cfile->srch_inf.info_level ==
|
||||
SMB_FIND_FILE_BOTH_DIRECTORY_INFO) {
|
||||
FILE_BOTH_DIRECTORY_INFO * pFindData =
|
||||
FILE_BOTH_DIRECTORY_INFO *pFindData =
|
||||
(FILE_BOTH_DIRECTORY_INFO *)current_entry;
|
||||
filename = &pFindData->FileName[0];
|
||||
len = le32_to_cpu(pFindData->FileNameLength);
|
||||
} else if (cfile->srch_inf.info_level == SMB_FIND_FILE_INFO_STANDARD) {
|
||||
FIND_FILE_STANDARD_INFO * pFindData =
|
||||
FIND_FILE_STANDARD_INFO *pFindData =
|
||||
(FIND_FILE_STANDARD_INFO *)current_entry;
|
||||
filename = &pFindData->FileName[0];
|
||||
len = pFindData->FileNameLength;
|
||||
@ -718,7 +712,7 @@ static int find_cifs_entry(const int xid, struct cifsTconInfo *pTcon,
|
||||
pos_in_buf = index_to_find - first_entry_in_buffer;
|
||||
cFYI(1, ("found entry - pos_in_buf %d", pos_in_buf));
|
||||
|
||||
for (i=0; (i < (pos_in_buf)) && (current_entry != NULL); i++) {
|
||||
for (i = 0; (i < (pos_in_buf)) && (current_entry != NULL); i++) {
|
||||
/* go entry by entry figuring out which is first */
|
||||
current_entry = nxt_dir_entry(current_entry, end_of_smb,
|
||||
cifsFile->srch_inf.info_level);
|
||||
@ -793,7 +787,7 @@ static int cifs_get_name_from_search_buf(struct qstr *pqst,
|
||||
filename = &pFindData->FileName[0];
|
||||
len = le32_to_cpu(pFindData->FileNameLength);
|
||||
} else if (level == SMB_FIND_FILE_INFO_STANDARD) {
|
||||
FIND_FILE_STANDARD_INFO * pFindData =
|
||||
FIND_FILE_STANDARD_INFO *pFindData =
|
||||
(FIND_FILE_STANDARD_INFO *)current_entry;
|
||||
filename = &pFindData->FileName[0];
|
||||
/* one byte length, no name conversion */
|
||||
@ -928,7 +922,7 @@ static int cifs_save_resume_key(const char *current_entry,
|
||||
level = cifsFile->srch_inf.info_level;
|
||||
|
||||
if (level == SMB_FIND_FILE_UNIX) {
|
||||
FILE_UNIX_INFO * pFindData = (FILE_UNIX_INFO *)current_entry;
|
||||
FILE_UNIX_INFO *pFindData = (FILE_UNIX_INFO *)current_entry;
|
||||
|
||||
filename = &pFindData->FileName[0];
|
||||
if (cifsFile->srch_inf.unicode) {
|
||||
|
@ -114,42 +114,42 @@ static uchar sbox[8][4][16] = {
|
||||
{{14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7},
|
||||
{0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8},
|
||||
{4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0},
|
||||
{15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13}},
|
||||
{15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13} },
|
||||
|
||||
{{15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10},
|
||||
{3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5},
|
||||
{0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15},
|
||||
{13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9}},
|
||||
{13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9} },
|
||||
|
||||
{{10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8},
|
||||
{13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1},
|
||||
{13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7},
|
||||
{1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12}},
|
||||
{1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12} },
|
||||
|
||||
{{7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15},
|
||||
{13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9},
|
||||
{10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4},
|
||||
{3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14}},
|
||||
{3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14} },
|
||||
|
||||
{{2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9},
|
||||
{14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6},
|
||||
{4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14},
|
||||
{11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3}},
|
||||
{11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3} },
|
||||
|
||||
{{12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11},
|
||||
{10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8},
|
||||
{9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6},
|
||||
{4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13}},
|
||||
{4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13} },
|
||||
|
||||
{{4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1},
|
||||
{13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6},
|
||||
{1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2},
|
||||
{6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12}},
|
||||
{6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12} },
|
||||
|
||||
{{13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7},
|
||||
{1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2},
|
||||
{7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8},
|
||||
{2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11}}
|
||||
{2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11} }
|
||||
};
|
||||
|
||||
static void
|
||||
@ -313,9 +313,8 @@ str_to_key(unsigned char *str, unsigned char *key)
|
||||
key[5] = ((str[4] & 0x1F) << 2) | (str[5] >> 6);
|
||||
key[6] = ((str[5] & 0x3F) << 1) | (str[6] >> 7);
|
||||
key[7] = str[6] & 0x7F;
|
||||
for (i = 0; i < 8; i++) {
|
||||
for (i = 0; i < 8; i++)
|
||||
key[i] = (key[i] << 1);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@ -344,9 +343,8 @@ smbhash(unsigned char *out, unsigned char *in, unsigned char *key, int forw)
|
||||
|
||||
dohash(outb, inb, keyb, forw);
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
for (i = 0; i < 8; i++)
|
||||
out[i] = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < 64; i++) {
|
||||
if (outb[i])
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* fs/cifs/transport.c
|
||||
*
|
||||
* Copyright (C) International Business Machines Corp., 2002,2007
|
||||
* Copyright (C) International Business Machines Corp., 2002,2008
|
||||
* Author(s): Steve French (sfrench@us.ibm.com)
|
||||
* Jeremy Allison (jra@samba.org) 2006.
|
||||
*
|
||||
@ -358,9 +358,9 @@ static int allocate_mid(struct cifsSesInfo *ses, struct smb_hdr *in_buf,
|
||||
} else if (ses->status != CifsGood) {
|
||||
/* check if SMB session is bad because we are setting it up */
|
||||
if ((in_buf->Command != SMB_COM_SESSION_SETUP_ANDX) &&
|
||||
(in_buf->Command != SMB_COM_NEGOTIATE)) {
|
||||
(in_buf->Command != SMB_COM_NEGOTIATE))
|
||||
return -EAGAIN;
|
||||
} /* else ok - we are setting up session */
|
||||
/* else ok - we are setting up session */
|
||||
}
|
||||
*ppmidQ = AllocMidQEntry(in_buf, ses);
|
||||
if (*ppmidQ == NULL)
|
||||
|
@ -139,9 +139,9 @@ int cifs_setxattr(struct dentry *direntry, const char *ea_name,
|
||||
} else if (strncmp(ea_name, CIFS_XATTR_USER_PREFIX, 5) == 0) {
|
||||
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR)
|
||||
goto set_ea_exit;
|
||||
if (strncmp(ea_name, CIFS_XATTR_DOS_ATTRIB, 14) == 0) {
|
||||
if (strncmp(ea_name, CIFS_XATTR_DOS_ATTRIB, 14) == 0)
|
||||
cFYI(1, ("attempt to set cifs inode metadata"));
|
||||
}
|
||||
|
||||
ea_name += 5; /* skip past user. prefix */
|
||||
rc = CIFSSMBSetEA(xid, pTcon, full_path, ea_name, ea_value,
|
||||
(__u16)value_size, cifs_sb->local_nls,
|
||||
@ -262,7 +262,7 @@ ssize_t cifs_getxattr(struct dentry *direntry, const char *ea_name,
|
||||
cifs_sb->mnt_cifs_flags &
|
||||
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
#ifdef CONFIG_CIFS_EXPERIMENTAL
|
||||
else if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) {
|
||||
else if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) {
|
||||
__u16 fid;
|
||||
int oplock = FALSE;
|
||||
struct cifs_ntsd *pacl = NULL;
|
||||
@ -303,11 +303,10 @@ ssize_t cifs_getxattr(struct dentry *direntry, const char *ea_name,
|
||||
} else if (strncmp(ea_name,
|
||||
CIFS_XATTR_SECURITY_PREFIX, XATTR_SECURITY_PREFIX_LEN) == 0) {
|
||||
cFYI(1, ("Security xattr namespace not supported yet"));
|
||||
} else {
|
||||
} else
|
||||
cFYI(1,
|
||||
("illegal xattr request %s (only user namespace supported)",
|
||||
ea_name));
|
||||
}
|
||||
|
||||
/* We could add an additional check for streams ie
|
||||
if proc/fs/cifs/streamstoxattr is set then
|
||||
|
Loading…
Reference in New Issue
Block a user