Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
etercifs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
etercifs
Commits
ff742b47
Commit
ff742b47
authored
Jun 21, 2015
by
Pavel Shilovsky
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update 4.0 sources from stable (v4.0.5)
parent
190cdfe2
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
32 additions
and
12 deletions
+32
-12
cifsencrypt.c
sources/4.0/cifsencrypt.c
+5
-1
connect.c
sources/4.0/connect.c
+11
-2
file.c
sources/4.0/file.c
+1
-0
inode.c
sources/4.0/inode.c
+2
-0
smb2misc.c
sources/4.0/smb2misc.c
+1
-1
smb2ops.c
sources/4.0/smb2ops.c
+2
-1
smb2pdu.c
sources/4.0/smb2pdu.c
+10
-7
No files found.
sources/4.0/cifsencrypt.c
View file @
ff742b47
/*
* fs/cifs/cifsencrypt.c
*
* Encryption and hashing operations relating to NTLM, NTLMv2. See MS-NLMP
* for more detailed information
*
* Copyright (C) International Business Machines Corp., 2005,2013
* Author(s): Steve French (sfrench@us.ibm.com)
*
...
...
@@ -515,7 +518,8 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
__func__
);
return
rc
;
}
}
else
if
(
ses
->
serverName
)
{
}
else
{
/* We use ses->serverName if no domain name available */
len
=
strlen
(
ses
->
serverName
);
server
=
kmalloc
(
2
+
(
len
*
2
),
GFP_KERNEL
);
...
...
sources/4.0/connect.c
View file @
ff742b47
...
...
@@ -1604,6 +1604,8 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
pr_warn
(
"CIFS: username too long
\n
"
);
goto
cifs_parse_mount_err
;
}
kfree
(
vol
->
username
);
vol
->
username
=
kstrdup
(
string
,
GFP_KERNEL
);
if
(
!
vol
->
username
)
goto
cifs_parse_mount_err
;
...
...
@@ -1705,6 +1707,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
goto
cifs_parse_mount_err
;
}
kfree
(
vol
->
domainname
);
vol
->
domainname
=
kstrdup
(
string
,
GFP_KERNEL
);
if
(
!
vol
->
domainname
)
{
pr_warn
(
"CIFS: no memory for domainname
\n
"
);
...
...
@@ -1736,6 +1739,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
}
if
(
strncasecmp
(
string
,
"default"
,
7
)
!=
0
)
{
kfree
(
vol
->
iocharset
);
vol
->
iocharset
=
kstrdup
(
string
,
GFP_KERNEL
);
if
(
!
vol
->
iocharset
)
{
...
...
@@ -2918,8 +2922,7 @@ ip_rfc1001_connect(struct TCP_Server_Info *server)
* calling name ends in null (byte 16) from old smb
* convention.
*/
if
(
server
->
workstation_RFC1001_name
&&
server
->
workstation_RFC1001_name
[
0
]
!=
0
)
if
(
server
->
workstation_RFC1001_name
[
0
]
!=
0
)
rfc1002mangle
(
ses_init_buf
->
trailer
.
session_req
.
calling_name
,
server
->
workstation_RFC1001_name
,
...
...
@@ -3697,6 +3700,12 @@ CIFSTCon(const unsigned int xid, struct cifs_ses *ses,
#endif
/* CIFS_WEAK_PW_HASH */
rc
=
SMBNTencrypt
(
tcon
->
password
,
ses
->
server
->
cryptkey
,
bcc_ptr
,
nls_codepage
);
if
(
rc
)
{
cifs_dbg
(
FYI
,
"%s Can't generate NTLM rsp. Error: %d
\n
"
,
__func__
,
rc
);
cifs_buf_release
(
smb_buffer
);
return
rc
;
}
bcc_ptr
+=
CIFS_AUTH_RESP_SIZE
;
if
(
ses
->
capabilities
&
CAP_UNICODE
)
{
...
...
sources/4.0/file.c
View file @
ff742b47
...
...
@@ -1831,6 +1831,7 @@ refind_writable:
cifsFileInfo_put
(
inv_file
);
spin_lock
(
&
cifs_file_list_lock
);
++
refind
;
inv_file
=
NULL
;
goto
refind_writable
;
}
}
...
...
sources/4.0/inode.c
View file @
ff742b47
...
...
@@ -772,6 +772,8 @@ cifs_get_inode_info(struct inode **inode, const char *full_path,
cifs_buf_release
(
srchinf
->
ntwrk_buf_start
);
}
kfree
(
srchinf
);
if
(
rc
)
goto
cgii_exit
;
}
else
goto
cgii_exit
;
...
...
sources/4.0/smb2misc.c
View file @
ff742b47
...
...
@@ -322,7 +322,7 @@ smb2_get_data_area_len(int *off, int *len, struct smb2_hdr *hdr)
/* return pointer to beginning of data area, ie offset from SMB start */
if
((
*
off
!=
0
)
&&
(
*
len
!=
0
))
return
hdr
->
ProtocolId
+
*
off
;
return
(
char
*
)(
&
hdr
->
ProtocolId
[
0
])
+
*
off
;
else
return
NULL
;
}
...
...
sources/4.0/smb2ops.c
View file @
ff742b47
...
...
@@ -687,7 +687,8 @@ smb2_clone_range(const unsigned int xid,
/* No need to change MaxChunks since already set to 1 */
chunk_sizes_updated
=
true
;
}
}
else
goto
cchunk_out
;
}
cchunk_out:
...
...
sources/4.0/smb2pdu.c
View file @
ff742b47
...
...
@@ -1218,7 +1218,7 @@ SMB2_ioctl(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid,
struct
smb2_ioctl_req
*
req
;
struct
smb2_ioctl_rsp
*
rsp
;
struct
TCP_Server_Info
*
server
;
struct
cifs_ses
*
ses
=
tcon
->
ses
;
struct
cifs_ses
*
ses
;
struct
kvec
iov
[
2
];
int
resp_buftype
;
int
num_iovecs
;
...
...
@@ -1233,6 +1233,11 @@ SMB2_ioctl(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid,
if
(
plen
)
*
plen
=
0
;
if
(
tcon
)
ses
=
tcon
->
ses
;
else
return
-
EIO
;
if
(
ses
&&
(
ses
->
server
))
server
=
ses
->
server
;
else
...
...
@@ -1296,14 +1301,12 @@ SMB2_ioctl(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid,
rsp
=
(
struct
smb2_ioctl_rsp
*
)
iov
[
0
].
iov_base
;
if
((
rc
!=
0
)
&&
(
rc
!=
-
EINVAL
))
{
if
(
tcon
)
cifs_stats_fail_inc
(
tcon
,
SMB2_IOCTL_HE
);
cifs_stats_fail_inc
(
tcon
,
SMB2_IOCTL_HE
);
goto
ioctl_exit
;
}
else
if
(
rc
==
-
EINVAL
)
{
if
((
opcode
!=
FSCTL_SRV_COPYCHUNK_WRITE
)
&&
(
opcode
!=
FSCTL_SRV_COPYCHUNK
))
{
if
(
tcon
)
cifs_stats_fail_inc
(
tcon
,
SMB2_IOCTL_HE
);
cifs_stats_fail_inc
(
tcon
,
SMB2_IOCTL_HE
);
goto
ioctl_exit
;
}
}
...
...
@@ -1629,7 +1632,7 @@ SMB2_flush(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid,
rc
=
SendReceive2
(
xid
,
ses
,
iov
,
1
,
&
resp_buftype
,
0
);
if
(
(
rc
!=
0
)
&&
tcon
)
if
(
rc
!=
0
)
cifs_stats_fail_inc
(
tcon
,
SMB2_FLUSH_HE
);
free_rsp_buf
(
resp_buftype
,
iov
[
0
].
iov_base
);
...
...
@@ -2114,7 +2117,7 @@ SMB2_query_directory(const unsigned int xid, struct cifs_tcon *tcon,
struct
kvec
iov
[
2
];
int
rc
=
0
;
int
len
;
int
resp_buftype
;
int
resp_buftype
=
CIFS_NO_BUFFER
;
unsigned
char
*
bufptr
;
struct
TCP_Server_Info
*
server
;
struct
cifs_ses
*
ses
=
tcon
->
ses
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment