sparc: Clashing values for O_PATH and FMODE_NONOTIFY?

From: David Drysdale
Date: Tue Nov 18 2014 - 08:14:17 EST


Hi folks,

It looks like the value for O_PATH on sparc:

arch/sparc/include/uapi/asm/fcntl.h:37:#define O_PATH 0x1000000

clashes with the arch-independent value for __FMODE_NONOTIFY:

include/linux/fs.h:137:#define FMODE_NONOTIFY ((__force fmode_t)0x1000000)
include/linux/fs.h:2764:#define __FMODE_NONOTIFY ((__force int)
FMODE_NONOTIFY)

and they are both in the same numbering space, as indicated by the
comment at the top of include/uapi/asm-generic/fcntl.h and the use in
fs/notify/fanotify/fanotify_user.c:715.

Presumably this could theoretically cause problems (no notifications for
O_PATH files on SPARC?), so would it be a good idea to renumber
FMODE_NONOTIFY? (I *think* that value is entirely kernel-internal.)

Given that this has happened before (12ed2e36c98aec6c4155 "fanotify:
FMODE_NONOTIFY and __O_SYNC in sparc conflict") it would probably
also be a good idea to add __FMODE_NOTIFY to the uniqueness check in
fs/fcntl.c:fcntl_init().

Thoughts?

(I can generate a speculative patch if this is wrong and needs fixing, but I
won't be able to do much about testing it.)

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/