Your message dated Sat, 12 Feb 2011 22:02:33 +0000
with message-id <[email protected]>
and subject line Bug#605291: fixed in libraw1394 2.0.6-1
has caused the Debian Bug report #605291,
regarding Isochronous I/O cleanup for new firewire stack is broken
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.)


-- 
605291: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=605291
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libraw1394-11
Version: 2.0.5-2
Severity: important
Tags: patch

When using the old firewire stack ('ieee1394'),
raw1394_destroy_handle() calls ieee1394_destroy_handle() which calls
ieee1394_iso_shutdown().

When using the new firewire stack ('firewire'/'Juju'),
raw1394_destroy_handle() calls fw_destroy_handle() which does *not*
call fw_iso_shutdown().  Further, fw_iso_shutdown() is not safe to
call twice because it calls munmap() unconditionally.  This makes it
significantly harder to write correct cleanup code in applications.

The patch below fixes both these issues.

Ben.

--- libraw1394-2.0.5.orig/src/fw-iso.c
+++ libraw1394-2.0.5/src/fw-iso.c
@@ -480,6 +480,7 @@
        if (epoll_ctl(handle->epoll_fd, EPOLL_CTL_ADD,
                      handle->iso.fd, &ep) < 0) {
                close(handle->iso.fd);
+               handle->iso.fd = -1;
                free(handle->iso.packets);
                handle->iso.packets = NULL;
                return -1;
@@ -495,6 +496,7 @@
                       FW_CDEV_IOC_CREATE_ISO_CONTEXT, &create);
        if (retval < 0) {
                close(handle->iso.fd);
+               handle->iso.fd = -1;
                free(handle->iso.packets);
                handle->iso.packets = NULL;
                return retval;
@@ -506,6 +508,7 @@
 
        if (handle->iso.buffer == MAP_FAILED) {
                close(handle->iso.fd);
+               handle->iso.fd = -1;
                free(handle->iso.packets);
                handle->iso.packets = NULL;
                return -1;
@@ -599,6 +602,8 @@
 
 void fw_iso_shutdown(fw_handle_t handle)
 {
+       if (handle->iso.fd < 0)
+               return;
        munmap(handle->iso.buffer,
               handle->iso.buf_packets * handle->iso.max_packet_size);
        if (handle->iso.state != ISO_STOPPED)
--- libraw1394-2.0.5.orig/src/fw.c
+++ libraw1394-2.0.5/src/fw.c
@@ -488,6 +488,8 @@
 {
        int i;
 
+       fw_iso_shutdown(handle);
+
        close(handle->inotify_fd);
        close(handle->pipe_fds[0]);
        close(handle->pipe_fds[1]);
--- END ---

-- System Information:
Debian Release: squeeze/sid
  APT prefers proposed-updates
  APT policy: (500, 'proposed-updates'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libraw1394-11 depends on:
ii  libc6                         2.11.2-7   Embedded GNU C Library: Shared lib

libraw1394-11 recommends no packages.

Versions of packages libraw1394-11 suggests:
ii  libraw1394-doc                2.0.5-2    Reference manual and documentation

-- no debconf information



--- End Message ---
--- Begin Message ---
Source: libraw1394
Source-Version: 2.0.6-1

We believe that the bug you reported is fixed in the latest version of
libraw1394, which is due to be installed in the Debian FTP archive:

libraw1394-11_2.0.6-1_amd64.deb
  to main/libr/libraw1394/libraw1394-11_2.0.6-1_amd64.deb
libraw1394-dev_2.0.6-1_amd64.deb
  to main/libr/libraw1394/libraw1394-dev_2.0.6-1_amd64.deb
libraw1394-doc_2.0.6-1_all.deb
  to main/libr/libraw1394/libraw1394-doc_2.0.6-1_all.deb
libraw1394_2.0.6-1.debian.tar.gz
  to main/libr/libraw1394/libraw1394_2.0.6-1.debian.tar.gz
libraw1394_2.0.6-1.dsc
  to main/libr/libraw1394/libraw1394_2.0.6-1.dsc
libraw1394_2.0.6.orig.tar.gz
  to main/libr/libraw1394/libraw1394_2.0.6.orig.tar.gz



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.
Guus Sliepen <[email protected]> (supplier of updated libraw1394 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.8
Date: Sat, 12 Feb 2011 22:43:46 +0100
Source: libraw1394
Binary: libraw1394-dev libraw1394-doc libraw1394-11
Architecture: source amd64 all
Version: 2.0.6-1
Distribution: unstable
Urgency: low
Maintainer: Guus Sliepen <[email protected]>
Changed-By: Guus Sliepen <[email protected]>
Description: 
 libraw1394-11 - library for direct access to IEEE 1394 bus (aka FireWire)
 libraw1394-dev - library for direct access to IEEE 1394 bus - development files
 libraw1394-doc - Reference manual and documentation about libraw1394
Closes: 598036 602215 605291
Changes: 
 libraw1394 (2.0.6-1) unstable; urgency=low
 .
   * New upstream release. Closes: #602215
     - Fixes isochronous I/O cleanup. Closes: #605291
   * Update README.Debian to include information about the new FireWire stack.
     Closes: #598036
   * Bump Standards-Version.
   * Update links to homepage and tarballs.
   * Merge patch from Ubuntu: use sudo in the examples in README.Debian.
Checksums-Sha1: 
 46817e40ebe7109c9725ec331882eff337ff5bf6 1111 libraw1394_2.0.6-1.dsc
 6533b5578fe36ad5920c93f71fbd1acb40e6b833 388318 libraw1394_2.0.6.orig.tar.gz
 79d05130e954f8cbb3b633fe4318fb2186e3d8bf 9370 libraw1394_2.0.6-1.debian.tar.gz
 99f3d7fdcbc76e779e10718a255306c960af96a3 72496 libraw1394-dev_2.0.6-1_amd64.deb
 f1c7e9e661868a40a506a32387ca2a50c7dfea3b 428432 libraw1394-doc_2.0.6-1_all.deb
 d54104de4d83c44dbadb7f3a2e081fc991e873e3 46872 libraw1394-11_2.0.6-1_amd64.deb
Checksums-Sha256: 
 9e040820287339d98bbd90a3211f25ce44190c6fea828b7a521cc157515d12f2 1111 
libraw1394_2.0.6-1.dsc
 9f5e04024a0d910f9fa10f0f86f75f94bcbdeb2da990af7936407c20cd1e8942 388318 
libraw1394_2.0.6.orig.tar.gz
 954700530e6fc51b576375653ff2108888d197b1c055614ad3afcbc383f6b3d6 9370 
libraw1394_2.0.6-1.debian.tar.gz
 a9d5f10ab021a10eb34687bc51c26d3f1d9f251182b0f50110862587ff603d96 72496 
libraw1394-dev_2.0.6-1_amd64.deb
 f4475e5ddea4b5bc99d95cc33cdc0c86ca68bcdfa6ba8b54142bf81d2664b16f 428432 
libraw1394-doc_2.0.6-1_all.deb
 c3178a97cb579f6c0b29cd738580eaa1cd16048c53e18c032b3fb870fc2894da 46872 
libraw1394-11_2.0.6-1_amd64.deb
Files: 
 e6ceccd3b7e04fb02aa263d71b606394 1111 libs optional libraw1394_2.0.6-1.dsc
 5e800f3213f2f68c2823579d655df548 388318 libs optional 
libraw1394_2.0.6.orig.tar.gz
 2be21d5cce59568ebf44be4af0788bab 9370 libs optional 
libraw1394_2.0.6-1.debian.tar.gz
 fd8380b5216db3fb0f19aef28d27625f 72496 libdevel optional 
libraw1394-dev_2.0.6-1_amd64.deb
 32d77ee71079e8eb0f6c1733b36f9718 428432 doc optional 
libraw1394-doc_2.0.6-1_all.deb
 dbd94fa06a513f80c14567ae1e95610d 46872 libs optional 
libraw1394-11_2.0.6-1_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAk1W/94ACgkQAxLow12M2nta6QCeKkWozZJEvnIzkSFBugSX89wU
WSYAn3Kxqeyu7MqwqRb+2Lr0e+OVaEEM
=fWP8
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to