Package: libkafs0-heimdal
Version: 1.4.0-5

k_hasafs is currently broken, due to patch 043_hurd_ioctl introduced in
1.4.0-4 to fix #483281. That patch changes the definition of
VIOC_SYSCALL_PROC in this hunk:

-#define VIOC_SYSCALL_PROC _IOW('C', 1, void *)
+#ifdef __GNU__
+#define _IOT_procdata _IOT(_IOTS(long), 5, 0, 0, 0, 0)
+#endif
+#define VIOC_SYSCALL_PROC _IOW('C', 1, struct procdata)

This changes the ioctl command number we use to an incorrect one, so
k_hasafs() always returns false, even if an AFS client is running. I
have no idea what GNU hurd uses _IOT_* for, but since _IOT_procdata
includes the name of a structure, I expect that this will FTBFS on hurd
again if the third _IOW argument is just reverted to void*.

I don't know if the GNU hurd folks have an opinion on the "proper"
solution here, but here are a couple of options that I think will work:

 - Define a structure that only has one 'void*' in it, and pass that in
   instead of struct procdata. (And define _IOT_whatever instead of
   _IOT_procdata

 - Don't build kafs on hurd, or just always return 0 for k_hasafs or
   something, since I'm not aware of any AFS kernel clients that run on
   hurd. In particular, trying to calculate the ioctl number on hurd
   doesn't make a lot of sense, since there's never any kernel module on
   hurd to match it to. There's no "correct" number.

-- 
Andrew Deason
adea...@sinenomine.net



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to