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
[email protected]
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]