Your message dated Mon, 03 Mar 2008 15:17:04 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#460133: fixed in hal 0.5.10+git20080301-1
has caused the Debian Bug report #460133,
regarding hal: hlad-addon-input does not release device nodes.
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)
--
460133: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=460133
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: hal
Version: 0.5.10-5
Severity: important
Tags: patch
hald-addon-input does not release evdev device nodes when a device is
removed. Because hald still has the device open the kernel cannot free
the device node. After a number of plug/unplug cycles (typically 32)
runs out of device nodes, effectively preventing hotplug of USB HID.
This is a major issue on systems with USB keyboards/mice that are
unplugged on a regular basis, e.g. a laptop or USB hub that is powered
off ovenight.
When a physical device is removed the destroy_data callback is invoked.
This cears the GIOChannel hash table without releasing the channel
object. Because the FD is never released the kernel never removes the
device, and remove_device is never called. Even if remove_device were
called the hash entry has been cleared, so the channel would still not
be released. At best this leaks file descriptors, at worst if results
in the DoS described above.
The attached patch fixes this be releasing the channel object in
remove_device.
Paul
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.22-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)
Versions of packages hal depends on:
ii adduser 3.105 add and remove users and groups
ii dbus 1.1.2-1 simple interprocess messaging syst
ii hal-info 20071212-2 Hardware Abstraction Layer - fdi f
ii libc6 2.7-5 GNU C Library: Shared libraries
ii libdbus-1-3 1.1.2-1 simple interprocess messaging syst
ii libdbus-glib-1-2 0.74-1 simple interprocess messaging syst
ii libexpat1 1.95.8-4 XML parsing C library - runtime li
ii libgcc1 1:4.2.2-4 GCC support library
ii libglib2.0-0 2.14.4-2 The GLib library of C routines
ii libhal-storage1 0.5.10-5 Hardware Abstraction Layer - share
ii libhal1 0.5.10-5 Hardware Abstraction Layer - share
ii libsmbios1 0.13.10-1 Provide access to (SM)BIOS informa
ii libstdc++6 4.2.2-4 The GNU Standard C++ Library v3
ii libusb-0.1-4 2:0.1.12-8 userspace USB programming library
ii libvolume-id0 0.114-2 libvolume_id shared library
ii lsb-base 3.1-24 Linux Standard Base 3.1 init scrip
ii mount 2.13-13 Tools for mounting and manipulatin
ii pciutils 1:2.2.4-1.1 Linux PCI Utilities
ii pm-utils 0.99.2-3 utilities and scripts for power ma
ii udev 0.114-2 /dev/ and hotplug management daemo
ii usbutils 0.73-5 Linux USB utilities
Versions of packages hal recommends:
ii eject 2.1.5-6 ejects CDs and operates CD-Changer
ii libsmbios-bin 0.13.10-1 Provide access to (SM)BIOS informa
-- no debconf information
diff -ur clean/hald/linux/addons/addon-input.c hal-0.5.10/hald/linux/addons/addon-input.c
--- clean/hald/linux/addons/addon-input.c
+++ hal-0.5.10/hald/linux/addons/addon-input.c
@@ -300,8 +300,14 @@
static void
destroy_data (InputData *data)
{
+ GIOChannel *channel;
+
HAL_DEBUG (("Removing GIOChannel for'%s'", data->udi));
+ channel = g_hash_table_lookup(inputs, data->udi);
+ if (channel)
+ g_io_channel_unref (channel);
+
/* Null out the GIOChannel in the hash table, but
* leave the key in for DeviceRemoved
*/
--- End Message ---
--- Begin Message ---
Source: hal
Source-Version: 0.5.10+git20080301-1
We believe that the bug you reported is fixed in the latest version of
hal, which is due to be installed in the Debian FTP archive:
hal-doc_0.5.10+git20080301-1_all.deb
to pool/main/h/hal/hal-doc_0.5.10+git20080301-1_all.deb
hal_0.5.10+git20080301-1.diff.gz
to pool/main/h/hal/hal_0.5.10+git20080301-1.diff.gz
hal_0.5.10+git20080301-1.dsc
to pool/main/h/hal/hal_0.5.10+git20080301-1.dsc
hal_0.5.10+git20080301-1_amd64.deb
to pool/main/h/hal/hal_0.5.10+git20080301-1_amd64.deb
hal_0.5.10+git20080301.orig.tar.gz
to pool/main/h/hal/hal_0.5.10+git20080301.orig.tar.gz
libhal-dev_0.5.10+git20080301-1_amd64.deb
to pool/main/h/hal/libhal-dev_0.5.10+git20080301-1_amd64.deb
libhal-storage-dev_0.5.10+git20080301-1_amd64.deb
to pool/main/h/hal/libhal-storage-dev_0.5.10+git20080301-1_amd64.deb
libhal-storage1_0.5.10+git20080301-1_amd64.deb
to pool/main/h/hal/libhal-storage1_0.5.10+git20080301-1_amd64.deb
libhal1_0.5.10+git20080301-1_amd64.deb
to pool/main/h/hal/libhal1_0.5.10+git20080301-1_amd64.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Sjoerd Simons <[EMAIL PROTECTED]> (supplier of updated hal package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.7
Date: Mon, 03 Mar 2008 15:22:39 +0100
Source: hal
Binary: hal hal-doc libhal1 libhal-storage1 libhal-dev libhal-storage-dev
Architecture: source all amd64
Version: 0.5.10+git20080301-1
Distribution: unstable
Urgency: low
Maintainer: Utopia Maintenance Team <[EMAIL PROTECTED]>
Changed-By: Sjoerd Simons <[EMAIL PROTECTED]>
Description:
hal - Hardware Abstraction Layer
hal-doc - Hardware Abstraction Layer - documentation
libhal-dev - Hardware Abstraction Layer - development files
libhal-storage-dev - Hardware Abstraction Layer - development files
libhal-storage1 - Hardware Abstraction Layer - shared library for storage
devices
libhal1 - Hardware Abstraction Layer - shared library
Closes: 455198 460072 460133 462723 463480 463740 463878
Changes:
hal (0.5.10+git20080301-1) unstable; urgency=low
.
[ Michael Biebl ]
* debian/rules
- Explicitly disable the macbook addon to ensure reliable build results
with unclean build chroots.
* debian/dbus.init
- Fix LSB init header. Use $remote_fs instead of $local_fs as the
daemon requires /usr to be mounted. Remove S from Should-Stop.
* debian/copyright
- The documentation in the doc/ subdirectory is licensed under the GFDL.
Update the copyright notice accordingly.
.
[ Sjoerd Simons ]
* New upstream release
- Fixes issues with sysfs batteries present since 2.6.24
(Closes: #462723, 463740, #460072, #463480, #455198)
- Correctly handles batteries with 0% charge (Closes: #463878)
- No longer leak fd when input devices get removed (Closes: #460133)
.
* Remove patches that have been merged upstream:
- debian/patches/65_keyboard-addon-repeated.patch
- debian/patches/68_alternative-cdrw-capacity-detection.patch
- debian/patches/70_killswitch_dell.patch
- debian/patches/71_realpath.patch
- debian/patches/75_glist_memleak.patch
- debian/patches/80_fix_int_outof.patch
- debian/patches/81_dont_deref_reason_why_locked_if_null.patch
- debian/patches/82_partutil_dont_deref_null.patch
- debian/patches/84_fix_uninitialised_memory_usage_in_pci_add.patch
- debian/patches/85_fix_strlist_to_string.patch
- debian/patches/86_fix_killswitch_callout.patch
- debian/patches/87_fix_hurd_compilation.patch
- debian/patches/88_fix_hurd_compilation2.patch
- debian/patches/89_hurd_compile_autofoo.patch
- debian/patches/90_fix_crash_after_fdi_cache_generation.patch
- debian/patches/91_fix_invalid_fdi_cache_on_empty_matches.patch
* debian/rules: Add list-missing
* debian/libhal-storage1.symbols, debian/libhal1.symbols
- Add symbol files for the various libraries
Files:
c388bee81a7e38eea08f53abd0535483 1264 admin optional
hal_0.5.10+git20080301-1.dsc
f26dfd90c4b019a604b73586f37dc9f1 1646383 admin optional
hal_0.5.10+git20080301.orig.tar.gz
55d77e64dd481f11f7df70d251e826ac 32029 admin optional
hal_0.5.10+git20080301-1.diff.gz
093e6ffbcb976f188274978b0892a28c 645352 doc optional
hal-doc_0.5.10+git20080301-1_all.deb
4bc3a44534f5d7067dbfc5b7704a8c7c 759466 admin optional
hal_0.5.10+git20080301-1_amd64.deb
d050fc584004aa77e47d7592d8237cdb 421716 libs optional
libhal1_0.5.10+git20080301-1_amd64.deb
50b760692c9aea72215a88069a03fd13 412430 libs optional
libhal-storage1_0.5.10+git20080301-1_amd64.deb
98bc15e1b8311ab98f02e966acb1a0cb 426424 libdevel optional
libhal-dev_0.5.10+git20080301-1_amd64.deb
df0e7a69fd1bdf55246c561929e76c22 413228 libdevel optional
libhal-storage-dev_0.5.10+git20080301-1_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFHzBXDgTd+SodosdIRArt5AKC/ypM/PjhOX6CKJDK16LrZMtVO1ACg6fQL
BHMGQfAfz8z1ivpTCiCizcs=
=Yi2w
-----END PGP SIGNATURE-----
--- End Message ---