Re: [PATCH] remove binfmts.h from header exports

From: Olaf Hering
Date: Wed Aug 08 2007 - 02:14:33 EST


On Wed, Aug 08, Alexey Dobriyan wrote:

> On Tue, Aug 07, 2007 at 10:16:03PM +0200, Olaf Hering wrote:
> > remove linux/binfmts.h from make headers_install
> >
> > A recent patch added PAGE_SIZE to the part outside of __KERNEL__.
> > qemu and ia32el have their own define of MAX_ARG_PAGES.
>
> Should they use kernel header instead?

No, because the header will disappear. And from my understanding, the
args limit is now gone.

> > No package uses linux/binfmts.h, so it is safe to not provide it.
>
> And? Does it contain stuff which is userspace visible?
> binfmts.h has at least CORENAME_MAX_SIZE and SUID_DUMP_*

Yes, its inside __KERNEL__. Have you read that header already? We are
talking about the part below.
What part is useable for an application?

....
#include <linux/capability.h>

struct pt_regs;

/*
* These are the maximum length and maximum number of strings passed to the
* execve() system call. MAX_ARG_STRLEN is essentially random but serves to
* prevent the kernel from being unduly impacted by misaddressed pointers.
* MAX_ARG_STRINGS is chosen to fit in a signed 32-bit integer.
*/
#define MAX_ARG_STRLEN (PAGE_SIZE * 32)
#define MAX_ARG_STRINGS 0x7FFFFFFF

/* sizeof(linux_binprm->buf) */
#define BINPRM_BUF_SIZE 128
....

> "userspace doesn't use header" is something headers_install has never
> been about.

Thats true.
I remember someone even wrote something for Documentation/ a few days ago.
-
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/