On Thu, Feb 15, 2024 at 04:35:24PM -0800, Steve Langasek wrote: > index a0948853..78953870 100644 > --- a/libselinux/include/selinux/selinux.h > +++ b/libselinux/include/selinux/selinux.h > @@ -1,6 +1,7 @@ > #ifndef _SELINUX_H_ > #define _SELINUX_H_ > > +#include <stdint.h> > #include <sys/types.h> > #include <stdarg.h> > > @@ -521,7 +522,11 @@ extern int matchpathcon_index(const char *path, > with the same inode (e.g. due to multiple hard links). If so, then > use the latter of the two specifications based on their order in the > file contexts configuration. Return the used specification index. */ > -extern int matchpathcon_filespec_add(ino_t ino, int specind, const char *file); > +typedef uint64_t libselinux_ino_t; > +#if _FILE_OFFSET_BITS == 64 && __BITS_PER_LONG < 64 > +#define matchpathcon_filespec_add matchpathcon_filespec_add64 > +#endif > +extern int matchpathcon_filespec_add(libselinux_ino_t ino, int specind, const char *file); What's the ABI goal here? I think the type is wrong -- doesn't this need to be uint32_t not a uint64_t for the wrapper? -- Kees Cook