Hello everyone.  Good news!

Also, sprach Miklos Szeredi am Samstag, den 30. Dezember 2006 um 14:56:
> Thanks.  I believe I undestand now: the buffer reserved for the cmsg
> is itself unaligned because it's a char array.  It should be an
> array of size_t, which will have the required alignment.
> 
> When you have time, can you please try out this patch?  The old
> patch shouldn't be needed.  If it still breaks, then please send a
> new backtrace with debug information, since it may be a different
> problem.

This is what happened after I compiled a clean version with only the
new patch:

  $ sshfs [EMAIL PROTECTED]:/home/smc phobos/
  $ cd phobos/
  $ ls
  insgesamt 156
  drwxr-xr-x 1 smc smc  1728 2006-12-22 07:43 ALSTOM/
  drwxr-xr-x 1 smc smc  1392 2006-12-10 22:08 archiv/
  [...]
  
  $ cp tempcd/STOGAMhigh.mov ~
  tempcd/STOGAMhigh.mov -> /home/smc/STOGAMhigh.mov
  $ sha1sum /home/smc/STOGAMhigh.mov 
  c531b6886ec7123ade8b414a2f91f46a6c4df4f7  /home/smc/STOGAMhigh.mov
  $ ssh phobos sha1sum tempcd/STOGAMhigh.mov
  c531b6886ec7123ade8b414a2f91f46a6c4df4f7  tempcd/STOGAMhigh.mov
  $ dmesg | grep -i unaligned
  $

In other words: works fine, thanks!

The patch did not apply to this clean source, though (FSM knows why),
and I had to apply it by hand (I can add "patch(1) replacement" to my
CV now, I guess :)).  I attached a version created by diff --unified
(which, of course, you probably will not need ;)).

So from my side this problem seems to be wholly solved!  Thanks for
your help and responsiveness.  This is a big part of why I feel so
much better using Debian :).


Greetings,


-- 
: Sebastian Fontius : www.fsfe.org : www.fsfe.org/en/fellows/smc
`--------+----------+--------------+-----------------------------------.
    []   | "They that can give up essential liberty to obtain a little |
  [][][] |  temporary safety deserve neither liberty nor safety."      |
    ||   :                                     Benjamin Franklin, 1759 :
--- mount.c~    2006-02-19 18:19:41.000000000 +0100
+++ mount.c     2006-12-31 01:03:26.000000000 +0100
@@ -131,7 +131,7 @@
     char buf[1];
     int rv;
     int connfd = -1;
-    char ccmsg[CMSG_SPACE(sizeof(connfd))];
+    size_t ccmsg[CMSG_SPACE(sizeof(int))/sizeof(size_t)];
     struct cmsghdr *cmsg;
 
     iov.iov_base = buf;

Attachment: signature.asc
Description: Digital signature

Reply via email to