Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
Linux
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Srini Kandagatla
Linux
Commits
44ba8406
Commit
44ba8406
authored
11 years ago
by
Al Viro
Browse files
Options
Downloads
Patches
Plain Diff
ncpfs: switch to sockfd_lookup()/sockfd_put()
Signed-off-by:
Al Viro
<
viro@zeniv.linux.org.uk
>
parent
e2511578
Loading
Loading
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
fs/ncpfs/inode.c
+12
-38
12 additions, 38 deletions
fs/ncpfs/inode.c
fs/ncpfs/ncp_fs_sb.h
+0
-2
0 additions, 2 deletions
fs/ncpfs/ncp_fs_sb.h
with
12 additions
and
40 deletions
fs/ncpfs/inode.c
+
12
−
38
View file @
44ba8406
...
...
@@ -468,9 +468,7 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent)
{
struct
ncp_mount_data_kernel
data
;
struct
ncp_server
*
server
;
struct
file
*
ncp_filp
;
struct
inode
*
root_inode
;
struct
inode
*
sock_inode
;
struct
socket
*
sock
;
int
error
;
int
default_bufsize
;
...
...
@@ -539,18 +537,10 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent)
if
(
!
uid_valid
(
data
.
mounted_uid
)
||
!
uid_valid
(
data
.
uid
)
||
!
gid_valid
(
data
.
gid
))
goto
out
;
error
=
-
EBADF
;
ncp_filp
=
fget
(
data
.
ncp_fd
);
if
(
!
ncp_filp
)
goto
out
;
error
=
-
ENOTSOCK
;
sock_inode
=
file_inode
(
ncp_filp
);
if
(
!
S_ISSOCK
(
sock_inode
->
i_mode
))
goto
out_fput
;
sock
=
SOCKET_I
(
sock_inode
);
sock
=
sockfd_lookup
(
data
.
ncp_fd
,
&
error
);
if
(
!
sock
)
goto
out
_fput
;
goto
out
;
if
(
sock
->
type
==
SOCK_STREAM
)
default_bufsize
=
0xF000
;
else
...
...
@@ -572,27 +562,16 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent)
if
(
error
)
goto
out_fput
;
server
->
ncp_filp
=
ncp_filp
;
server
->
ncp_sock
=
sock
;
if
(
data
.
info_fd
!=
-
1
)
{
struct
socket
*
info_sock
;
error
=
-
EBADF
;
server
->
info_filp
=
fget
(
data
.
info_fd
);
if
(
!
server
->
info_filp
)
goto
out_bdi
;
error
=
-
ENOTSOCK
;
sock_inode
=
file_inode
(
server
->
info_filp
);
if
(
!
S_ISSOCK
(
sock_inode
->
i_mode
))
goto
out_fput2
;
info_sock
=
SOCKET_I
(
sock_inode
);
struct
socket
*
info_sock
=
sockfd_lookup
(
data
.
info_fd
,
&
error
);
if
(
!
info_sock
)
goto
out_fput2
;
goto
out_bdi
;
server
->
info_sock
=
info_sock
;
error
=
-
EBADFD
;
if
(
info_sock
->
type
!=
SOCK_STREAM
)
goto
out_fput2
;
server
->
info_sock
=
info_sock
;
}
/* server->lock = 0; */
...
...
@@ -764,17 +743,12 @@ out_nls:
mutex_destroy
(
&
server
->
root_setup_lock
);
mutex_destroy
(
&
server
->
mutex
);
out_fput2:
if
(
server
->
info_
filp
)
f
put
(
server
->
info_
filp
);
if
(
server
->
info_
sock
)
sockfd_
put
(
server
->
info_
sock
);
out_bdi:
bdi_destroy
(
&
server
->
bdi
);
out_fput:
/* 23/12/1998 Marcin Dalecki <dalecki@cs.net.pl>:
*
* The previously used put_filp(ncp_filp); was bogus, since
* it doesn't perform proper unlocking.
*/
fput
(
ncp_filp
);
sockfd_put
(
sock
);
out:
put_pid
(
data
.
wdog_pid
);
sb
->
s_fs_info
=
NULL
;
...
...
@@ -807,9 +781,9 @@ static void ncp_put_super(struct super_block *sb)
mutex_destroy
(
&
server
->
root_setup_lock
);
mutex_destroy
(
&
server
->
mutex
);
if
(
server
->
info_
filp
)
f
put
(
server
->
info_
filp
);
f
put
(
server
->
ncp_
filp
);
if
(
server
->
info_
sock
)
sockfd_
put
(
server
->
info_
sock
);
sockfd_
put
(
server
->
ncp_
sock
);
kill_pid
(
server
->
m
.
wdog_pid
,
SIGTERM
,
1
);
put_pid
(
server
->
m
.
wdog_pid
);
...
...
This diff is collapsed.
Click to expand it.
fs/ncpfs/ncp_fs_sb.h
+
0
−
2
View file @
44ba8406
...
...
@@ -45,9 +45,7 @@ struct ncp_server {
__u8
name_space
[
NCP_NUMBER_OF_VOLUMES
+
2
];
struct
file
*
ncp_filp
;
/* File pointer to ncp socket */
struct
socket
*
ncp_sock
;
/* ncp socket */
struct
file
*
info_filp
;
struct
socket
*
info_sock
;
u8
sequence
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment