>   Program received signal SIGBUS, Bus error.
>   [Switching to Thread 16384 (LWP 7778)]
>   0xf7ecf0c8 in fuse_mount_compat22 () from /usr/lib/libfuse.so.2
>   (gdb) backtrace
>   #0  0xf7ecf0c8 in fuse_mount_compat22 () from /usr/lib/libfuse.so.2
>   #1  0xf7ecf34c in fuse_mount () from /usr/lib/libfuse.so.2
>   #2  0xf7ecea00 in fuse_parse_cmdline () from /usr/lib/libfuse.so.2
>   #3  0xf7eceb88 in fuse_setup_compat22 () from /usr/lib/libfuse.so.2
>   #4  0x000191a0 in main (argc=3, argv=0xff8a3ae4) at sshfs.c:2514
>   (gdb) 
> 

OK, that implicates fuse, rather than sshfs.  The following patch
removes an unalinged access in that part of the code.  Can you please
try compiling fuse with this patch?

Thanks,
Miklos

Index: lib/mount.c
===================================================================
RCS file: /cvsroot/fuse/fuse/lib/mount.c,v
retrieving revision 1.33
diff -u -r1.33 mount.c
--- lib/mount.c 4 Dec 2006 12:45:19 -0000       1.33
+++ lib/mount.c 29 Dec 2006 13:59:47 -0000
@@ -153,6 +153,7 @@
     int rv;
     char ccmsg[CMSG_SPACE(sizeof(int))];
     struct cmsghdr *cmsg;
+    int ret_fd;
 
     iov.iov_base = buf;
     iov.iov_len = 1;
@@ -182,7 +183,8 @@
                 cmsg->cmsg_type);
         return -1;
     }
-    return *(int*)CMSG_DATA(cmsg);
+    memcpy(&ret_fd, CMSG_DATA(cmsg), sizeof(ret_fd));
+    return ret_fd;
 }
 
 void fuse_kern_unmount(const char *mountpoint, int fd)



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to