Bug 183130 - mount leaks socket descriptors under some conditions
Summary: mount leaks socket descriptors under some conditions
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: util-linux
Version: 3.0
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Steve Dickson
QA Contact: Ben Levenson
Depends On:
TreeView+ depends on / blocked
Reported: 2006-02-26 18:52 UTC by Neil Horman
Modified: 2007-11-30 22:07 UTC (History)
1 user (show)

Clone Of:
Last Closed: 2006-03-28 15:27:10 UTC

Attachments (Terms of Use)
patch to correct mount socket leak (1.04 KB, patch)
2006-02-26 18:52 UTC, Neil Horman
no flags Details | Diff

Description Neil Horman 2006-02-26 18:52:12 UTC
Description of problem:
if try_mount_one function in the mount utility follows the retry_nfs goto
(usually occuring because of a local mount error following a successful contact
of the nfs server, the mount utility will leak socket descriptors.  This is due
to the fact that nfsmount records the socket that is bound and connected to an
nfs server in a static data structure which gets overwritten without being first
closed on repetative calls to nfsmount through the retry_nfs path in try_mount_one.

Version-Release number of selected component (if applicable):
2.11y and forward

How reproducible:

Steps to Reproduce:
1.add ~600 nfs mounts to /etc/fstab
2.issue a service netfs start
Actual results:
not all mounts are mounted.  mounts begin failing eventually with EADDRINUSE

Expected results:
all mounts successful.

Additional info:
I've written the attached patch to correct this problem by initalizing the
static data in nfsmount() and checking it on each entry to the function.  If it
is greater than zero it is closed before attempting to open a new socket. 
Tested by myself and the reporter with successful results.

Comment 1 Neil Horman 2006-02-26 18:52:13 UTC
Created attachment 125282 [details]
patch to correct mount socket leak

Note You need to log in before you can comment on or make changes to this bug.