public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Install kernel-page-flags.h
@ 2012-03-14  7:26 Ulrich Drepper
  2012-03-14  7:58 ` Christoph Hellwig
  0 siblings, 1 reply; 7+ messages in thread
From: Ulrich Drepper @ 2012-03-14  7:26 UTC (permalink / raw)
  To: arnd, davem, hverkuil, laurent.pinchart, linux-kernel, mchehab

Programs using /proc/kpageflags need to know about the various flags.  The
<linux/kernel-page-flags.h> provides them and the comments in the file
indicate that it is supposed to be used by user-level code.  But the file
is not installed.

The patch below installs the headers and marks the unstable flags as
out-of-bounds.


Signed-off-by: Ulrich Drepper <drepper@gmail.com>

 include/linux/Kbuild              |    1 +
 include/linux/kernel-page-flags.h |    4 ++++
 2 files changed, 5 insertions(+)

diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index c94e717..356928e 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -227,6 +227,7 @@ header-y += kd.h
 header-y += kdev_t.h
 header-y += kernel.h
 header-y += kernelcapi.h
+header-y += kernel-page-flags.h
 header-y += keyboard.h
 header-y += keyctl.h
 header-y += l2tp.h
diff --git a/include/linux/kernel-page-flags.h b/include/linux/kernel-page-flags.h
index bd92a89..096b05d 100644
--- a/include/linux/kernel-page-flags.h
+++ b/include/linux/kernel-page-flags.h
@@ -31,6 +31,8 @@
 
 #define KPF_KSM			21
 
+#ifdef __KERNEL__
+
 /* kernel hacking assistances
  * WARNING: subject to change, never rely on them!
  */
@@ -43,4 +45,6 @@
 #define KPF_ARCH		38
 #define KPF_UNCACHED		39
 
+#endif /* __KERNEL__ */
+
 #endif /* LINUX_KERNEL_PAGE_FLAGS_H */

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] Install kernel-page-flags.h
  2012-03-14  7:26 [PATCH] Install kernel-page-flags.h Ulrich Drepper
@ 2012-03-14  7:58 ` Christoph Hellwig
  2012-03-14  8:03   ` Ulrich Drepper
  2012-03-14 10:40   ` Alexey Dobriyan
  0 siblings, 2 replies; 7+ messages in thread
From: Christoph Hellwig @ 2012-03-14  7:58 UTC (permalink / raw)
  To: Ulrich Drepper
  Cc: arnd, davem, hverkuil, laurent.pinchart, linux-kernel, mchehab

On Wed, Mar 14, 2012 at 03:26:07AM -0400, Ulrich Drepper wrote:
> Programs using /proc/kpageflags need to know about the various flags.  The
> <linux/kernel-page-flags.h> provides them and the comments in the file
> indicate that it is supposed to be used by user-level code.  But the file
> is not installed.
> 
> The patch below installs the headers and marks the unstable flags as
> out-of-bounds.

I don't think this is a good idea at all.  Let's shoot the person who
added that braindead interface ASAP, and replace it with one printing
the flags in ASCII format. 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Install kernel-page-flags.h
  2012-03-14  7:58 ` Christoph Hellwig
@ 2012-03-14  8:03   ` Ulrich Drepper
  2012-03-14 10:40   ` Alexey Dobriyan
  1 sibling, 0 replies; 7+ messages in thread
From: Ulrich Drepper @ 2012-03-14  8:03 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: arnd, davem, hverkuil, laurent.pinchart, linux-kernel, mchehab

On 03/14/2012 03:58 AM, Christoph Hellwig wrote:
> I don't think this is a good idea at all.  Let's shoot the person who
> added that braindead interface ASAP, and replace it with one printing
> the flags in ASCII format.

This isn't really realistic.  The information is retrieved based on the 
PFN using lseek+read from a file descriptor.  How is the read supposed 
to work in case the record returned is not of a fixed size?  Aside, 
potentially a lot of these records are to be read and using ASCII 
strings will significantly slow things down.

If you have a concrete proposal please go ahead and propose it.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Install kernel-page-flags.h
  2012-03-14  7:58 ` Christoph Hellwig
  2012-03-14  8:03   ` Ulrich Drepper
@ 2012-03-14 10:40   ` Alexey Dobriyan
  2012-03-19 11:32     ` Christoph Hellwig
  1 sibling, 1 reply; 7+ messages in thread
From: Alexey Dobriyan @ 2012-03-14 10:40 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Ulrich Drepper, arnd, davem, hverkuil, laurent.pinchart,
	linux-kernel, mchehab

On Wed, Mar 14, 2012 at 10:58 AM, Christoph Hellwig <hch@infradead.org> wrote:
> On Wed, Mar 14, 2012 at 03:26:07AM -0400, Ulrich Drepper wrote:
>> Programs using /proc/kpageflags need to know about the various flags.  The
>> <linux/kernel-page-flags.h> provides them and the comments in the file
>> indicate that it is supposed to be used by user-level code.  But the file
>> is not installed.
>>
>> The patch below installs the headers and marks the unstable flags as
>> out-of-bounds.
>
> I don't think this is a good idea at all.  Let's shoot the person who
> added that braindead interface ASAP, and replace it with one printing
> the flags in ASCII format.

ASCII sucks.
This interface is not for humans.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Install kernel-page-flags.h
  2012-03-14 10:40   ` Alexey Dobriyan
@ 2012-03-19 11:32     ` Christoph Hellwig
  2012-03-19 12:45       ` Alexey Dobriyan
  0 siblings, 1 reply; 7+ messages in thread
From: Christoph Hellwig @ 2012-03-19 11:32 UTC (permalink / raw)
  To: Alexey Dobriyan
  Cc: Christoph Hellwig, Ulrich Drepper, arnd, davem, hverkuil,
	laurent.pinchart, linux-kernel, mchehab

On Wed, Mar 14, 2012 at 12:40:36PM +0200, Alexey Dobriyan wrote:
> >> Programs using /proc/kpageflags need to know about the various flags. ??The
> >> <linux/kernel-page-flags.h> provides them and the comments in the file
> >> indicate that it is supposed to be used by user-level code. ??But the file
> >> is not installed.
> >>
> >> The patch below installs the headers and marks the unstable flags as
> >> out-of-bounds.
> >
> > I don't think this is a good idea at all. ??Let's shoot the person who
> > added that braindead interface ASAP, and replace it with one printing
> > the flags in ASCII format.
> 
> ASCII sucks.
> This interface is not for humans.

But we still can't lock down the page flags for a user interface - they
are a very scare resource and we can't afford to keep them stable due
to userspace poking into internals.

I guess the best we can do is to have a translation table for kernel
internal to external documented flags.  Once you export the header with
the meanings it's time to add that table, even if it starts out as a 1:1
mapping.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Install kernel-page-flags.h
  2012-03-19 11:32     ` Christoph Hellwig
@ 2012-03-19 12:45       ` Alexey Dobriyan
  2012-03-25 12:28         ` Ulrich Drepper
  0 siblings, 1 reply; 7+ messages in thread
From: Alexey Dobriyan @ 2012-03-19 12:45 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Ulrich Drepper, arnd, davem, hverkuil, laurent.pinchart,
	linux-kernel, mchehab

On Mon, Mar 19, 2012 at 2:32 PM, Christoph Hellwig <hch@infradead.org> wrote:
> On Wed, Mar 14, 2012 at 12:40:36PM +0200, Alexey Dobriyan wrote:
>> >> Programs using /proc/kpageflags need to know about the various flags. ??The
>> >> <linux/kernel-page-flags.h> provides them and the comments in the file
>> >> indicate that it is supposed to be used by user-level code. ??But the file
>> >> is not installed.
>> >>
>> >> The patch below installs the headers and marks the unstable flags as
>> >> out-of-bounds.
>> >
>> > I don't think this is a good idea at all. ??Let's shoot the person who
>> > added that braindead interface ASAP, and replace it with one printing
>> > the flags in ASCII format.
>>
>> ASCII sucks.
>> This interface is not for humans.
>
> But we still can't lock down the page flags for a user interface - they
> are a very scare resource and we can't afford to keep them stable due
> to userspace poking into internals.
>
> I guess the best we can do is to have a translation table for kernel
> internal to external documented flags.  Once you export the header with
> the meanings it's time to add that table, even if it starts out as a 1:1
> mapping.

Well, this is totally different issue.
Translation is already there, see stable_page_flags().

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Install kernel-page-flags.h
  2012-03-19 12:45       ` Alexey Dobriyan
@ 2012-03-25 12:28         ` Ulrich Drepper
  0 siblings, 0 replies; 7+ messages in thread
From: Ulrich Drepper @ 2012-03-25 12:28 UTC (permalink / raw)
  To: Alexey Dobriyan
  Cc: Christoph Hellwig, Ulrich Drepper, arnd, davem, hverkuil,
	laurent.pinchart, linux-kernel, mchehab

On Mon, Mar 19, 2012 at 08:45, Alexey Dobriyan <adobriyan@gmail.com> wrote:
>> I guess the best we can do is to have a translation table for kernel
>> internal to external documented flags.  Once you export the header with
>> the meanings it's time to add that table, even if it starts out as a 1:1
>> mapping.
>
> Well, this is totally different issue.
> Translation is already there, see stable_page_flags().

Considering this, could the patch please be used?  Otherwise you might
as well remove the /proc interfaces.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-03-25 12:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-14  7:26 [PATCH] Install kernel-page-flags.h Ulrich Drepper
2012-03-14  7:58 ` Christoph Hellwig
2012-03-14  8:03   ` Ulrich Drepper
2012-03-14 10:40   ` Alexey Dobriyan
2012-03-19 11:32     ` Christoph Hellwig
2012-03-19 12:45       ` Alexey Dobriyan
2012-03-25 12:28         ` Ulrich Drepper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox