SuccessChanges

Summary

  1. mce-io: initialise error to NULL to prevent segfaults (details)
  2. mce.io: close fd in mce_unregister_io_monitor (details)
  3. debian/changelog: bump for 1.8.128.13 (details)
Commit 1e9def1d5d9179480210dae13089d0e7b835d375 by Merlijn Boris Wolf Wajer
mce-io: initialise error to NULL to prevent segfaults
The file was modifiedmce-io.c (diff)
Commit 9309502109da994974c841259633ad2bace625d8 by Merlijn Boris Wolf Wajer
mce.io: close fd in mce_unregister_io_monitor

mce apparently never closes the backing fd of a GIOChannel, this was
evident in /proc/<mce-pid>/fd, after hotplugging and removing input
devices a few times. (Note the fds that are still open, pointing to
/dev/input/event* files that are no longer there - 'deleted')

    # ls -lsh /proc/1397/fd
    total 0
    0 lrwx------ 1 root root 64 Feb 11 13:50 0 -> /dev/pts/4
    0 lrwx------ 1 root root 64 Feb 11 13:50 1 -> /dev/pts/4
    0 lr-x------ 1 root root 64 Feb 11 13:50 10 -> anon_inode:inotify
    0 lrwx------ 1 root root 64 Feb 11 13:50 11 -> socket:[232872]
    0 lr-x------ 1 root root 64 Feb 11 13:50 12 -> /dev/input/event2 (deleted)
    0 lr-x------ 1 root root 64 Feb 11 13:50 13 -> /dev/input/event4 (deleted)
    0 lr-x------ 1 root root 64 Feb 11 13:50 14 -> /dev/input/event3 (deleted)
    0 lr-x------ 1 root root 64 Feb 11 13:50 15 -> /dev/input/event2 (deleted)
    0 lr-x------ 1 root root 64 Feb 11 13:50 16 -> /dev/input/event2 (deleted)
    0 lr-x------ 1 root root 64 Feb 11 13:50 17 -> /dev/input/event6
    0 lr-x------ 1 root root 64 Feb 11 13:50 18 -> /dev/input/event1
    0 lr-x------ 1 root root 64 Feb 11 13:50 19 -> /dev/input/event0
    0 lrwx------ 1 root root 64 Feb 11 13:50 2 -> /dev/pts/4
    0 lrwx------ 1 root root 64 Feb 11 13:50 20 -> /dev/fb0
    0 lr-x------ 1 root root 64 Feb 11 13:50 21 -> /dev/input/event2 (deleted)
    0 lr-x------ 1 root root 64 Feb 11 13:50 22 -> /dev/input/event3 (deleted)
    0 lr-x------ 1 root root 64 Feb 11 13:50 23 -> /dev/input/event4 (deleted)
    0 lr-x------ 1 root root 64 Feb 11 13:50 24 -> /dev/input/event2
    0 lr-x------ 1 root root 64 Feb 11 13:50 25 -> /dev/input/event2
    0 lr-x------ 1 root root 64 Feb 11 13:50 26 -> /dev/input/event3
    0 lr-x------ 1 root root 64 Feb 11 13:50 27 -> /dev/input/event4
    0 lr-x------ 1 root root 64 Feb 11 13:50 28 -> /dev/input/event5
    0 lrwx------ 1 root root 64 Feb 11 13:50 3 -> anon_inode:[eventfd]
    0 lrwx------ 1 root root 64 Feb 11 13:50 4 -> socket:[232111]
    0 lrwx------ 1 root root 64 Feb 11 13:50 5 -> socket:[234536]
    0 lrwx------ 1 root root 64 Feb 11 13:50 6 -> socket:[234537]
    0 lrwx------ 1 root root 64 Feb 11 13:50 7 -> socket:[234540]
    0 lrwx------ 1 root root 64 Feb 11 13:50 8 -> anon_inode:[eventfd]
    0 lrwx------ 1 root root 64 Feb 11 13:50 9 -> anon_inode:[eventfd]

After this patch, the result looks like this:

    # ls -lsh /proc/3558/fd
    total 0
    0 lrwx------ 1 root root 64 Feb 11 13:54 0 -> /dev/pts/4
    0 lrwx------ 1 root root 64 Feb 11 13:54 1 -> /dev/pts/4
    0 lr-x------ 1 root root 64 Feb 11 13:54 10 -> anon_inode:inotify
    0 lrwx------ 1 root root 64 Feb 11 13:54 11 -> /dev/fb0
    0 lr-x------ 1 root root 64 Feb 11 13:55 12 -> /dev/input/event2
    0 lr-x------ 1 root root 64 Feb 11 13:55 13 -> /dev/input/event2
    0 lr-x------ 1 root root 64 Feb 11 13:55 14 -> /dev/input/event3
    0 lr-x------ 1 root root 64 Feb 11 13:55 15 -> /dev/input/event4
    0 lr-x------ 1 root root 64 Feb 11 13:55 16 -> /dev/input/event5
    0 lr-x------ 1 root root 64 Feb 11 13:55 17 -> /dev/input/event6
    0 lr-x------ 1 root root 64 Feb 11 13:55 18 -> /dev/input/event1
    0 lr-x------ 1 root root 64 Feb 11 13:55 19 -> /dev/input/event0
    0 lrwx------ 1 root root 64 Feb 11 13:54 2 -> /dev/pts/4
    0 lrwx------ 1 root root 64 Feb 11 13:55 20 -> socket:[236198]
    0 lrwx------ 1 root root 64 Feb 11 13:54 3 -> anon_inode:[eventfd]
    0 lrwx------ 1 root root 64 Feb 11 13:54 4 -> socket:[237579]
    0 lrwx------ 1 root root 64 Feb 11 13:54 5 -> socket:[236179]
    0 lrwx------ 1 root root 64 Feb 11 13:54 6 -> socket:[237580]
    0 lrwx------ 1 root root 64 Feb 11 13:54 7 -> socket:[235421]
    0 lrwx------ 1 root root 64 Feb 11 13:54 8 -> anon_inode:[eventfd]
    0 lrwx------ 1 root root 64 Feb 11 13:54 9 -> anon_inode:[eventfd]
The file was modifiedmce-io.c (diff)
Commit 10d5cd1fb3b51c71098ab4b0fe74423da050319f by Merlijn Boris Wolf Wajer
debian/changelog: bump for 1.8.128.13
The file was modifieddebian/changelog (diff)