Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#17546 - [netcfg] does not cd before doing its mojo

Attached to Project: Arch Linux
Opened by Pete (tam1138) - Friday, 18 December 2009, 22:54 GMT
Last edited by Andrea Scarpino (BaSh) - Saturday, 22 January 2011, 09:58 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To James Rayner (iphitus)
Thomas Bächler (brain0)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

If one has the misfortune of being in a transiently-mounted directory whilst using netcfg to bring up an interface, the processes forked by netcfg (eg, wpa_supplicant, dhcpcd, dhclient, etc) will have said transiently-mounted directory as their current working directory, thus preventing it from being unmounted. cd'ing to a directory guaranteed to be in the root filesystem (eg, /) before forking would fix this.

$ pacman -Q netcfg
netcfg 2.2.1-1

Steps to reproduce:

(assuming /dev/sdb1 is a partition on a newly-inserted, eg, USB drive)
# mount /dev/sdb1 /mnt/tmp
# cd /mnt/tmp
# netcfg yournet
# cd /
# umount /mnt/tmp
umount: /mnt/tmp: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
# lsof -f | grep wpa.*cwd
wpa_suppl 25660 root cwd DIR 254,0 4096 2 /mnt/tmp
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Saturday, 22 January 2011, 09:58 GMT
Reason for closing:  Fixed
Additional comments about closing:  http://projects.archlinux.org/netcfg.git /commit/?id=93540ca0206a577ecfb15b5a08f8 df12c728912a
Comment by Jesse Young (jlyo) - Tuesday, 26 October 2010, 02:19 GMT
This sounds like a bug for wpa_supplicant. Usually a daemonizing process cds into / by itself and doesn't rely on its caller to be in the root directory.

Loading...