lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 20 Nov 2014 19:31:42 +0000
From:	David Drysdale <drysdale@...gle.com>
To:	Eric Paris <eparis@...hat.com>
Cc:	David Miller <davem@...emloft.net>,
	Alexander Viro <viro@...iv.linux.org.uk>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	sparclinux@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: Re: sparc: Clashing values for O_PATH and FMODE_NONOTIFY?

On Thu, Nov 20, 2014 at 7:12 PM, Eric Paris <eparis@...hat.com> wrote:
> On Thu, 2014-11-20 at 12:12 +0000, David Drysdale wrote:
>> [+linux-fsdevel, without the typo this time]
>>
>> On Wed, Nov 19, 2014 at 8:30 PM, David Miller <davem@...emloft.net> wrote:
>> > From: David Drysdale <drysdale@...gle.com>
>> > Date: Tue, 18 Nov 2014 13:13:51 +0000
>> >
>> >> 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 think you will need to change the internal value, to not clash with
>> > the sparc exported one, for sure.
>>
>> Well, I was sort of hoping someone else might volunteer to make the
>> change :-) --  I don't use fanotify (or sparc for that matter), I just
>> happened to notice the clash in passing.
>>
>> But I'm happy to have a go, although I can't test much.  It would be
>> good to hear from the fanotify maintainers first, though -- Eric?
>
> It's totally internal.

OK, thanks, that makes me feel safer about changing its value.

(fatrace still seemed to work (and not report its own activity) after
I changed the value, which is also reassuring.)

> And was picked to not clash with anyone.  I
> don't know how to keep it from happening in the future.....

There's a compile-time check on the number of distinct O_*
bits at the bottom of fs/fcntl.c -- if we update that to include
FMODE_NONOTIFY then any future clashes should trigger
a (cross-)compilation failure.

I'll send out a patch tomorrow.

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ