bugThe GNU Hurd - Bugs: bug #30256, device_close not automatically...


bug #30256: device_close not automatically closed on port closure

Submitter:  None
Submitted:  Thu 24 Jun 2010 10:03:31 PM UTC
Category:  GNU Mach Severity:  3 - Normal
Priority:  5 - Normal Item Group:  None
Status:  None Privacy:  Public
Assigned to:  None Originator Name: 
Originator Email:  -email is unavailable- Open/Closed:  Open
Reproducibility:  Every Time Size (loc):  None
Planned Release:  None Effort:  0.00
Wiki-like text discussion box: 

* Mandatory Fields

Add a New Comment Rich Markup

Wed 30 Jun 2010 02:20:34 AM UTC, comment #2: 

I'd have thought that no_senders would be called when the port is
really closed, but for some reason that doesn't happen. portinfo claims
only my test process has a reference to the port. The kernel source
code seems to make sure that the kernel only has a receive reference to
the port.

Samuel Thibault <sthibaul>
Group administrator
Wed 30 Jun 2010 01:48:58 AM UTC, comment #1: 

Mmm, reading it looks as if they're not supposed to be coupled.

Reopening a device twice returns the same port, with an additional
reference on it.  As of now, closing the port does not close the
device, and if you reopen the device, you get again the same port, on
which you can call close_device() twice: once for the re-open, and once
for the previous open.

The issue at stake is for instance swapon: it store_open("/dev/hd2"),
which opens /dev/hd2, then call file_get_storage_info(), which gets the
device port. swapon then uses store_remap, which closes the port to
/dev/hd2 (but keeps the device port). This assumes that no device_close
has been done (i.e. the device_open responsibility done by storeio is
somehow transferred to swapon...). But what if nobody remembers to
close_device? (which is the case atm)

Samuel Thibault <sthibaul>
Group administrator
Thu 24 Jun 2010 10:03:31 PM UTC, original submission:  

if a process uses device_open() but not device_close before exiting, the mach device will remain open.



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by sthibaul (Posted a comment)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    No changes have been made to this item

    Back to the top

    Powered by Savane 3.12.
    Corresponding source code