Re: [PATCH 07/24] MAINTAINERS: adjust for UAPI

2012-11-28 Thread David Howells
Cesar Eduardo Barros  wrote:

> Several headers were moved or split to uapi/.

I was going to wait to do this till all the bits have got upstream.  Several
are still wending their way through maintainer trees.  Feel free to send your
patch to Linus with:

Acked-by: David Howells 

attached, though.

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


Re: [3.7-rc6] Build failure with scripts/Makefile.headersinst

2012-11-28 Thread David Howells
Tetsuo Handa  wrote:

> Tetsuo Handa wrote:
> > Linux 3.6 builds fine. I can't use "git bisect" until Linux 3.7-rc6 but
> > possibly caused by either commit 10b63956 "UAPI: Plumb the UAPI Kbuilds
> > into the user header installation and checking" or commit 40f1d4c2 "UAPI:
> > Remove the objhdr-y export list".
> 
> Bisected to commit 10b63956 "UAPI: Plumb the UAPI Kbuilds into the user header
> installation and checking".

Indeed, but that doesn't help much.  The problem is that make's behaviour has
apparently changed.  I could do with Sam Ravnborg's help to work around this
since I think he's mainly responsible for the Makefile infrastructure.

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


Re: [PATCH 07/24] MAINTAINERS: adjust for UAPI

2012-11-28 Thread David Howells
Cesar Eduardo Barros  wrote:

> I think I will wait for your patch. Since you probably created it with the
> same scripts used for the original move to uapi/, it should have less chance
> of mistakes than my ad-hoc shell scripting.

I haven't scripted it.

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


Re: [PATCH 2/9] vfs: export do_splice_direct() to modules

2013-03-19 Thread David Howells
Miklos Szeredi  wrote:

> > BTW, I wonder what's the right locking for that sucker; overlayfs is
> > probably too heavy - we are talking about copying a file from one fs to
> > another, which can obviously take quite a while, so holding ->i_mutex on
> > _parent_ all along is asking for very serious contention.
> 
> Copy up is a once-in-a-lifetime event for an object.  Optimizing it is
> way down in the list of things to do.  I'd drop splice in a jiffy if
> it's in the way.

Yes, but it could block the parent directory for a long time.  I suspect it's
fine if you can RCU walk through the parent, but if you have to grab a lock on
it...

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


[PATCH] Fix breakage in MIPS siginfo handling

2013-03-19 Thread David Howells
MIPS's siginfo handling has been broken since this commit:

commit 574c4866e33d648520a8bd5bf6f573ea6e554e88
Author: Al Viro 
Date:   Sun Nov 25 22:24:19 2012 -0500
consolidate kernel-side struct sigaction declarations

for 64-bit BE MIPS CPUs.

The UAPI variant looks like this:

struct sigaction {
unsigned intsa_flags;
__sighandler_t  sa_handler;
sigset_tsa_mask;
};

but the core kernel's variant looks like this:

struct sigaction {
#ifndef __ARCH_HAS_ODD_SIGACTION
__sighandler_t  sa_handler;
unsigned long   sa_flags;
#else
unsigned long   sa_flags;
__sighandler_t  sa_handler;
#endif
#ifdef __ARCH_HAS_SA_RESTORER
__sigrestore_t sa_restorer;
#endif
sigset_tsa_mask;
};

The problem is that sa_flags has been changed from an unsigned int to an
unsigned long.

Fix this by making sa_flags unsigned int if __ARCH_HAS_ODD_SIGACTION is
defined.

Whilst we're at it, rename __ARCH_HAS_ODD_SIGACTION to
__ARCH_HAS_IRIX_SIGACTION.

Signed-off-by: David Howells 
cc: Al Viro 
cc: Ralf Baechle 
cc: linux-m...@linux-mips.org
cc: sta...@vger.kernel.org
---

 arch/mips/include/asm/signal.h |2 +-
 include/linux/compat.h |4 ++--
 include/linux/signal.h |4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/mips/include/asm/signal.h b/arch/mips/include/asm/signal.h
index 197f636..8efe5a9 100644
--- a/arch/mips/include/asm/signal.h
+++ b/arch/mips/include/asm/signal.h
@@ -21,6 +21,6 @@
 #include 
 #include 
 
-#define __ARCH_HAS_ODD_SIGACTION
+#define __ARCH_HAS_IRIX_SIGACTION
 
 #endif /* _ASM_SIGNAL_H */
diff --git a/include/linux/compat.h b/include/linux/compat.h
index 76a87fb..377cd8c 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -141,11 +141,11 @@ typedef struct {
 } compat_sigset_t;
 
 struct compat_sigaction {
-#ifndef __ARCH_HAS_ODD_SIGACTION
+#ifndef __ARCH_HAS_IRIX_SIGACTION
compat_uptr_t   sa_handler;
compat_ulong_t  sa_flags;
 #else
-   compat_ulong_t  sa_flags;
+   compat_uint_t   sa_flags;
compat_uptr_t   sa_handler;
 #endif
 #ifdef __ARCH_HAS_SA_RESTORER
diff --git a/include/linux/signal.h b/include/linux/signal.h
index a2dcb94..9475c5c 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -250,11 +250,11 @@ extern int show_unhandled_signals;
 extern int sigsuspend(sigset_t *);
 
 struct sigaction {
-#ifndef __ARCH_HAS_ODD_SIGACTION
+#ifndef __ARCH_HAS_IRIX_SIGACTION
__sighandler_t  sa_handler;
unsigned long   sa_flags;
 #else
-   unsigned long   sa_flags;
+   unsigned intsa_flags;
__sighandler_t  sa_handler;
 #endif
 #ifdef __ARCH_HAS_SA_RESTORER

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


Re: [PATCH 2/2] tracing: syscall_regfunc() should not skip kernel threads

2013-03-19 Thread David Howells
Steven Rostedt  wrote:

> Why? If we remove the tracepoint from the slowpath and use a table swap,
> then we wouldn't need to use the slowpath at all.

How are you engineering a table swap?  Do you patch the system call code to
change the immediate address loaded or do you put in a level of indirection?

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


Re: [GIT PULL] Load keys from signed PE binaries

2013-03-19 Thread David Howells
Stephen Rothwell  wrote:

> David, if I do remove it, are there other patches in your pekey tree that
> are still going forward?

No.

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


Re: [PATCH 2/9] vfs: export do_splice_direct() to modules

2013-03-20 Thread David Howells
Al Viro  wrote:

> fs/cachefiles/rdwr.c:967:   ret = file->f_op->write(
> 
> cachefiles_write_page(); no fucking idea what locks might be held by caller
> and potentially that's a rather nasty source of PITA

The caller of cachefiles_write_page() (ie. fscache_write_op()) holds no locks
over the call.

__fscache_write_page() queues the pages for writing to the cache from the
netfs's read-side routines and returns immediately.

fscache_write_op() then picks them up in the background and passes them over
to the backend (eg. cachefiles_write_page()) which writes them out to the
cache.

So I think it should be safe to call file_start/end_write() or whatever around
the file->f_op->write() calls.

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


Re: [GIT PULL] Load keys from signed PE binaries

2013-03-20 Thread David Howells
David Howells  wrote:

> Stephen Rothwell  wrote:
> 
> > David, if I do remove it, are there other patches in your pekey tree that
> > are still going forward?
> 
> No.

Well, maybe.  But feel free to drop it anyway for the moment.

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


Re: [PATCH v5 01/45] percpu_rwlock: Introduce the global reader-writer lock backend

2013-02-11 Thread David Howells
Srivatsa S. Bhat  wrote:

> We can use global rwlocks as shown below safely, without fear of deadlocks:
> 
> Readers:
> 
>  CPU 0CPU 1
>  --   --
> 
> 1.spin_lock(&random_lock); read_lock(&my_rwlock);
> 
> 
> 2.read_lock(&my_rwlock);   spin_lock(&random_lock);

The lock order on CPU 0 is unsafe if CPU2 can do:

write_lock(&my_rwlock);
spin_lock(&random_lock);

and on CPU 1 if CPU2 can do:

spin_lock(&random_lock);
write_lock(&my_rwlock);

I presume you were specifically excluding these situations?

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


Re: [PATCHSET] arch: unify task dump debug info

2013-04-02 Thread David Howells

Tejun Heo  wrote:

> There are multiple ways a task can be dumped - explicit call to
> dump_stack(), triggering WARN() or BUG(), through sysrq-t and so on.
> Most of what gets printed is upto each architecture and the current
> state is not particularly pretty.  Different pieces of information are
> presented differently depending on which path the dump takes and which
> architecture it's running on.  This is messy for no good reason and
> makes it exceedingly difficult to add or modify debug information to
> task dumps.
> 
> In all archs except for s390, there's nothing arch-specific about the
> printed debug information.  This patchset updates all those archs to
> use the same helpers to consistently print out the same debug
> information.
> 
> An example WARN dump after this patchset.
> 
>  WARNING: at /work/os/work/kernel/workqueue.c:4840 
> init_workqueues+0x35/0x505()
>  Modules linked in:
>  Pid: 1, comm: swapper/0 Not tainted 3.9.0-rc1-work+ #18 empty empty/S3992
>   0009 88007c861e08 81c61525 88007c861e48
>   8108f500 82228240 0040 8234a041
>      88007c861e58
>  Call Trace:
>   [] dump_stack+0x19/0x1b
>   [] warn_slowpath_common+0x70/0xa0
>   [] warn_slowpath_null+0x1a/0x20
>   [] init_workqueues+0x35/0x505
>   ...
> 
> And BUG dump.
> 
>  kernel BUG at /work/os/work/kernel/workqueue.c:4841!
>  invalid opcode:  [#1] PREEMPT SMP DEBUG_PAGEALLOC
>  Modules linked in:
>  Pid: 1, comm: swapper/0 Tainted: GW3.9.0-rc1-work+ #20 empty 
> empty/S3992
>  CPU:0 task: 88007c85e040 ti: 88007c86 task.ti: 88007c86
>  RIP: 0010:[]  [] 
> init_workqueues+0x15/0x17
>  RSP: :88007c861ec8  EFLAGS: 00010296
>  RAX: 0024 RBX: 82446608 RCX: 0001
>  ...
>  Stack:
>   88007c861ef8 81000312 82446608 88007c85e650
>   0003  88007c861f38 82335e5d
>   88007c862080 8223d8c0 88007c862080 81c47730
>  Call Trace:
>   [] do_one_initcall+0x122/0x170
>   [] kernel_init_freeable+0x9b/0x1c8
>   ...
> 
> This patchset contains the following five patches.
> 
>  0001-x86-don-t-show-trace-beyond-show_stack-NULL-NULL.patch
>  0002-sparc32-make-show_stack-acquire-fp-if-_ksp-is-not-sp.patch
>  0003-dump_stack-consolidate-dump_stack-implementations-an.patch
>  0004-dump_stack-implement-arch-specific-hardware-descript.patch
>  0005-dump_stack-unify-debug-information-printed-by-show_r.patch
> 
> 0001-0002 update stack dumping functions in x86 and sparc32 in
> preparation.
> 
> 0003 makes all arches except s390 and blackfin use generic
> dump_stack().  blackfin still uses the generic helper to print the
> same info.  s390 is left alone as its current debug info includes
> arch-specific stuff.
> 
> 0004 properly abstracts DMI identifier printing in WARN() and
> show_regs() so that all dumps print out the information.  This enables
> show_regs() to use the same debug info message.
> 
> 0005 updates show_regs() of all arches except for s390 to use a common
> generic helper to print debug info.
> 
> While this patchset changes how debug info is printed on some archs,
> the printed information is always superset of what used to be there.
> 
> This patchset makes task dump debug messages consistent and enables
> adding more information.  Workqueue is scheduled to add worker
> information including the workqueue in use and work item specific
> description.
> 
> This patchset is based on top of v3.9-rc4 and available in the
> following git branch.
> 
>  git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git review-unify-dump
> 
> While this patch touches a lot of archs, it isn't too likely to cause
> non-trivial conflicts with arch-specfic changes and would probably be
> best to route together either through -tip or -mm.
> 
> x86 is tested but other archs are either only compile tested or not
> tested at all.  Changes to most archs are generally trivial.

For FRV and MN10300 bits:

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


Re: NULL pointer at kset_find_obj

2013-04-02 Thread David Howells
CAI Qian  wrote:

> Just booted the latest mainline,
> 
> [   35.217698] Request for unknown module key 'Magrathea: Glacier signing
> key: 8b7774b08bc4ee9637073434c10f0823f6fbe523' err -11

Can you check back earlier in the dmesg to see whether the kernel tried to
load the key?  -11 is presumably -EAGAIN - in which case no such key was found
(rather than there being a cached lookup failure which is what -ENOKEY would
indicate).  It is possible that you encountered the key-not-yet-valid problem
due to your h/w clock showing a value prior to the start date on the key.
 
> [   35.218511] BUG: unable to handle kernel paging request at 
> a03093f0 
> [   35.218521] IP: [] kset_find_obj+0x30/0x80 
> ...
> [   35.218575] Call Trace: 
> [   35.218583]  [] load_module+0xb0d/0x1b00 
> [   35.218587]  [] ? ddebug_proc_open+0xc0/0xc0 
> [   35.218593]  [] ? page_fault+0x28/0x30 
> [   35.218596]  [] sys_init_module+0xd7/0x120 
> [   35.218601]  [] system_call_fastpath+0x16/0x1b 

I think this bit should be waved in front of Rusty.  It looks like it might be
a bug in error handling code.

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


Re: [PATCH 2/2] xhci: Rename SEGMENT_SIZE and SEGMENT_SHIFT as the former is used in a.out.h

2013-04-02 Thread David Howells
Sarah Sharp  wrote:

> I guess my question is a deeper one: do we need to rename all the xHCI
> macros to have the XHCI_ prefix, in order to avoid future collision?
> For example, one of the macros is MAX_HC_PORTS, which could possibly be
> used by other host drivers in the future.

Hmmm...

I suspect the question is whether your symbols are likely to collide with
core symbols rather than symbols of unrelated drivers - after all, you're
unlikely to be #including the headers of those drivers.

I personally prefer to prefix the names of symbols in drivers with something
consistent for that driver to reduce namespace collisions - but I know not
everyone cares about that.  Linux doesn't have much of a policy in this area
though.  I also like it because it makes tags easier to use (fewer definitions
of the same symbol).

Whether you should go back and rename existing xHCI functions, I don't know.
I'd be tempted to leave it for now unless there's some collision.  However,
things like MAX_HC_PORTS does seem a little generic.  Further #define
collisions go unnoticed under some circumstances.  Two obvious cases are (a)
redefinition of a symbol because it happens to be the same value and (b) where
the second one is accidentally suppressed because it is wrapped in a
conditional.

Perhaps we should move to C++ and use namespaces;-)

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


Re: NULL pointer at kset_find_obj

2013-04-03 Thread David Howells
CAI Qian  wrote:

> > Can you check back earlier in the dmesg to see whether the kernel tried to
> > load the key?  -11 is presumably -EAGAIN - in which case no such key was
> > found
> > (rather than there being a cached lookup failure which is what -ENOKEY would
> > indicate).  It is possible that you encountered the key-not-yet-valid 
> > problem
> > due to your h/w clock showing a value prior to the start date on the key.
> Hmm, unsure about how to check it, but here is the full log prior the panic,
> http://people.redhat.com/qcai/stable/log.key

This bit here:

[2.693861] Loading module verification certificates 
[2.698920] X.509: Cert 8b7774b08bc4ee9637073434c10f0823f6fbe523 is not 
yet valid 
[2.706444] MODSIGN: Problem loading in-kernel X.509 certificate (-129) 

After those lines, you have indeed managed to load some modules:

[   35.218540] Modules linked in: kvm(F+) microcode(F+) i2c_nforce2(F) 
edac_core(F) k8temp(F) shpchp(F) serio_raw(F) pcspkr(F) xfs(F) libcrc32c(F) 
sd_mod(F) crc_t10dif(F) sr_mod(F) cdrom(F) mptsas(F) radeon(F) i2c_algo_bit(F) 
scsi_transport_sas(F) drm_kms_helper(F) mptscsih(F) ttm(F) drm(F) mptbase(F) 
i2c_core(F) usb_storage(F) dm_mirror(F) dm_region_hash(F) dm_log(F) dm_mod(F) 

Each of which appears to have incurred the:

[   34.917174] Request for unknown module key 'Magrathea: Glacier signing 
key: 8b7774b08bc4ee9637073434c10f0823f6fbe523' err -11 

error.

So that seems to be what I thought it was, but it doesn't seem to have been a
problem for most modules.

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


Re: NULL pointer at kset_find_obj

2013-04-03 Thread David Howells
Rusty Russell  wrote:

> > I think this bit should be waved in front of Rusty.  It looks like it
> > might be a bug in error handling code.
> 
> It does look like it, but I can't see it.  The module code doesn't see
> an error (presumably sig_enforce is false), so we continue processing
> the module like normal.

I just realised there's a second similar oops in there, and I only summarised
the first one.  Not that I think the second one lends particularly much
illumination that I can see:

[   35.242163] BUG: unable to handle kernel paging request at a03093f0 
[   35.242172] IP: [] kobject_get_path+0x20/0xf0 
...
[   35.242230] Call Trace: 
[   35.242233]  [] kobject_uevent_env+0x166/0x610 
[   35.242236]  [] kobject_uevent+0xb/0x10 
[   35.242238]  [] kobject_cleanup+0xca/0x1b0 
[   35.242241]  [] kobject_put+0x2b/0x60 
[   35.242247]  [] load_module+0x1384/0x1b00 
[   35.242252]  [] ? ddebug_proc_open+0xc0/0xc0 
[   35.242259]  [] ? page_fault+0x28/0x30 
[   35.242262]  [] sys_init_module+0xd7/0x120 
[   35.242268]  [] system_call_fastpath+0x16/0x1b 

This is followed by a bunch of soft lockup notices, so I guess one of the
oopsers was holding module_kset->list_lock.


Anyway, assuming the original oops happened in kset_find_obj() as called from
mod_sysfs_init(), it's possible that module_kset is corrupt.  The only thing
kset_find_obj() is using from the module is a NUL-terminated name - which is
typically in the file prior to a load of metadata, some of which will contain
zeroed bytes.

Btw, one thing I've noticed is that sysfs appears to be able to execute code
in the module by way of parameter alterations before the module is completely
set up.  I'm not sure this is an actual problem - but it might give an
interesting interaction with module initialisers as they might reasonably
expect that module parameters can't change whilst they're running.

> Is the module getting corrupted somehow?  I don't think the signing
> infrastructure is doing it...

I wonder if I should include all or part of the crytographic digest in the
signature descriptor block.  A single byte therefrom would give a 255 in 256
chance of picking up corruption - even if we can't actually verify the
signature.  There are three bytes of padding available.

The module signing stuff shouldn't be altering it.  Const pointers are used to
try and catch accidental alterations and the code mostly focuses on the bit
beyond the end of the normal module content.  The crypto layer does get to
play with it, but I doubt that is likely to corrupt it either.

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


Re: [PATCH 3/3] KEYS: Add a 'trusted' flag and a 'trusted only' flag

2013-01-30 Thread David Howells
Kasatkin, Dmitry  wrote:

> What about the case when running from integrity protected initramfs?
> Either embedded into the signed kernel, or verified by the boot loader.
> In such case it is possible to assume that all keys which are added by
> user space are implicitly trusted.
> Later on, before continuing booting normal rootfs, set the key
> subsystem state (trust-lock),
> so that trusted keyrings accept only explicitly trusted keys...
> 
> Does it make sense?

I'm not sure it does.  Initramfs is (re-)fabricated on the machine on which it
runs any time you update one of a set of rpms (such as the kernel rpm) because
it has machine-specific data and drivers in it.

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


Re: [PATCH v2 65/76] ARC: UAPI Disintegrate arch/arc/include/asm

2013-01-24 Thread David Howells
James Hogan  wrote:

> > BTW looking at metag port, it seems that  does #include
> > , but latter doesn't exist in the repository - is it
> > generated for you James or is this same issue which David elucidated to
> > above ?
> 
> We have generic-y += setup.h in arch/metag/include/uapi/asm/Kbuild for this

Vineet can't do that as his COMMAND_LINE_SIZE is different to the standard and
also not placed in his UAPI setup.h.

So far, only user-mode Linux and x86 don't put COMMAND_LINE_SIZE in
uapi/asm/setup.h.  Everything else does.

grep -r 'define\s*COMMAND_LINE_SIZE' arch/*/include | grep -v /uapi/

Not sure if that's needed to build a bootloader or not.

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


Re: [PATCH 3/8] mm: use vm_unmapped_area() on frv architecture

2013-01-24 Thread David Howells
Michel Lespinasse  wrote:

> Update the frv arch_get_unmapped_area function to make use of
> vm_unmapped_area() instead of implementing a brute force search.
> 
> Signed-off-by: Michel Lespinasse 
> Acked-by: Rik van Riel 

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


Re: [PATCH 1/4] MODSIGN: Simplify Makefile with a Kconfig helper

2013-01-24 Thread David Howells
Michal Marek  wrote:

> Signed-off-by: Michal Marek 

Add a check into the script to make sure that CONFIG_MODULE_SIG_HASH is
actually set to something, and then you can add "Acked-by: David Howells
".

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


Re: [PATCH 2/4] MODSIGN: Specify the hash algorithm on sign-file command line

2013-01-24 Thread David Howells
Michal Marek  wrote:

> -mod_sign_cmd = perl $(srctree)/scripts/sign-file $(MODSECKEY) $(MODPUBKEY)
> +mod_sign_cmd = perl $(srctree)/scripts/sign-file -a 
> $(CONFIG_MODULE_SIG_HASH) $(MODSECKEY) $(MODPUBKEY)

It's mandatory, so it shouldn't really have a "-a" flag.

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


Re: [PATCH 2/4] MODSIGN: Specify the hash algorithm on sign-file command line

2013-01-24 Thread David Howells
Michal Marek  wrote:

> +our ($opt_v, $opt_a);

Should this be 'our' or 'my'?

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


Re: [PATCH 3/4] MODSIGN: Add -s option to sign-file

2013-01-24 Thread David Howells
+die "Can't read private key\n" if !$signature_file && !-r $private_key;
+die "Can't read signature file\n" if $signature_file && !-r $signature_file;

Please bracket the if condition.

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


Re: [PATCH 2/4] MODSIGN: Specify the hash algorithm on sign-file command line

2013-01-24 Thread David Howells
Michal Marek  wrote:

> >> +our ($opt_v, $opt_a);
> > 
> > Should this be 'our' or 'my'?
> 
> These are global variables set by getopts(), so they need to be declared
> 'our'. But I can change it to use the two-argument version of getopts,
> that does not use global variables.

No, that's fine.  Perl seems like black magic at the best of times.

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


Re: [PATCH v2 3/4] MODSIGN: Add -s option to sign-file

2013-01-24 Thread David Howells
Michal Marek  wrote:

> This option allows to append an externally computed singature to the
> module. This is needed in setups, where the private key is not directly
> available, but a service exists that returns signatures for given files.
> 
> Signed-off-by: Michal Marek 
> ---
> v2: Use two-argument version of getopts to avoid global variables
> Use parentheses in EXPR if (...) constructs

Feel free to add:

Acked-by: David Howells 

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


Re: [PATCH] MODSIGN: flag modules that use cryptoapi and only panic if those are unsigned

2013-01-24 Thread David Howells
Kyle McMartin  wrote:

> After thinking about it a while, this seems like the best way to solve
> the problem, although it does still kind of offend my delicate
> sensibilities...
> 
> Doing this check in the crypto layer seems kind of like a layering
> violation to me (and, to be honest, I think it'd be a gross-hack getting
> from the callee back to the caller module.)
> 
> Instead, doing it in kernel/module.c and looking at the undefined symbol
> list again looks to me like an ordering problem since we're doing the
> signature check before we've even done the elf header check. We'd have
> to move the panic to a part of the module code that may not necessarily
> make sense.
> 
> Whereas checking the undefined symbol list at modpost time is fairly
> logical, and adding a new MODULE_INFO entry in the CONFIG_CRYPTO_FIPS
> case is a well understood thing to do, and should catch all the crypto
> registrations regardless of where they exist in-tree...
> 
> Seems to build and work with both values of CONFIG_CRYPTO_FIPS.
> 
> Thoughts?

You can't rely on someone trying to sneak a dodgy crypto module in to set the
flag when they build it.  The detection thus needs to be done in the kernel
during the module load.

Can you search the module image for "crypto_register_" I wonder?  If that's
there, it's a crypto module.

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


Re: [PATCH] usermodehelper: Fix -ENOMEM return logic

2013-02-25 Thread David Howells

Lucas De Marchi  wrote:

> Callers of call_usermodehelper_fns() should check the return value and
> free themselves the data passed if the return is -ENOMEM. This is
> because the subprocess_info is allocated in this function, and if the
> allocation fail, the cleanup function cannot be called.
> 
> However call_usermodehelper_exec() may also return -ENOMEM, in which
> case the cleanup function is called. This means that if the caller
> checked the return code, it was risking running the cleanup twice (like
> kernel/sys.c:orderly_poweroff()) and if not, a leak could happen.
> 
> This patch fixes both call_usermodehelper_fns() to never call the
> cleanup function in case retval == -ENOMEM and also the callers to
> actually check the return value of this function.

I suspect it's probably better to always call the cleanup function from
call_usermodehelper_fns() rather than have the cleanup done by the caller in
some circumstances and not others - would it make sense to change the cleanup
function to take the pointer to the caller data rather than to take the
subprocess_info struct?

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


Re: [GIT PULL] Load keys from signed PE binaries

2013-02-25 Thread David Howells

Florian Weimer  wrote:

> Seriously, folks, can we go back one step and discuss what problem you
> are trying to solve?  Is it about allowing third-party kernel modules
> in an environment which does not allow unsigned ring 0 code execution?

Let me try and lay things out:

 (1) Like it or not, the reality is that machines exist that have UEFI secure
 boot.  We want it to be possible for people to be able to install and run
 Linux on these.

 (2) Unless secure boot is completely disabled, the operating system boot
 loader must be signed by a key that's in the UEFI key database.

 (3) We don't want to stop people from being able to dual boot Windows (and
 other OS's - but Windows is the problematic one), therefore we will need
 to be able to operate with secure mode enabled.

 (4) Machines are shipped with a Microsoft root key.  They are not shipped
 with a Microsoft-independent root key from Red Hat or, say, the Linux
 Foundation.

 (5) Unless we get the administrator to add a key prior to Linux installation,
 Linux cannot be booted on a secure UEFI machine - unless the boot loader
 is signed by Microsoft's key.

 (6) To maintain secure boot mode, the kernel must be signed and the boot
 loader must check the signature on it.  The key must be either compiled
 into the bootloader (and thus validated by the bootloader signature) or
 must reside in the UEFI database.

 [*] Note: This step is simplified a bit.

 (7) To maintain secure boot mode, the kernel modules must be signed and the
 kernel must check the signature on them.  The key must be compiled into
 the kernel or the bootloader or must reside in the UEFI database.

At this point, you have the kernel booted in secure boot mode.  Now, there are
several issues we have to deal with going on from here if we want to *stay* in
secure boot mode:

 (A) Unsigned modules.  These may not be loaded in secure boot mode.  At all.

 (B) Systemtap.  We need to be able to debug live kernels.  Red Hat uses
 systemtap a lot for customer support.  However, the private side of the
 key that was used to sign the normal kernel modules gets discarded during
 the build - massively reducing the probability of the key being leaked -
 and so is not available for signing additional modules outside of the
 build.

 (C) Third party modules.  Despite Linus's graphic assertions to the contrary,
 Red Hat has no intention of signing third party modules.

 [*] Note: We realise that it is the right of people to load weird and
 terrific stuff into their kernels...  But we don't want to have to
 try and deal with the consequences when they do and the sources
 aren't easily available.

 (D) kexec.  To be able to replace one kernel with another under secure boot
 means that you have to be able to trust the replacement kernel.
 Therefore that kernel must also be signed by a trusted key known to the
 kernel.

 (E) /dev/mem and similar.  This is not permitted.  Programs should go through
 drivers rather than directly accessing memory mapped devices.

 (F) Direct hardware instruction and DMA.  This must be vetted thoroughly by
 the driver so that this doesn't permit a device to be used to modify a
 running kernel.

 (G) Suspend to disk.  This is not permitted if it's possible to then alter
 the image and resume it.

Now, E-G above are outside the scope of this discussion - however, dealing
with kexec and the loading of modules is pertinent (kexec's boot target can be
dealt with more or less the same as for a module).  So:

 (a) Red Hat will not sign third party modules.

 (b) I don't imagine Linus wants to take patches to make modules PE rather
 than ELF, so direct module signing by Microsoft is out of the question.

 (c) Thus, to load a module signed by a third party requires the third party's
 key be made available to the kernel first.

 (d) Red Hat will not compile third party keys into its kernels - unless those
 keys come via the upstream kernel.

 (e) If Linus patches the upstream kernel to include third party keys, so be
 it.  That's his decision - in that case we will have those keys
 available.  But given Linus's responses, I find that unlikely.

 (f) We must therefore require the administrator to manually add a key using
 the UEFI shell and/or permit keys to be loaded dynamically.  The latter
 option makes it much easier to use with systemtap without having to take
 a machine down (which may be unacceptable or there may be no guarantee of
 reproducing the behaviour after a reboot).

 [*] Note: since the signing keys are done using the in-kernel keyrings
 facility, there is a command that's obviously available for adding
 them ("keyctl add").

 (g) We cannot simply permit the dynamic addition of just any old key
 otherwise we may as well not bother with signed modules at all.  The
 publ

Re: [PATCH 1/4] pci: Add PCI_BUS() and PCI_DEVID() interfaces to return bus number and device id

2013-02-25 Thread David Howells
Bjorn Helgaas  wrote:

> David, can you point me at a description of include/uapi ... what is
> there and why, and how we should decide what new things go in
> include/uapi/linux/pci.h as opposed to include/linux/pci.h?  Maybe
> there should be something in Documentation/?

Probably in CodingStyle, Submitting* or somewhere similar.

> I'm guessing it's something to do with being exported to userland, but
> I'm not sure the things in this patch (PCI_DEV_ID, PCI_BUS) are really
> exportable in the sense of being used for syscalls, etc.

As a rule, if it's in uapi/ then it's exported to userspace; if it's not, then
it isn't.  The old headers where disintegrated along the lines of __KERNEL__
delimited sections by my scripts.

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


Re: [GIT PULL] Load keys from signed PE binaries

2013-02-26 Thread David Howells
Greg KH  wrote:

> >  (6) To maintain secure boot mode, the kernel must be signed and the boot
> >  loader must check the signature on it.  The key must be either compiled
> >  into the bootloader (and thus validated by the bootloader signature) or
> >  must reside in the UEFI database.
> > 
> >  [*] Note: This step is simplified a bit.
> 
> That's all fine, and now your machine can boot both Linux and Windows
> wonderfully.  Distros have shipped code doing this for a short while now
> thanks to Matthew's and other developer's effort in writing a UEFI
> bootloader / shim that Microsoft has signed.
> 
> >  (7) To maintain secure boot mode, the kernel modules must be signed and the
> >  kernel must check the signature on them.  The key must be compiled into
> >  the kernel or the bootloader or must reside in the UEFI database.
> 
> Wait right here.  This is NOT mandated by UEFI, nor by anyone else.  It
> might be a nice thing that some people and companies want to implement,
> but please don't think that some external entity is requiring that Linux
> implement this, that is not true.

What's the point in having the bootloader check the signature on a kernel
(which you say is fine) if you then permit it to be modified arbitrarily once
it is running?  If you don't have signed modules then there's no point having
signed kernels (assuming you don't disable module loading).

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


Re: [PATCH v4] drivers/tty: Folding Android's keyreset driver in sysRQ

2013-02-27 Thread David Howells
Linus Torvalds  wrote:

> > Your fix is compiling, running and yielding the correct results -
> > apologies about that.
> >
> > Acked-by: Mathieu Poirier 
> 
> Ok, good. Committed and pushed out. Adding rmk and dhowells to the cc
> just to let them know, since Dave said they were debugging this on
> irc.

Seems reasonable to me.  After dissecting stuff this morning, we noted that
the code dump in the oops shows that the MOV insn that gets the value to test
does not load 0.

The first five bytes of:

ba 00 00 40 ff | 31 c0 | 8b 1d 0c 0e a0

correspond to this:

mov $0xff40,%edx

when the linker should've made it this:

mov $0x,%edx

I suspect that the number may be some metadata reference that didn't get
substituted.

Dave Airlie tried disassembling his vmlinux with gdb - and that apparently did
show a load of 0, but the EIP in his oops doesn't match the addresses from
gdb's disassembly - so I'm not sure what's happening there.

In the oops, the %cr2 value was 0xff40, but the offending instruction
bytes of the actual faulting instruction in the code dump were cropped by his
photo of the screen.

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


[PATCH] KEYS: Revert one application of "Fix unreachable code" patch

2013-02-20 Thread David Howells
From: Alan Cox 

A patch to fix some unreachable code in search_my_process_keyrings() got
applied twice by two different routes upstream:

commit e67eab39bee26f509d38d00ca1a8f24b63f46a31
Author: Alan Cox 
Date:   Thu Dec 20 15:05:54 2012 -0800
keys: fix unreachable code

and:

commit b010520ab3d2c05eb444ed5e01fe6c33842f597a
Author: Alan Cox 
Date:   Thu Oct 25 15:23:35 2012 +0100
keys: Fix unreachable code

Unfortunately, the second application removed something it shouldn't have and
this wasn't detected by GIT.  This is due to the patch not having sufficient
lines of context to distinguish the two places of application.

So revert the second application of the patch.

Signed-off-by: David Howells 
cc: Jiri Kosina 
cc: Andrew Morton 
---

 security/keys/process_keys.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c
index 20e4bf5..58dfe08 100644
--- a/security/keys/process_keys.c
+++ b/security/keys/process_keys.c
@@ -367,6 +367,8 @@ key_ref_t search_my_process_keyrings(struct key_type *type,
 
switch (PTR_ERR(key_ref)) {
case -EAGAIN: /* no key */
+   if (ret)
+   break;
case -ENOKEY: /* negative key */
ret = key_ref;
break;

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


Re: [PATCH v2] X.509: Support parse long form of length octets in Authority Key Identifier

2013-02-20 Thread David Howells
Chun-Yi Lee  wrote:

> Per X.509 spec in 4.2.1.1 section, the structure of Authority Key
> Identifier Extension is:
> 
>AuthorityKeyIdentifier ::= SEQUENCE {
>   keyIdentifier [0] KeyIdentifier   OPTIONAL,
>   authorityCertIssuer   [1] GeneralNamesOPTIONAL,
>   authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL  }
> 
>KeyIdentifier ::= OCTET STRING
> 
> When a certificate also provides
> authorityCertIssuer and authorityCertSerialNumber then the length of
> AuthorityKeyIdentifier SEQUENCE is likely to long form format.
> e.g.
>The example certificate demos/tunala/A-server.pem in openssl source:
> 
> X509v3 Authority Key Identifier:
> keyid:49:FB:45:72:12:C4:CC:E1:45:A1:D3:08:9E:95:C4:2C:6D:55:3F:17
> DirName:/C=NZ/L=Wellington/O=Really Irresponsible Authorisation Authority 
> (RIAA)/OU=Cert-stamping/CN=Jackov al-Trades/emailAddress=none@fake.domain
> serial:00
> 
> Current parsing rule of OID_authorityKeyIdentifier only take care the
> short form format, it causes load certificate to modsign_keyring fail:
> 
> [   12.061147] X.509: Extension: 47
> [   12.075121] MODSIGN: Problem loading in-kernel X.509 certificate (-74)
> 
> So, this patch add the parsing rule for support long form format against
> Authority Key Identifier.
> 
> v2:
>  - Removed comma from author's name.
>  - Moved 'Short Form length' comment inside the if-body.
>  - Changed the type of sub to size_t.
>  - Use ASN1_INDEFINITE_LENGTH rather than writing 0x80 and 127.
>  - Moved the key_len's value assignment before alter v.
>  - Fixed the typo of octets.
>  - Add 2 to v before entering the loop for calculate the length.
>  - Removed the comment of check vlen.
> 
> Cc: Rusty Russell 
> Cc: Josh Boyer 
> Cc: Randy Dunlap 
> Cc: Herbert Xu 
> Cc: "David S. Miller" 
> Signed-off-by: Chun-Yi Lee 

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


[PATCH] KEYS: Revert one application of "Fix unreachable code" patch [ver #2]

2013-02-21 Thread David Howells
A patch to fix some unreachable code in search_my_process_keyrings() got
applied twice by two different routes upstream:

commit e67eab39bee26f509d38d00ca1a8f24b63f46a31
Author: Alan Cox 
Date:   Thu Dec 20 15:05:54 2012 -0800
keys: fix unreachable code

and:

commit b010520ab3d2c05eb444ed5e01fe6c33842f597a
Author: Alan Cox 
Date:   Thu Oct 25 15:23:35 2012 +0100
keys: Fix unreachable code

Unfortunately, the second application removed something it shouldn't have and
this wasn't detected by GIT.  This is due to the patch not having sufficient
lines of context to distinguish the two places of application.

The effect of this is relatively minor: inside the kernel, the keyring search
routines may search multiple keyrings and then prioritise the errors if no keys
or negative keys are found in any of them.  With the extra deletion, the
presence of a negative key in the thread keyring (causing ENOKEY) is
incorrectly overridden by an error searching the process keyring.

So revert the second application of the patch.

Signed-off-by: David Howells 
cc: Jiri Kosina 
cc: Andrew Morton 
cc: sta...@vger.kernel.org
---

 security/keys/process_keys.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c
index 20e4bf5..58dfe08 100644
--- a/security/keys/process_keys.c
+++ b/security/keys/process_keys.c
@@ -367,6 +367,8 @@ key_ref_t search_my_process_keyrings(struct key_type *type,
 
switch (PTR_ERR(key_ref)) {
case -EAGAIN: /* no key */
+   if (ret)
+   break;
case -ENOKEY: /* negative key */
ret = key_ref;
break;

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


[GIT PULL] UAPI disintegration for the framebuffer layer

2013-02-21 Thread David Howells

Hi Linus,

Here are the UAPI disintegration bits for the fbdev drivers.  It appears that
Florian hasn't had time to deal with my patch, but back in December he did say
he didn't mind if I pushed it forward.  I recommend pulling it after any other
fbdev stuff and I can easily regenerate it if necessary.

David
---
The following changes since commit 1800098549fc310cefdcb3722adaad0edda8:

  ARM: OMAP: Fix build breakage due to missing include in i2c.c (2012-12-20 
08:43:25 -0800)

are available in the git repository at:

  git://git.infradead.org/users/dhowells/linux-headers.git 
tags/disintegrate-fbdev-20121220

for you to fetch changes up to b889fcf63cb62e7fdb7816565e28f44dbe4a76a5:

  UAPI: (Scripted) Disintegrate include/video (2012-12-20 17:14:26 +)


UAPI disintegration 2012-12-20

--------
David Howells (1):
  UAPI: (Scripted) Disintegrate include/video

 include/uapi/video/Kbuild|   3 +
 include/uapi/video/edid.h|   9 ++
 include/uapi/video/sisfb.h   | 209 +++
 include/uapi/video/uvesafb.h |  60 +
 include/video/Kbuild |   3 -
 include/video/edid.h |   7 +-
 include/video/sisfb.h| 189 +-
 include/video/uvesafb.h  |  58 +---
 8 files changed, 284 insertions(+), 254 deletions(-)
 create mode 100644 include/uapi/video/edid.h
 create mode 100644 include/uapi/video/sisfb.h
 create mode 100644 include/uapi/video/uvesafb.h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] MODSIGN: Fix including certificate twice when the signing_key.x509 already exists

2013-02-21 Thread David Howells

> +ifneq ($(shell pwd), $(srctree))

How reliable is this, I wonder?

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


[GIT PULL] Load keys from signed PE binaries

2013-02-21 Thread David Howells

Hi Linus,

Can you pull this patchset please?

It provides a facility by which keys can be added dynamically to a kernel that
is running in secure-boot mode.  To permit a key to be loaded under such a
condition, we require that the new key be signed by a key that we already have
(and trust) - where keys that we "already have" could include those embedded in
the kernel, those in the UEFI database and those in cryptographic hardware.

Now, "keyctl add" will already handle X.509 certificates that are so signed,
but Microsoft's signing service will only sign runnable EFI PE binaries.

We could require that the user reboot into the BIOS, add the key, and then
switch back, but under some circumstances we want to be able to do this whilst
the kernel is running.

The way we have come up with to get around this is to embed an X.509
certificate containing the key in a section called ".keylist" in an EFI PE
binary and then get the binary signed by Microsoft.  The key can then be passed
to the kernel by passing the signed binary:

keyctl padd asymmetric "" {ID of .system_keyring} flags:

KEY_FLAG_TRUSTED - this key is trusted.

KEY_FLAG_TRUSTED_ONLY - only links to trusted keys can be made to this
keyring.

I'm not sure that this is the best mechanism by which to filter keyring
additions, but it's not currently visible to the user, and so can be changed.
One thing we might want to consider is using X.509 extension fields to contain
bitfields that indicate what is permitted of the key inside an X.509
certificate.  These contribute to the X.509 cryptographic digest and so are
secure.


What these patches then do is allow you to add new keys by signing them with a
key a user will already have.  There can be more than one source for these
keys: firstly, there is a key built into the kernel for module signing
purposes, and secondly, we have patches under development for extracting keys
from the UEFI signature database.


Note: Though we don't actually execute the PE binary container to get at the
key, the binary must be executable in the EFI environment for Microsoft to sign
it.

The test wrapper I'm using is this:

#include 
#include 

EFI_STATUS
efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *systab)
{
InitializeLib(image_handle, systab);
Print(L"This program contains a list of public keys.\n");
return EFI_SUCCESS;
}

extern __attribute__((section(".keylist"))) const uint8_t 
certificate_list[];
extern __attribute__((section(".keylist"))) const uint8_t 
certificate_list_end[];
asm(".section .keylist,\"a\"\n"
"certificate_list:\n"
".incbin \"signing_key.x509\"\n"
"certificate_list_end:"
);

and is built from pekey.c by something like this:

CPPFLAGS := -nostdinc -I /usr/include/efi -I /usr/include/efi/x86_64

CFLAGS := -O2 -fpic \
-Wall -fshort-wchar -fno-strict-aliasing \
-fno-merge-constants -mno-red-zone

LDSCRIPT := /usr/lib64/gnuefi/elf_x86_64_efi.lds
CRT0:= /usr/lib64/gnuefi/crt0-efi-x86_64.o
X509:= magrathea
KEY := /data/modsign/linux-modsign/signing_key.priv

pekey.efi.signed: pekey.efi
pesign -i $< -o $@ -c $(X509) -p $(KEY) -s -f

pekey.efi: pekey.so
objcopy \
-j .text -j .sdata -j .data -j .dynamic -j .dynsym -j 
.rel \
-j .rela -j .reloc -j .keylist --target=efi-app-x86_64 
$< $@

pekey.so: pekey.o
$(LD) -nostdlib -T $(LDSCRIPT) -shared -Bsymbolic $(CRT0) $< -o 
$@ \
-L /usr/lib64 -lefi -lgnuefi \
        -L /usr/lib/gcc/x86_64-redhat-linux/4.7.2 -lgcc

pekey.o: pekey.c Makefile
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@

Signed-off-by: David Howells 
---
The following changes since commit 406089d01562f1e2bf9f089fd7637009ebaad589:

  Merge tag 'trace-3.8-rc3-regression-fix' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace (2013-01-14 
20:22:16 -0800)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-modsign.git 
tags/pekey-20130221

for you to fetch changes up to 4ea349d3bb1d3521b7df8dbf0e88fe41cd3c0683:

  MODSIGN: Fix including certificate twice when the signing_key.x509 already 
exists (2013-02-21 14:11:40 +)


(from the branch description for devel-pekey local branch)

clone of "master"
signed-pefile contained key



Re: [GIT PULL] Load keys from signed PE binaries

2013-02-21 Thread David Howells
Linus Torvalds  wrote:

> > There's only one signing authority, and they only sign PE binaries.
> 
> If Red Hat wants to deep-throat Microsoft, that's *your* issue.  That
> has nothing what-so-ever to do with the kernel I maintain. It's
> trivial for you guys to have a signing machine that parses the PE
> binary, verifies the signatures, and signs the resulting keys with
> your own key. You already wrote the code, for chissake, it's in that
> f*cking pull request.

There's a problem with your idea.

 (1) Microsoft's revocation certificates would be based on the hash of the PE
 binary, not the key.

 (2) Re-signing would make the keys then dependent on our master key rather
 than directly on Microsoft's.  Microsoft's revocation certificates[*]
 would then be useless.

 (3) The only way Microsoft could then revoke the extra keys would be to
 revoke our *master* key.

[*] Assuming of course we add support for these.

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


Re: [PATCH] KEYS: Fix race with concurrent install_user_keyrings()

2013-03-12 Thread David Howells
Andrew Morton  wrote:

> James has acked it.  I have it queued for processing so it isn't lost. 
> It has no cc:stable's in it, but David always forgets that ;)

Hmmm...  I did try and resend it there on the 7th.  My mail client records
that it did so, but I don't see it in the list archive and I didn't get any
bounce notifications:-/

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


Re: Status of union-mount?

2013-03-12 Thread David Howells
Sedat Dilek  wrote:

> what's the status of union-mount?

It's being reengineered again to take account of VFS changes that went in in
the last merge window.

> Where does the development happen - in [1]?

On a git tree on my PC - which is occasionally mirrored in [1] when I've got
it working.

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


[PATCH] X.509: Remove certificate date checks

2013-03-14 Thread David Howells
Remove the certificate date checks that are performed when a certificate is
parsed.  There are two checks: a valid from and a valid to.  The first check is
causing a lot of problems with system clocks that don't keep good time and the
second places an implicit expiry date upon the kernel when used for module
signing, so do we really need them?

Signed-off-by: David Howells 
cc: David Woodhouse 
cc: Rusty Russell 
cc: Josh Boyer 
cc: Alexander Holler 
cc: sta...@vger.kernel.org
---

 crypto/asymmetric_keys/x509.asn1  |4 +-
 crypto/asymmetric_keys/x509_cert_parser.c |   64 -
 crypto/asymmetric_keys/x509_parser.h  |2 -
 crypto/asymmetric_keys/x509_public_key.c  |   46 -
 4 files changed, 2 insertions(+), 114 deletions(-)

diff --git a/crypto/asymmetric_keys/x509.asn1 b/crypto/asymmetric_keys/x509.asn1
index bf32b3d..b448099 100644
--- a/crypto/asymmetric_keys/x509.asn1
+++ b/crypto/asymmetric_keys/x509.asn1
@@ -35,8 +35,8 @@ AttributeValueAssertion ::= SEQUENCE {
}
 
 Validity ::= SEQUENCE {
-   notBefore   Time ({ x509_note_not_before }),
-   notAfterTime ({ x509_note_not_after })
+   notBefore   Time,
+   notAfterTime
}
 
 Time ::= CHOICE {
diff --git a/crypto/asymmetric_keys/x509_cert_parser.c 
b/crypto/asymmetric_keys/x509_cert_parser.c
index 7fabc4c..3987508 100644
--- a/crypto/asymmetric_keys/x509_cert_parser.c
+++ b/crypto/asymmetric_keys/x509_cert_parser.c
@@ -430,67 +430,3 @@ int x509_process_extension(void *context, size_t hdrlen,
 
return 0;
 }
-
-/*
- * Record a certificate time.
- */
-static int x509_note_time(struct tm *tm,  size_t hdrlen,
- unsigned char tag,
- const unsigned char *value, size_t vlen)
-{
-   const unsigned char *p = value;
-
-#define dec2bin(X) ((X) - '0')
-#define DD2bin(P) ({ unsigned x = dec2bin(P[0]) * 10 + dec2bin(P[1]); P += 2; 
x; })
-
-   if (tag == ASN1_UNITIM) {
-   /* UTCTime: YYMMDDHHMMSSZ */
-   if (vlen != 13)
-   goto unsupported_time;
-   tm->tm_year = DD2bin(p);
-   if (tm->tm_year >= 50)
-   tm->tm_year += 1900;
-   else
-   tm->tm_year += 2000;
-   } else if (tag == ASN1_GENTIM) {
-   /* GenTime: MMDDHHMMSSZ */
-   if (vlen != 15)
-   goto unsupported_time;
-   tm->tm_year = DD2bin(p) * 100 + DD2bin(p);
-   } else {
-   goto unsupported_time;
-   }
-
-   tm->tm_year -= 1900;
-   tm->tm_mon  = DD2bin(p) - 1;
-   tm->tm_mday = DD2bin(p);
-   tm->tm_hour = DD2bin(p);
-   tm->tm_min  = DD2bin(p);
-   tm->tm_sec  = DD2bin(p);
-
-   if (*p != 'Z')
-   goto unsupported_time;
-
-   return 0;
-
-unsupported_time:
-   pr_debug("Got unsupported time [tag %02x]: '%*.*s'\n",
-tag, (int)vlen, (int)vlen, value);
-   return -EBADMSG;
-}
-
-int x509_note_not_before(void *context, size_t hdrlen,
-unsigned char tag,
-const void *value, size_t vlen)
-{
-   struct x509_parse_context *ctx = context;
-   return x509_note_time(&ctx->cert->valid_from, hdrlen, tag, value, vlen);
-}
-
-int x509_note_not_after(void *context, size_t hdrlen,
-   unsigned char tag,
-   const void *value, size_t vlen)
-{
-   struct x509_parse_context *ctx = context;
-   return x509_note_time(&ctx->cert->valid_to, hdrlen, tag, value, vlen);
-}
diff --git a/crypto/asymmetric_keys/x509_parser.h 
b/crypto/asymmetric_keys/x509_parser.h
index f86dc5f..8ee6f8e 100644
--- a/crypto/asymmetric_keys/x509_parser.h
+++ b/crypto/asymmetric_keys/x509_parser.h
@@ -18,8 +18,6 @@ struct x509_certificate {
char*subject;   /* Name of certificate subject 
*/
char*fingerprint;   /* Key fingerprint as hex */
char*authority; /* Authority key fingerprint as 
hex */
-   struct tm   valid_from;
-   struct tm   valid_to;
enum pkey_algo  pkey_algo : 8;  /* Public key algorithm */
enum pkey_algo  sig_pkey_algo : 8;  /* Signature public key 
algorithm */
enum pkey_hash_algo sig_hash_algo : 8;  /* Signature hash algorithm */
diff --git a/crypto/asymmetric_keys/x509_public_key.c 
b/crypto/asymmetric_keys/x509_public_key.c
index 06007f0..0d1fcfb 100644
--- a/crypto/asymmetric_keys/x509_public_key.c
+++ b/crypto/asymmetric_keys/x509_public_key.c
@@ -106,7 +106,6 @@ error_no_sig:
 static int x509_key_preparse(struct key_preparsed_payload *prep)
 {
struct x509_certificate *cert;
-   struct tm now;
   

Re: [PATCH 2/9] vfs: export do_splice_direct() to modules

2013-03-17 Thread David Howells
Miklos Szeredi  wrote:

> Export do_splice_direct() to modules.  Needed by overlay filesystem.

Apparently you cannot call this from any function that is holding an i_mutex
if the target of the splice uses generic_file_splice_write().

The problem is a potential deadlock situation:

We have places already that do:

mnt_want_write()
mutex_lock()

This can be found in do_last() for example.

However, mnt_want_write() calls sb_start_write() as does
generic_file_splice_write().  So now in ovl_copy_up_locked() you're adding:

mutex_lock()
sb_start_write()

which lockdep reports as a potential ABBA deadlock.

Now, looking at __sb_start_write(), I'm not entirely sure how the deadlock
might operate, so it's possible that this is a false alarm.  Maybe Jan Kara can
illuminate further, so I've added him to the cc list.

I've attached the report I got with unionmount.

David
---
[ INFO: possible recursive locking detected ]
3.9.0-rc1-fsdevel+ #934 Not tainted
-
fs-op/4476 is trying to acquire lock:
 (sb_writers#4){.+.+.+}, at: [] 
generic_file_splice_write+0x5d/0x14b
but task is already holding lock:
 (sb_writers#4){.+.+.+}, at: [] mnt_want_write+0x1f/0x46
other info that might help us debug this:
 Possible unsafe locking scenario:
   CPU0
   
  lock(sb_writers#4);
  lock(sb_writers#4);
 *** DEADLOCK ***
 May be due to missing lock nesting notation
2 locks held by fs-op/4476:
 #0:  (sb_writers#4){.+.+.+}, at: [] mnt_want_write+0x1f/0x46
 #1:  (&type->i_mutex_dir_key[1]){+.+.+.}, at: [] 
__union_copy_up+0x9a/0x132
stack backtrace:
Pid: 4476, comm: fs-op Not tainted 3.9.0-rc1-fsdevel+ #934
Call Trace:
 [] __lock_acquire+0x86a/0x16cf
 [] ? page_cache_pipe_buf_release+0x1b/0x1b
 [] lock_acquire+0x57/0x6d
 [] ? generic_file_splice_write+0x5d/0x14b
 [] __sb_start_write+0x10d/0x15d
 [] ? generic_file_splice_write+0x5d/0x14b
 [] generic_file_splice_write+0x5d/0x14b
 [] do_splice_from+0x74/0x91
 [] direct_splice_actor+0x1e/0x20
 [] splice_direct_to_actor+0xc2/0x17e
 [] ? do_splice_from+0x91/0x91
 [] do_splice_direct+0x47/0x5a
 [] __union_copy_up_locked+0x171/0x2b2
 [] __union_copy_up+0xea/0x132
 [] vfs_truncate+0x15e/0x289
 [] do_sys_truncate+0x46/0x83
 [] sys_truncate+0x9/0xb
 [] system_call_fastpath+0x16/0x1b
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] module: signature infrastructure

2012-09-04 Thread David Howells
Lucas De Marchi  wrote:

> Or let the magic string as the last thing in the module and store the
> signature length, too. In this case no scanning is needed

Indeed.  This is the better way.

The main problem is rendering the length from a shell script.  It's trivial to
do as ASCII (there's a printf program), but a pain to render to binary.  I'm
sure it can be done with perl or python without the need to compile anything.

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


[RFC][PATCH 00/16] Asymmetric / Public-key cryptography key type

2012-09-13 Thread David Howells

Hi Herbert, Rusty,

I've redone my crypto keys patches to be more specific, implementing an
asymmetric key type for containing the stuff required for public-key
cryptography and anything else one might want an asymmetric key for.

This facility can be used for module signing, firmware signing and eCryptfs.

The patches can be found here as well as following this covering note:


http://git.kernel.org/?p=linux/kernel/git/dhowells/linux-modsign.git;a=shortlog;h=refs/heads/crypto-keys-post-KS

I have arranged things such that:

 (1) Keys of the asymmetric key type are just simple containers.  They have
 three attributes:

 (a) A subtype.

 (b) The data for the subtype.  This is entirely defined by the subtype.

 (c) A binary identifier (in addition to the usual text decription) that
 can also be used to match the key.

 (2) The asymmetric key subtype provides the mechanism used to operate with the
 key.  The mechanism can be entirely in-kernel, or can be offloaded to
 hardware.

 A completely software subtype is provided that can support a multiplicity
 of public-key algorithms.  One such algorithm is currently provided (RSA).

 (3) Parsers can be registered that can take the instantiation data and turn it
 into a subtype pointer, appropriate subtype data, a binary identifier and
 a proposed description (keys can be auto-described).

 An X.509 certificate parser is provided.  It can be given a certificate
 like this:

keyctl padd asymmetric "" @s http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 02/16] MPILIB: Provide count_leading/trailing_zeros() based on arch functions

2012-09-13 Thread David Howells
Provide count_leading/trailing_zeros() macros based on extant arch bit scanning
functions rather than reimplementing from scratch in MPILIB.

Whilst we're at it, turn count_foo_zeros(n, x) into n = count_foo_zeros(x).

Also move the definition to asm-generic as other people may be interested in
using it.

Signed-off-by: David Howells 
Cc: David S. Miller 
Cc: Dmitry Kasatkin 
Cc: Arnd Bergmann 
---

 include/asm-generic/bitops/count_zeros.h |   57 
 lib/mpi/longlong.h   |  138 --
 lib/mpi/mpi-bit.c|2 
 lib/mpi/mpi-pow.c|4 -
 4 files changed, 62 insertions(+), 139 deletions(-)
 create mode 100644 include/asm-generic/bitops/count_zeros.h


diff --git a/include/asm-generic/bitops/count_zeros.h 
b/include/asm-generic/bitops/count_zeros.h
new file mode 100644
index 000..97520d2
--- /dev/null
+++ b/include/asm-generic/bitops/count_zeros.h
@@ -0,0 +1,57 @@
+/* Count leading and trailing zeros functions
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+#ifndef _ASM_GENERIC_BITOPS_COUNT_ZEROS_H_
+#define _ASM_GENERIC_BITOPS_COUNT_ZEROS_H_
+
+#include 
+
+/**
+ * count_leading_zeros - Count the number of zeros from the MSB back
+ * @x: The value
+ *
+ * Count the number of leading zeros from the MSB going towards the LSB in @x.
+ *
+ * If the MSB of @x is set, the result is 0.
+ * If only the LSB of @x is set, then the result is BITS_PER_LONG-1.
+ * If @x is 0 then the result is COUNT_LEADING_ZEROS_0.
+ */
+static inline int count_leading_zeros(unsigned long x)
+{
+   if (sizeof(x) == 4)
+   return BITS_PER_LONG - fls(x);
+   else
+   return BITS_PER_LONG - fls64(x);
+}
+
+#define COUNT_LEADING_ZEROS_0 BITS_PER_LONG
+
+/**
+ * count_trailing_zeros - Count the number of zeros from the LSB forwards
+ * @x: The value
+ *
+ * Count the number of trailing zeros from the LSB going towards the MSB in @x.
+ *
+ * If the LSB of @x is set, the result is 0.
+ * If only the MSB of @x is set, then the result is BITS_PER_LONG-1.
+ * If @x is 0 then the result is COUNT_TRAILING_ZEROS_0.
+ */
+static inline int count_trailing_zeros(unsigned long x)
+{
+#define COUNT_TRAILING_ZEROS_0 (-1)
+
+   if (sizeof(x) == 4)
+   return ffs(x);
+   else
+   return (x != 0) ? __ffs(x) : COUNT_TRAILING_ZEROS_0;
+}
+
+#endif /* _ASM_GENERIC_BITOPS_COUNT_ZEROS_H_ */
diff --git a/lib/mpi/longlong.h b/lib/mpi/longlong.h
index 29f9862..678ce4f 100644
--- a/lib/mpi/longlong.h
+++ b/lib/mpi/longlong.h
@@ -19,6 +19,8 @@
  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
  * MA 02111-1307, USA. */
 
+#include 
+
 /* You have to define the following before including this file:
  *
  * UWtype -- An unsigned type, default type for operations (typically a "word")
@@ -146,12 +148,6 @@ do { \
: "1" ((USItype)(n1)), \
"r" ((USItype)(n0)), \
"r" ((USItype)(d)))
-
-#define count_leading_zeros(count, x) \
-   __asm__ ("clz %0,%1" \
-   : "=r" ((USItype)(count)) \
-   : "r" ((USItype)(x)))
-#define COUNT_LEADING_ZEROS_0 32
 #endif /* __a29k__ */
 
 #if defined(__alpha) && W_TYPE_SIZE == 64
@@ -298,11 +294,6 @@ extern UDItype __udiv_qrnnd();
: "1" ((USItype)(nh)), \
"0" ((USItype)(nl)), \
"g" ((USItype)(d)))
-#define count_leading_zeros(count, x) \
-   __asm__ ("bsch/1 %1,%0" \
-   : "=g" (count) \
-   : "g" ((USItype)(x)), \
-"0" ((USItype)0))
 #endif
 
 /***
@@ -354,27 +345,6 @@ do { USItype __r; \
 } while (0)
 extern USItype __udiv_qrnnd();
 #endif /* LONGLONG_STANDALONE */
-#define count_leading_zeros(count, x) \
-do { \
-   USItype __tmp; \
-   __asm__ ( \
-   "ldi 1,%0\n" \
-   "extru,=%1,15,16,%%r0  ; Bits 31..16 zero?\n" \
-   "extru,tr   %1,15,16,%1; No.  Shift down, skip add.\n" \
-   "ldo16(%0),%0  ; Yes.   Perform add.\n" \
-   "extru,=%1,23,8,%%r0   ; Bits 15..8 zero?\n" \
-   "extru,tr   %1,23,8,%1 ; No.  Shift down, skip add.\n" \
-   "ldo8(%0),%0   ; Yes.   Perform add.\n" \
-   "extru,=%1,27,4,%%r0   ; Bits 7..4 zero?\n" \
-   "extru,tr   %1,27,4,%1 ; No.  Shift down, skip add.\n" \
-   "

[PATCH 03/16] KEYS: Document asymmetric key type

2012-09-13 Thread David Howells
In-source documentation for the asymmetric key type.  This will be located in:

Documentation/crypto/asymmetric-keys.txt

Signed-off-by: David Howells 
---

 Documentation/crypto/asymmetric-keys.txt |  312 ++
 1 file changed, 312 insertions(+)
 create mode 100644 Documentation/crypto/asymmetric-keys.txt


diff --git a/Documentation/crypto/asymmetric-keys.txt 
b/Documentation/crypto/asymmetric-keys.txt
new file mode 100644
index 000..b767590
--- /dev/null
+++ b/Documentation/crypto/asymmetric-keys.txt
@@ -0,0 +1,312 @@
+   =
+   ASYMMETRIC / PUBLIC-KEY CRYPTOGRAPHY KEY TYPE
+   =
+
+Contents:
+
+  - Overview.
+  - Key identification.
+  - Accessing asymmetric keys.
+- Signature verification.
+  - Asymmetric key subtypes.
+  - Instantiation data parsers.
+
+
+
+OVERVIEW
+
+
+The "asymmetric" key type is designed to be a container for the keys used in
+public-key cryptography, without imposing any particular restrictions on the
+form or mechanism of the cryptography or form of the key.
+
+The asymmetric key is given a subtype that defines what sort of data is
+associated with the key and provides operations to describe and destroy it.
+However, no requirement is made that the key data actually be stored in the
+key.
+
+A completely in-kernel key retention and operation subtype can be defined, but
+it would also be possible to provide access to cryptographic hardware (such as
+a TPM) that might be used to both retain the relevant key and perform
+operations using that key.  In such a case, the asymmetric key would then
+merely be an interface to the TPM driver.
+
+Also provided is the concept of a data parser.  Data parsers are responsible
+for extracting information from the blobs of data passed to the instantiation
+function.  The first data parser that recognises the blob gets to set the
+subtype of the key and define the operations that can be done on that key.
+
+A data parser may interpret the data blob as containing the bits representing a
+key, or it may interpret it as a reference to a key held somewhere else in the
+system (for example, a TPM).
+
+
+==
+KEY IDENTIFICATION
+==
+
+If a key is added with an empty name, the instantiation data parsers are given
+the opportunity to pre-parse a key and to determine the description the key
+should be given from the content of the key.
+
+This can then be used to refer to the key, either by complete match or by
+partial match.  The key type may also use other criteria to refer to a key.
+
+The asymmetric key type's match function can then perform a wider range of
+comparisons than just the straightforward comparison of the description with
+the criterion string:
+
+ (1) If the criterion string is of the form "id:" then the match
+ function will examine a key's fingerprint to see if the hex digits given
+ after the "id:" match the tail.  For instance:
+
+   keyctl search @s asymmetric id:5acc2142
+
+ will match a key with fingerprint:
+
+   1A00 2040 7601 7889 DE11  882C 3823 04AD 5ACC 2142
+
+ (2) If the criterion string is of the form ":" then the
+ match will match the ID as in (1), but with the added restriction that
+ only keys of the specified subtype (e.g. tpm) will be matched.  For
+ instance:
+
+   keyctl search @s asymmetric tpm:5acc2142
+
+Looking in /proc/keys, the last 8 hex digits of the key fingerprint are
+displayed, along with the subtype:
+
+   1a39e171 I- 1 perm 3f01 0 0 asymmetri modsign.0: 
DSA 5acc2142 []
+
+
+=
+ACCESSING ASYMMETRIC KEYS
+=
+
+For general access to asymmetric keys from within the kernel, the following
+inclusion is required:
+
+   #include 
+
+This gives access to functions for dealing with asymmetric / public keys.
+Three enums are defined there for representing public-key cryptography
+algorithms:
+
+   enum pkey_algo
+
+digest algorithms used by those:
+
+   enum pkey_hash_algo
+
+and key identifier representations:
+
+   enum pkey_id_type
+
+Note that the key type representation types are required because key
+identifiers from different standards aren't necessarily compatible.  For
+instance, PGP generates key identifiers by hashing the key data plus some
+PGP-specific metadata, whereas X.509 has arbitrary certificate identifiers.
+
+The operations defined upon a key are:
+
+ (1) Signature verification.
+
+Other operations are possible (such as encryption) with the same key data
+required for verification, but not currently supported, and others
+(eg. decryption and signature generation) require extra key data.
+
+
+SIGNATURE VERIFICATION
+--
+
+An operation is provided to perform cryptographic signature 

[PATCH 01/16] KEYS: Add payload preparsing opportunity prior to key instantiate or update

2012-09-13 Thread David Howells
Give the key type the opportunity to preparse the payload prior to the
instantiation and update routines being called.  This is done with the
provision of two new key type operations:

int (*preparse)(struct key_preparsed_payload *prep);
void (*free_preparse)(struct key_preparsed_payload *prep);

If the first operation is present, then it is called before key creation (in
the add/update case) or before the key semaphore is taken (in the update and
instantiate cases).  The second operation is called to clean up if the first
was called.

preparse() is given the opportunity to fill in the following structure:

struct key_preparsed_payload {
char*description;
void*type_data[2];
void*payload;
const void  *data;
size_t  datalen;
size_t  quotalen;
};

Before the preparser is called, the first three fields will have been cleared,
the payload pointer and size will be stored in data and datalen and the default
quota size from the key_type struct will be stored into quotalen.

The preparser may parse the payload in any way it likes and may store data in
the type_data[] and payload fields for use by the instantiate() and update()
ops.

The preparser may also propose a description for the key by attaching it as a
string to the description field.  This can be used by passing a NULL or ""
description to the add_key() system call or the key_create_or_update()
function.  This cannot work with request_key() as that required the description
to tell the upcall about the key to be created.

This, for example permits keys that store PGP public keys to generate their own
name from the user ID and public key fingerprint in the key.

The instantiate() and update() operations are then modified to look like this:

int (*instantiate)(struct key *key, struct key_preparsed_payload *prep);
int (*update)(struct key *key, struct key_preparsed_payload *prep);

and the new payload data is passed in *prep, whether or not it was preparsed.

Signed-off-by: David Howells 
---

 Documentation/security/keys.txt  |   50 +
 fs/cifs/cifs_spnego.c|6 +-
 fs/cifs/cifsacl.c|8 +-
 include/keys/user-type.h |6 +-
 include/linux/key-type.h |   35 +
 net/ceph/crypto.c|9 +-
 net/dns_resolver/dns_key.c   |6 +-
 net/rxrpc/ar-key.c   |   40 +--
 security/keys/encrypted-keys/encrypted.c |   16 ++--
 security/keys/key.c  |  114 ++
 security/keys/keyctl.c   |   18 -
 security/keys/keyring.c  |6 +-
 security/keys/request_key_auth.c |8 +-
 security/keys/trusted.c  |   16 ++--
 security/keys/user_defined.c |   14 ++--
 15 files changed, 250 insertions(+), 102 deletions(-)


diff --git a/Documentation/security/keys.txt b/Documentation/security/keys.txt
index aa0dbd7..7d9ca92 100644
--- a/Documentation/security/keys.txt
+++ b/Documentation/security/keys.txt
@@ -412,6 +412,10 @@ The main syscalls are:
  to the keyring. In this case, an error will be generated if the process
  does not have permission to write to the keyring.
 
+ If the key type supports it, if the description is NULL or an empty
+ string, the key type will try and generate a description from the content
+ of the payload.
+
  The payload is optional, and the pointer can be NULL if not required by
  the type. The payload is plen in size, and plen can be zero for an empty
  payload.
@@ -1114,12 +1118,53 @@ The structure has a number of fields, some of which are 
mandatory:
  it should return 0.
 
 
- (*) int (*instantiate)(struct key *key, const void *data, size_t datalen);
+ (*) int (*preparse)(struct key_preparsed_payload *prep);
+
+ This optional method permits the key type to attempt to parse payload
+ before a key is created (add key) or the key semaphore is taken (update or
+ instantiate key).  The structure pointed to by prep looks like:
+
+   struct key_preparsed_payload {
+   char*description;
+   void*type_data[2];
+   void*payload;
+   const void  *data;
+   size_t  datalen;
+   size_t  quotalen;
+   };
+
+ Before calling the method, the caller will fill in data and datalen with
+ the payload blob parameters; quotalen will be filled in with the default
+ quota size from the key type and the rest will be cleared.
+
+ If a description can be proposed from the payload contents, that should be
+ attached as a string to the description field.  This will be used for the
+ key desc

[PATCH 05/16] KEYS: Asymmetric key pluggable data parsers

2012-09-13 Thread David Howells
parser)
+{
+   struct asymmetric_key_parser *cursor;
+   int ret;
+
+   down_write(&asymmetric_key_parsers_sem);
+
+   list_for_each_entry(cursor, &asymmetric_key_parsers, link) {
+   if (strcmp(cursor->name, parser->name) == 0) {
+   pr_err("Asymmetric key parser '%s' already 
registered\n",
+  parser->name);
+   ret = -EEXIST;
+   goto out;
+   }
+   }
+
+   list_add_tail(&parser->link, &asymmetric_key_parsers);
+
+   pr_notice("Asymmetric key parser '%s' registered\n", parser->name);
+   ret = 0;
+
+out:
+   up_write(&asymmetric_key_parsers_sem);
+   return ret;
+}
+EXPORT_SYMBOL_GPL(register_asymmetric_key_parser);
+
+/**
+ * unregister_asymmetric_key_parser - Unregister a asymmetric key blob parser
+ * @parser: The parser to unregister
+ */
+void unregister_asymmetric_key_parser(struct asymmetric_key_parser *parser)
+{
+   down_write(&asymmetric_key_parsers_sem);
+   list_del(&parser->link);
+   up_write(&asymmetric_key_parsers_sem);
+
+   pr_notice("Asymmetric key parser '%s' unregistered\n", parser->name);
+}
+EXPORT_SYMBOL_GPL(unregister_asymmetric_key_parser);
+
 /*
  * Module stuff
  */
diff --git a/include/keys/asymmetric-parser.h b/include/keys/asymmetric-parser.h
new file mode 100644
index 000..09b3b48
--- /dev/null
+++ b/include/keys/asymmetric-parser.h
@@ -0,0 +1,37 @@
+/* Asymmetric public-key cryptography data parser
+ *
+ * See Documentation/crypto/asymmetric-keys.txt
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+#ifndef _KEYS_ASYMMETRIC_PARSER_H
+#define _KEYS_ASYMMETRIC_PARSER_H
+
+/*
+ * Key data parser.  Called during key instantiation.
+ */
+struct asymmetric_key_parser {
+   struct list_headlink;
+   struct module   *owner;
+   const char  *name;
+
+   /* Attempt to parse a key from the data blob passed to add_key() or
+* keyctl_instantiate().  Should also generate a proposed description
+* that the caller can optionally use for the key.
+*
+* Return EBADMSG if not recognised.
+*/
+   int (*parse)(struct key_preparsed_payload *prep);
+};
+
+extern int register_asymmetric_key_parser(struct asymmetric_key_parser *);
+extern void unregister_asymmetric_key_parser(struct asymmetric_key_parser *);
+
+#endif /* _KEYS_ASYMMETRIC_PARSER_H */

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


[PATCH 06/16] KEYS: Asymmetric public-key algorithm crypto key subtype

2012-09-13 Thread David Howells
Add a subtype for supporting asymmetric public-key encryption algorithms such
as DSA (FIPS-186) and RSA (PKCS#1 / RFC1337).

Signed-off-by: David Howells 
---

 crypto/asymmetric_keys/Kconfig  |8 +++
 crypto/asymmetric_keys/Makefile |2 +
 crypto/asymmetric_keys/public_key.c |  108 +++
 crypto/asymmetric_keys/public_key.h |   28 +
 include/crypto/public_key.h |  109 +++
 5 files changed, 255 insertions(+)
 create mode 100644 crypto/asymmetric_keys/public_key.c
 create mode 100644 crypto/asymmetric_keys/public_key.h
 create mode 100644 include/crypto/public_key.h


diff --git a/crypto/asymmetric_keys/Kconfig b/crypto/asymmetric_keys/Kconfig
index cad29b3..bbfccaa 100644
--- a/crypto/asymmetric_keys/Kconfig
+++ b/crypto/asymmetric_keys/Kconfig
@@ -9,5 +9,13 @@ menuconfig ASYMMETRIC_KEY_TYPE
 
 if ASYMMETRIC_KEY_TYPE
 
+config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
+   tristate "Asymmetric public-key crypto algorithm subtype"
+   select MPILIB
+   help
+ This option provides support for asymmetric public key type handling.
+ If signature generation and/or verification are to be used,
+ appropriate hash algorithms (such as SHA-1) must be available.
+ ENOPKG will be reported if the requisite algorithm is unavailable.
 
 endif # ASYMMETRIC_KEY_TYPE
diff --git a/crypto/asymmetric_keys/Makefile b/crypto/asymmetric_keys/Makefile
index b725bcc..5ed46ee 100644
--- a/crypto/asymmetric_keys/Makefile
+++ b/crypto/asymmetric_keys/Makefile
@@ -5,3 +5,5 @@
 obj-$(CONFIG_ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
 
 asymmetric_keys-y := asymmetric_type.o
+
+obj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o
diff --git a/crypto/asymmetric_keys/public_key.c 
b/crypto/asymmetric_keys/public_key.c
new file mode 100644
index 000..cb2e291
--- /dev/null
+++ b/crypto/asymmetric_keys/public_key.c
@@ -0,0 +1,108 @@
+/* In-software asymmetric public-key crypto subtype
+ *
+ * See Documentation/crypto/asymmetric-keys.txt
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+#define pr_fmt(fmt) "PKEY: "fmt
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include "public_key.h"
+
+MODULE_LICENSE("GPL");
+
+const char *const pkey_algo[PKEY_ALGO__LAST] = {
+   [PKEY_ALGO_DSA] = "DSA",
+   [PKEY_ALGO_RSA] = "RSA",
+};
+EXPORT_SYMBOL_GPL(pkey_algo);
+
+const char *const pkey_hash_algo[PKEY_HASH__LAST] = {
+   [PKEY_HASH_MD4] = "md4",
+   [PKEY_HASH_MD5] = "md5",
+   [PKEY_HASH_SHA1]= "sha1",
+   [PKEY_HASH_RIPE_MD_160] = "rmd160",
+   [PKEY_HASH_SHA256]  = "sha256",
+   [PKEY_HASH_SHA384]  = "sha384",
+   [PKEY_HASH_SHA512]  = "sha512",
+   [PKEY_HASH_SHA224]  = "sha224",
+};
+EXPORT_SYMBOL_GPL(pkey_hash_algo);
+
+const char *const pkey_id_type[PKEY_ID_TYPE__LAST] = {
+   [PKEY_ID_PGP]   = "PGP",
+   [PKEY_ID_X509]  = "X509",
+};
+EXPORT_SYMBOL_GPL(pkey_id_type);
+
+/*
+ * Provide a part of a description of the key for /proc/keys.
+ */
+static void public_key_describe(const struct key *asymmetric_key,
+   struct seq_file *m)
+{
+   struct public_key *key = asymmetric_key->payload.data;
+
+   if (key)
+   seq_printf(m, "%s.%s",
+  pkey_id_type[key->id_type], key->algo->name);
+}
+
+/*
+ * Destroy a public key algorithm key.
+ */
+void public_key_destroy(void *payload)
+{
+   struct public_key *key = payload;
+   int i;
+
+   if (key) {
+   for (i = 0; i < ARRAY_SIZE(key->mpi); i++)
+   mpi_free(key->mpi[i]);
+   kfree(key);
+   }
+}
+EXPORT_SYMBOL_GPL(public_key_destroy);
+
+/*
+ * Verify a signature using a public key.
+ */
+static int public_key_verify_signature(const struct key *key,
+  const struct public_key_signature *sig)
+{
+   const struct public_key *pk = key->payload.data;
+
+   if (!pk->algo->verify_signature)
+   return -ENOTSUPP;
+
+   if (sig->nr_mpi != pk->algo->n_sig_mpi) {
+   pr_debug("Signature has %u MPI not %u\n",
+sig->nr_mpi, pk->algo->n_sig_mpi);
+   return -EINVAL;
+   }
+
+   return pk->algo->verify_signature(pk, 

[PATCH 08/16] MPILIB: Reinstate mpi_cmp[_ui]() and export for RSA signature verification

2012-09-13 Thread David Howells
Reinstate and export mpi_cmp() and mpi_cmp_ui() from the MPI library for use by
RSA signature verification as per RFC3447 section 5.2.2 step 1.

Signed-off-by: David Howells 
---

 lib/mpi/Makefile  |1 +
 lib/mpi/mpi-cmp.c |   70 +
 2 files changed, 71 insertions(+)
 create mode 100644 lib/mpi/mpi-cmp.c


diff --git a/lib/mpi/Makefile b/lib/mpi/Makefile
index 45ca90a..019a68c 100644
--- a/lib/mpi/Makefile
+++ b/lib/mpi/Makefile
@@ -14,6 +14,7 @@ mpi-y = \
generic_mpih-add1.o \
mpicoder.o  \
mpi-bit.o   \
+   mpi-cmp.o   \
mpih-cmp.o  \
mpih-div.o  \
mpih-mul.o  \
diff --git a/lib/mpi/mpi-cmp.c b/lib/mpi/mpi-cmp.c
new file mode 100644
index 000..1871e7b
--- /dev/null
+++ b/lib/mpi/mpi-cmp.c
@@ -0,0 +1,70 @@
+/* mpi-cmp.c  -  MPI functions
+ * Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ *
+ * This file is part of GnuPG.
+ *
+ * GnuPG is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GnuPG is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ */
+
+#include "mpi-internal.h"
+
+int mpi_cmp_ui(MPI u, unsigned long v)
+{
+   mpi_limb_t limb = v;
+
+   mpi_normalize(u);
+   if (!u->nlimbs && !limb)
+   return 0;
+   if (u->sign)
+   return -1;
+   if (u->nlimbs > 1)
+   return 1;
+
+   if (u->d[0] == limb)
+   return 0;
+   else if (u->d[0] > limb)
+   return 1;
+   else
+   return -1;
+}
+EXPORT_SYMBOL_GPL(mpi_cmp_ui);
+
+int mpi_cmp(MPI u, MPI v)
+{
+   mpi_size_t usize, vsize;
+   int cmp;
+
+   mpi_normalize(u);
+   mpi_normalize(v);
+   usize = u->nlimbs;
+   vsize = v->nlimbs;
+   if (!u->sign && v->sign)
+   return 1;
+   if (u->sign && !v->sign)
+   return -1;
+   if (usize != vsize && !u->sign && !v->sign)
+   return usize - vsize;
+   if (usize != vsize && u->sign && v->sign)
+   return vsize + usize;
+   if (!usize)
+   return 0;
+   cmp = mpihelp_cmp(u->d, v->d, usize);
+   if (!cmp)
+   return 0;
+   if ((cmp < 0 ? 1 : 0) == (u->sign ? 1 : 0))
+   return 1;
+   return -1;
+}
+EXPORT_SYMBOL_GPL(mpi_cmp);

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


[PATCH 09/16] RSA: Implement signature verification algorithm [PKCS#1 / RFC3447]

2012-09-13 Thread David Howells
Implement RSA public key cryptography [PKCS#1 / RFC3447].  At this time, only
the signature verification algorithm is supported.  This uses the asymmetric
public key subtype to hold its key data.

Signed-off-by: David Howells 
---

 crypto/asymmetric_keys/Kconfig  |7 +
 crypto/asymmetric_keys/Makefile |1 
 crypto/asymmetric_keys/public_key.h |2 
 crypto/asymmetric_keys/rsa.c|  269 +++
 4 files changed, 279 insertions(+)
 create mode 100644 crypto/asymmetric_keys/rsa.c


diff --git a/crypto/asymmetric_keys/Kconfig b/crypto/asymmetric_keys/Kconfig
index bbfccaa..561759d 100644
--- a/crypto/asymmetric_keys/Kconfig
+++ b/crypto/asymmetric_keys/Kconfig
@@ -18,4 +18,11 @@ config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
  appropriate hash algorithms (such as SHA-1) must be available.
  ENOPKG will be reported if the requisite algorithm is unavailable.
 
+config PUBLIC_KEY_ALGO_RSA
+   tristate "RSA public-key algorithm"
+   depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
+   select MPILIB_EXTRA
+   help
+ This option enables support for the RSA algorithm (PKCS#1, RFC3447).
+
 endif # ASYMMETRIC_KEY_TYPE
diff --git a/crypto/asymmetric_keys/Makefile b/crypto/asymmetric_keys/Makefile
index 8dcdf0c..7c92691 100644
--- a/crypto/asymmetric_keys/Makefile
+++ b/crypto/asymmetric_keys/Makefile
@@ -7,3 +7,4 @@ obj-$(CONFIG_ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
 asymmetric_keys-y := asymmetric_type.o signature.o
 
 obj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o
+obj-$(CONFIG_PUBLIC_KEY_ALGO_RSA) += rsa.o
diff --git a/crypto/asymmetric_keys/public_key.h 
b/crypto/asymmetric_keys/public_key.h
index 1f86aad..5e5e356 100644
--- a/crypto/asymmetric_keys/public_key.h
+++ b/crypto/asymmetric_keys/public_key.h
@@ -26,3 +26,5 @@ struct public_key_algorithm {
int (*verify_signature)(const struct public_key *key,
const struct public_key_signature *sig);
 };
+
+extern const struct public_key_algorithm RSA_public_key_algorithm;
diff --git a/crypto/asymmetric_keys/rsa.c b/crypto/asymmetric_keys/rsa.c
new file mode 100644
index 000..9b31ee2
--- /dev/null
+++ b/crypto/asymmetric_keys/rsa.c
@@ -0,0 +1,269 @@
+/* RSA asymmetric public-key algorithm [RFC3447]
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+#define pr_fmt(fmt) "RSA: "fmt
+#include 
+#include 
+#include 
+#include "public_key.h"
+
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("RSA Public Key Algorithm");
+
+#define kenter(FMT, ...) \
+   pr_devel("==> %s("FMT")\n", __func__, ##__VA_ARGS__)
+#define kleave(FMT, ...) \
+   pr_devel("<== %s()"FMT"\n", __func__, ##__VA_ARGS__)
+
+/*
+ * Hash algorithm OIDs plus ASN.1 DER wrappings [RFC4880 sec 5.2.2].
+ */
+static const u8 RSA_digest_info_MD5[] = {
+   0x30, 0x20, 0x30, 0x0C, 0x06, 0x08,
+   0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x05, /* OID */
+   0x05, 0x00, 0x04, 0x10
+};
+
+static const u8 RSA_digest_info_SHA1[] = {
+   0x30, 0x21, 0x30, 0x09, 0x06, 0x05,
+   0x2B, 0x0E, 0x03, 0x02, 0x1A,
+   0x05, 0x00, 0x04, 0x14
+};
+
+static const u8 RSA_digest_info_RIPE_MD_160[] = {
+   0x30, 0x21, 0x30, 0x09, 0x06, 0x05,
+   0x2B, 0x24, 0x03, 0x02, 0x01,
+   0x05, 0x00, 0x04, 0x14
+};
+
+static const u8 RSA_digest_info_SHA224[] = {
+   0x30, 0x2d, 0x30, 0x0d, 0x06, 0x09,
+   0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x04,
+   0x05, 0x00, 0x04, 0x1C
+};
+
+static const u8 RSA_digest_info_SHA256[] = {
+   0x30, 0x31, 0x30, 0x0d, 0x06, 0x09,
+   0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01,
+   0x05, 0x00, 0x04, 0x20
+};
+
+static const u8 RSA_digest_info_SHA384[] = {
+   0x30, 0x41, 0x30, 0x0d, 0x06, 0x09,
+   0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02,
+   0x05, 0x00, 0x04, 0x30
+};
+
+static const u8 RSA_digest_info_SHA512[] = {
+   0x30, 0x51, 0x30, 0x0d, 0x06, 0x09,
+   0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03,
+   0x05, 0x00, 0x04, 0x40
+};
+
+static const struct {
+   const u8 *data;
+   size_t size;
+} RSA_ASN1_templates[PKEY_HASH__LAST] = {
+#define _(X) { RSA_digest_info_##X, sizeof(RSA_digest_info_##X) }
+   [PKEY_HASH_MD5] = _(MD5),
+   [PKEY_HASH_SHA1]= _(SHA1),
+   [PKEY_HASH_RIPE_MD_160] = _(RIPE_MD_160),
+   [PKEY_HASH_SHA256]  = _(SHA256),
+   [PKEY_HASH_SHA384]  = _(SHA384),
+   [PKEY_HASH_SHA512]  = _(SHA512),
+   [PKEY_HASH_SHA224]  = _(SHA224),
+#undef _
+};
+
+/

[PATCH 10/16] RSA: Fix signature verification for shorter signatures

2012-09-13 Thread David Howells
gpg can produce a signature file where length of signature is less than the
modulus size because the amount of space an MPI takes up is kept as low as
possible by discarding leading zeros.  This regularly happens for several
modules during the build.

Fix it by relaxing check in RSA verification code.

Thanks to Tomas Mraz and Miloslav Trmac for help.

Signed-off-by: Milan Broz 
Signed-off-by: David Howells 
---

 crypto/asymmetric_keys/rsa.c |   14 +++---
 1 file changed, 11 insertions(+), 3 deletions(-)


diff --git a/crypto/asymmetric_keys/rsa.c b/crypto/asymmetric_keys/rsa.c
index 9b31ee2..4a6a069 100644
--- a/crypto/asymmetric_keys/rsa.c
+++ b/crypto/asymmetric_keys/rsa.c
@@ -224,15 +224,23 @@ static int RSA_verify_signature(const struct public_key 
*key,
return -ENOTSUPP;
 
/* (1) Check the signature size against the public key modulus size */
-   k = (mpi_get_nbits(key->rsa.n) + 7) / 8;
+   k = mpi_get_nbits(key->rsa.n);
+   tsize = mpi_get_nbits(sig->rsa.s);
 
-   tsize = (mpi_get_nbits(sig->rsa.s) + 7) / 8;
+   /* According to RFC 4880 sec 3.2, length of MPI is computed starting
+* from most significant bit.  So the RFC 3447 sec 8.2.2 size check
+* must be relaxed to conform with shorter signatures - so we fail here
+* only if signature length is longer than modulus size.
+*/
pr_devel("step 1: k=%zu size(S)=%zu\n", k, tsize);
-   if (tsize != k) {
+   if (k < tsize) {
ret = -EBADMSG;
goto error;
}
 
+   /* Round up and convert to octets */
+   k = (k + 7) / 8;
+
/* (2b) Apply the RSAVP1 verification primitive to the public key */
ret = RSAVP1(key, sig->rsa.s, &m);
if (ret < 0)

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


[PATCH 13/16] X.509: Add simple ASN.1 grammar compiler

2012-09-13 Thread David Howells
Add a simple ASN.1 grammar compiler.  This produces a bytecode output that can
be fed to a decoder to inform the decoder how to interpret the ASN.1 stream it
is trying to parse.

Action functions can be specified in the grammar by interpolating:

({ foo })

after a type, for example:

SubjectPublicKeyInfo ::= SEQUENCE {
algorithm   AlgorithmIdentifier,
subjectPublicKeyBIT STRING ({ do_key_data })
}

The decoder is expected to call these after matching this type and parsing the
contents if it is a constructed type.

The grammar compiler does not currently support the SET type (though it does
support SET OF) as I can't see a good way of tracking which members have been
encountered yet without using up extra stack space.

Currently, the grammar compiler will fail if more than 256 bytes of bytecode
would be produced or more than 256 actions have been specified as it uses
8-bit jump values and action indices to keep space usage down.

Signed-off-by: David Howells 
---

 include/linux/asn1.h  |   67 ++
 include/linux/asn1_ber_bytecode.h |   87 ++
 init/Kconfig  |8 
 scripts/.gitignore|1 
 scripts/Makefile  |2 
 scripts/Makefile.build|   11 
 scripts/asn1_compiler.c   | 1544 +
 7 files changed, 1720 insertions(+)
 create mode 100644 include/linux/asn1.h
 create mode 100644 include/linux/asn1_ber_bytecode.h
 create mode 100644 scripts/asn1_compiler.c


diff --git a/include/linux/asn1.h b/include/linux/asn1.h
new file mode 100644
index 000..5c3f4e4
--- /dev/null
+++ b/include/linux/asn1.h
@@ -0,0 +1,67 @@
+/* ASN.1 BER/DER/CER encoding definitions
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+#ifndef _LINUX_ASN1_H
+#define _LINUX_ASN1_H
+
+/* Class */
+enum asn1_class {
+   ASN1_UNIV   = 0,/* Universal */
+   ASN1_APPL   = 1,/* Application */
+   ASN1_CONT   = 2,/* Context */
+   ASN1_PRIV   = 3 /* Private */
+};
+#define ASN1_CLASS_BITS0xc0
+
+
+enum asn1_method {
+   ASN1_PRIM   = 0,/* Primitive */
+   ASN1_CONS   = 1 /* Constructed */
+};
+#define ASN1_CONS_BIT  0x20
+
+/* Tag */
+enum asn1_tag {
+   ASN1_EOC= 0,/* End Of Contents or N/A */
+   ASN1_BOOL   = 1,/* Boolean */
+   ASN1_INT= 2,/* Integer */
+   ASN1_BTS= 3,/* Bit String */
+   ASN1_OTS= 4,/* Octet String */
+   ASN1_NULL   = 5,/* Null */
+   ASN1_OID= 6,/* Object Identifier  */
+   ASN1_ODE= 7,/* Object Description */
+   ASN1_EXT= 8,/* External */
+   ASN1_REAL   = 9,/* Real float */
+   ASN1_ENUM   = 10,   /* Enumerated */
+   ASN1_EPDV   = 11,   /* Embedded PDV */
+   ASN1_UTF8STR= 12,   /* UTF8 String */
+   ASN1_RELOID = 13,   /* Relative OID */
+   /* 14 - Reserved */
+   /* 15 - Reserved */
+   ASN1_SEQ= 16,   /* Sequence and Sequence of */
+   ASN1_SET= 17,   /* Set and Set of */
+   ASN1_NUMSTR = 18,   /* Numerical String */
+   ASN1_PRNSTR = 19,   /* Printable String */
+   ASN1_TEXSTR = 20,   /* T61 String / Teletext String */
+   ASN1_VIDSTR = 21,   /* Videotex String */
+   ASN1_IA5STR = 22,   /* IA5 String */
+   ASN1_UNITIM = 23,   /* Universal Time */
+   ASN1_GENTIM = 24,   /* General Time */
+   ASN1_GRASTR = 25,   /* Graphic String */
+   ASN1_VISSTR = 26,   /* Visible String */
+   ASN1_GENSTR = 27,   /* General String */
+   ASN1_UNISTR = 28,   /* Universal String */
+   ASN1_CHRSTR = 29,   /* Character String */
+   ASN1_BMPSTR = 30,   /* BMP String */
+   ASN1_LONG_TAG   = 31/* Long form tag */
+};
+
+#endif /* _LINUX_ASN1_H */
diff --git a/include/linux/asn1_ber_bytecode.h 
b/include/linux/asn1_ber_bytecode.h
new file mode 100644
index 000..945d44a
--- /dev/null
+++ b/include/linux/asn1_ber_bytecode.h
@@ -0,0 +1,87 @@
+/* ASN.1 BER/DER/CER parsing state machine internal definitions
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+#i

[PATCH 15/16] MPILIB: Provide a function to read raw data into an MPI

2012-09-13 Thread David Howells
Provide a function to read raw data of a predetermined size into an MPI rather
than expecting the size to be encoded within the data.  The data is assumed to
represent an unsigned integer, and the resulting MPI will be positive.

The function looks like this:

MPI mpi_read_raw_data(const void *, size_t);

This is useful for reading ASN.1 integer primitives where the length is encoded
in the ASN.1 metadata.

Signed-off-by: David Howells 
---

 include/linux/mpi.h |1 +
 lib/mpi/mpicoder.c  |   55 +++
 2 files changed, 56 insertions(+)


diff --git a/include/linux/mpi.h b/include/linux/mpi.h
index d02cca6..5af1b81 100644
--- a/include/linux/mpi.h
+++ b/include/linux/mpi.h
@@ -76,6 +76,7 @@ void mpi_swap(MPI a, MPI b);
 
 /*-- mpicoder.c --*/
 MPI do_encode_md(const void *sha_buffer, unsigned nbits);
+MPI mpi_read_raw_data(const void *xbuffer, size_t nbytes);
 MPI mpi_read_from_buffer(const void *buffer, unsigned *ret_nread);
 int mpi_fromstr(MPI val, const char *str);
 u32 mpi_get_keyid(MPI a, u32 *keyid);
diff --git a/lib/mpi/mpicoder.c b/lib/mpi/mpicoder.c
index f0fa659..3962b7f 100644
--- a/lib/mpi/mpicoder.c
+++ b/lib/mpi/mpicoder.c
@@ -18,10 +18,65 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
  */
 
+#include 
+#include 
 #include "mpi-internal.h"
 
 #define MAX_EXTERN_MPI_BITS 16384
 
+/**
+ * mpi_read_raw_data - Read a raw byte stream as a positive integer
+ * @xbuffer: The data to read
+ * @nbytes: The amount of data to read
+ */
+MPI mpi_read_raw_data(const void *xbuffer, size_t nbytes)
+{
+   const uint8_t *buffer = xbuffer;
+   int i, j;
+   unsigned nbits, nlimbs;
+   mpi_limb_t a;
+   MPI val = NULL;
+
+   while (nbytes >= 0 && buffer[0] == 0) {
+   buffer++;
+   nbytes--;
+   }
+
+   nbits = nbytes * 8;
+   if (nbits > MAX_EXTERN_MPI_BITS) {
+   pr_info("MPI: mpi too large (%u bits)\n", nbits);
+   return NULL;
+   }
+   if (nbytes > 0)
+   nbits -= count_leading_zeros(buffer[0]);
+   else
+   nbits = 0;
+
+   nlimbs = (nbytes + BYTES_PER_MPI_LIMB - 1) / BYTES_PER_MPI_LIMB;
+   val = mpi_alloc(nlimbs);
+   if (!val)
+   return NULL;
+   val->nbits = nbits;
+   val->sign = 0;
+   val->nlimbs = nlimbs;
+
+   if (nbytes > 0) {
+   i = BYTES_PER_MPI_LIMB - nbytes % BYTES_PER_MPI_LIMB;
+   i %= BYTES_PER_MPI_LIMB;
+   for (j = nlimbs; j > 0; j--) {
+   a = 0;
+   for (; i < BYTES_PER_MPI_LIMB; i++) {
+   a <<= 8;
+   a |= *buffer++;
+   }
+   i = 0;
+   val->d[j - 1] = a;
+   }
+   }
+   return val;
+}
+EXPORT_SYMBOL_GPL(mpi_read_raw_data);
+
 MPI mpi_read_from_buffer(const void *xbuffer, unsigned *ret_nread)
 {
const uint8_t *buffer = xbuffer;

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


[PATCH 16/16] X.509: Add a crypto key parser for binary (DER) X.509 certificates

2012-09-13 Thread David Howells
BIT STRING ({ x509_extract_key_data })
+   }
+
+UniqueIdentifier ::= BIT STRING
+
+Extensions ::= SEQUENCE OF Extension
+
+Extension ::= SEQUENCE {
+   extnid  OBJECT IDENTIFIER ({ x509_note_OID }),
+   criticalBOOLEAN DEFAULT,
+   extnValue   OCTET STRING ({ x509_process_extension })
+   }
diff --git a/crypto/asymmetric_keys/x509_cert_parser.c 
b/crypto/asymmetric_keys/x509_cert_parser.c
new file mode 100644
index 000..cdcfce8
--- /dev/null
+++ b/crypto/asymmetric_keys/x509_cert_parser.c
@@ -0,0 +1,503 @@
+/* X.509 certificate parser
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+#undef DEBUG
+#define pr_fmt(fmt) "X.509: "fmt
+#include 
+#include 
+#include 
+#include 
+#include "public_key.h"
+#include "x509_parser.h"
+#include "x509-asn1.h"
+#include "x509_rsakey-asn1.h"
+
+struct x509_parse_context {
+   struct x509_certificate *cert;  /* Certificate being 
constructed */
+   unsigned long   data;   /* Start of data */
+   const void  *cert_start;/* Start of cert content */
+   const void  *key;   /* Key data */
+   size_t  key_size;   /* Size of key data */
+   enum OIDlast_oid;   /* Last OID encountered */
+   enum OIDalgo_oid;   /* Algorithm OID */
+   unsigned char   nr_mpi; /* Number of MPIs stored */
+   int namesize;   /* Usage of namebuffer */
+   charnamebuffer[256];/* Name building buffer */
+};
+
+/*
+ * Free an X.509 certificate
+ */
+void x509_free_certificate(struct x509_certificate *cert)
+{
+   if (cert) {
+   public_key_destroy(cert->pub);
+   kfree(cert->serial);
+   kfree(cert->issuer);
+   kfree(cert->subject);
+   kfree(cert->fingerprint);
+   kfree(cert->authority);
+   kfree(cert);
+   }
+}
+
+/*
+ * Parse an X.509 certificate
+ */
+struct x509_certificate *x509_cert_parse(const void *data, size_t datalen)
+{
+   struct x509_certificate *cert;
+   struct x509_parse_context *ctx;
+   long ret;
+
+   ret = -ENOMEM;
+   cert = kzalloc(sizeof(struct x509_certificate), GFP_KERNEL);
+   if (!cert)
+   goto error_no_cert;
+   cert->pub = kzalloc(sizeof(struct public_key), GFP_KERNEL);
+   if (!cert->pub)
+   goto error_no_ctx;
+   ctx = kzalloc(sizeof(struct x509_parse_context), GFP_KERNEL);
+   if (!ctx)
+   goto error_no_ctx;
+
+   ctx->cert = cert;
+   ctx->data = (unsigned long)data;
+
+   /* Attempt to decode the certificate */
+   ret = asn1_ber_decoder(&x509_decoder, ctx, data, datalen);
+   if (ret < 0)
+   goto error_decode;
+
+   /* Decode the public key */
+   ret = asn1_ber_decoder(&x509_rsakey_decoder, ctx,
+  ctx->key, ctx->key_size);
+   if (ret < 0)
+   goto error_decode;
+
+   kfree(ctx);
+   return cert;
+
+error_decode:
+   kfree(ctx);
+error_no_ctx:
+   x509_free_certificate(cert);
+error_no_cert:
+   return ERR_PTR(ret);
+}
+
+/*
+ * Note an OID when we find one for later processing when we know how
+ * to interpret it.
+ */
+int x509_note_OID(void *context, size_t hdrlen,
+unsigned char tag,
+const void *value, size_t vlen)
+{
+   struct x509_parse_context *ctx = context;
+
+   ctx->last_oid = look_up_OID(value, vlen);
+   if (ctx->last_oid == OID__NR) {
+   char buffer[50];
+   sprint_oid(value, vlen, buffer, sizeof(buffer));
+   printk("X.509: Unknown OID: [%zu] %s: %d\n",
+  (unsigned long)value - ctx->data, buffer, ctx->last_oid);
+   }
+   return 0;
+}
+
+/*
+ * Save the position of the TBS data so that we can check the signature over it
+ * later.
+ */
+int x509_note_tbs_certificate(void *context, size_t hdrlen,
+ unsigned char tag,
+ const void *value, size_t vlen)
+{
+   struct x509_parse_context *ctx = context;
+
+   pr_debug("x509_note_tbs_certificate(,%02x,%ld,%zu)!\n",
+tag, (unsigned long)value - ctx->data, vlen);
+
+   ctx->cert->tbs = value;
+   ctx->cert->tbs_size = vlen;
+   return 0;
+}
+
+/*
+ * Note the start position of the certificate content with

[PATCH 11/16] X.509: Implement simple static OID registry

2012-09-13 Thread David Howells
Implement a simple static OID registry that allows the mapping of an encoded
OID to an enum value for ease of use.

The OID registry index enum appears in the:

linux/oid_registry.h

header file.  A script generates the registry from lines in the header file
that look like:

OID_foo,/*1.2.3.4*/

The actual OID is taken to be represented by the numbers with interpolated
dots in the comment.

All other lines in the header are ignored.

The registry is queries by calling:

OID look_up_oid(const void *data, size_t datasize);

This returns a number from the registry enum representing the OID if found or
OID__NR if not.

Signed-off-by: David Howells 
---

 include/linux/oid_registry.h |   90 ++
 lib/.gitignore   |2 
 lib/Kconfig  |5 +
 lib/Makefile |   16 +++
 lib/build_OID_registry   |  209 ++
 lib/oid_registry.c   |   89 ++
 6 files changed, 410 insertions(+), 1 deletion(-)
 create mode 100644 include/linux/oid_registry.h
 create mode 100755 lib/build_OID_registry
 create mode 100644 lib/oid_registry.c


diff --git a/include/linux/oid_registry.h b/include/linux/oid_registry.h
new file mode 100644
index 000..5928546
--- /dev/null
+++ b/include/linux/oid_registry.h
@@ -0,0 +1,90 @@
+/* ASN.1 Object identifier (OID) registry
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+#ifndef _LINUX_OID_REGISTRY_H
+#define _LINUX_OID_REGISTRY_H
+
+#include 
+
+/*
+ * OIDs are turned into these values if possible, or OID__NR if not held here.
+ *
+ * NOTE!  Do not mess with the format of each line as this is read by
+ *   build_OID_registry.pl to generate the data for look_up_OID().
+ */
+enum OID {
+   OID_id_dsa_with_sha1,   /* 1.2.840.10030.4.3 */
+   OID_id_dsa, /* 1.2.840.10040.4.1 */
+   OID_id_ecdsa_with_sha1, /* 1.2.840.10045.4.1 */
+   OID_id_ecPublicKey, /* 1.2.840.10045.2.1 */
+
+   /* PKCS#1 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 
pkcs-1(1)} */
+   OID_rsaEncryption,  /* 1.2.840.113549.1.1.1 */
+   OID_md2WithRSAEncryption,   /* 1.2.840.113549.1.1.2 */
+   OID_md3WithRSAEncryption,   /* 1.2.840.113549.1.1.3 */
+   OID_md4WithRSAEncryption,   /* 1.2.840.113549.1.1.4 */
+   OID_sha1WithRSAEncryption,  /* 1.2.840.113549.1.1.5 */
+   OID_sha256WithRSAEncryption,/* 1.2.840.113549.1.1.11 */
+   OID_sha384WithRSAEncryption,/* 1.2.840.113549.1.1.12 */
+   OID_sha512WithRSAEncryption,/* 1.2.840.113549.1.1.13 */
+   OID_sha224WithRSAEncryption,/* 1.2.840.113549.1.1.14 */
+   /* PKCS#7 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 
pkcs-7(7)} */
+   OID_data,   /* 1.2.840.113549.1.7.1 */
+   OID_signed_data,/* 1.2.840.113549.1.7.2 */
+   /* PKCS#9 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 
pkcs-9(9)} */
+   OID_email_address,  /* 1.2.840.113549.1.9.1 */
+   OID_content_type,   /* 1.2.840.113549.1.9.3 */
+   OID_messageDigest,  /* 1.2.840.113549.1.9.4 */
+   OID_signingTime,/* 1.2.840.113549.1.9.5 */
+   OID_smimeCapabilites,   /* 1.2.840.113549.1.9.15 */
+   OID_smimeAuthenticatedAttrs,/* 1.2.840.113549.1.9.16.2.11 */
+
+   /* {iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2)} */
+   OID_md2,/* 1.2.840.113549.2.2 */
+   OID_md4,/* 1.2.840.113549.2.4 */
+   OID_md5,/* 1.2.840.113549.2.5 */
+
+   OID_certAuthInfoAccess, /* 1.3.6.1.5.5.7.1.1 */
+   OID_msOutlookExpress,   /* 1.3.6.1.4.1.311.16.4 */
+   OID_sha1,   /* 1.3.14.3.2.26 */
+
+   /* Distinguished Name attribute IDs [RFC 2256] */
+   OID_commonName, /* 2.5.4.3 */
+   OID_surname,/* 2.5.4.4 */
+   OID_countryName,/* 2.5.4.6 */
+   OID_locality,   /* 2.5.4.7 */
+   OID_stateOrProvinceName,/* 2.5.4.8 */
+   OID_organizationName,   /* 2.5.4.10 */
+   OID_organizationUnitName,   /* 2.5.4.11 */
+   OID_title,  /* 2.5.4.12 */
+   OID_description,/* 2.5.4.13 */
+   OID_name,   /* 2.5.4.41 */
+   OID_givenName,  /* 2.5.4.42 */
+   OID_initials,   /* 2.5.4.43 */
+   OID_generationalQualifier

[PATCH 14/16] X.509: Add an ASN.1 decoder

2012-09-13 Thread David Howells
Add an ASN.1 BER/DER/CER decoder.  This uses the bytecode from the ASN.1
compiler in the previous patch to inform it as to what to expect to find in the
encoded byte stream.  The output from the compiler also tells it what functions
to call on what tags, thus allowing the caller to retrieve information.

The decoder is called as follows:

int asn1_decoder(const struct asn1_decoder *decoder,
 void *context,
 const unsigned char *data,
 size_t datalen);

The decoder argument points to the bytecode from the ASN.1 compiler.  context
is the caller's context and is passed to the action functions.  data and
datalen define the byte stream to be decoded.


Note that the decoder is currently limited to datalen being less than 64K.
This reduces the amount of stack space used by the decoder because ASN.1 is a
nested construct.  Similarly, the decoder is limited to a maximum of 10 levels
of constructed data outside of a leaf node also in an effort to keep stack
usage down.

These restrictions can be raised if necessary.

Signed-off-by: David Howells 
---

 include/linux/asn1_decoder.h |   24 ++
 lib/Makefile |2 
 lib/asn1_decoder.c   |  473 ++
 3 files changed, 499 insertions(+)
 create mode 100644 include/linux/asn1_decoder.h
 create mode 100644 lib/asn1_decoder.c


diff --git a/include/linux/asn1_decoder.h b/include/linux/asn1_decoder.h
new file mode 100644
index 000..fa2ff5b
--- /dev/null
+++ b/include/linux/asn1_decoder.h
@@ -0,0 +1,24 @@
+/* ASN.1 decoder
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+#ifndef _LINUX_ASN1_DECODER_H
+#define _LINUX_ASN1_DECODER_H
+
+#include 
+
+struct asn1_decoder;
+
+extern int asn1_ber_decoder(const struct asn1_decoder *decoder,
+   void *context,
+   const unsigned char *data,
+   size_t datalen);
+
+#endif /* _LINUX_ASN1_DECODER_H */
diff --git a/lib/Makefile b/lib/Makefile
index b042896..ca856b6 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -140,6 +140,8 @@ $(foreach file, $(libfdt_files), \
$(eval CFLAGS_$(file) = -I$(src)/../scripts/dtc/libfdt))
 lib-$(CONFIG_LIBFDT) += $(libfdt_files)
 
+obj-$(CONFIG_ASN1) += asn1_decoder.o
+
 hostprogs-y:= gen_crc32table
 clean-files:= crc32table.h
 
diff --git a/lib/asn1_decoder.c b/lib/asn1_decoder.c
new file mode 100644
index 000..8179f3c
--- /dev/null
+++ b/lib/asn1_decoder.c
@@ -0,0 +1,473 @@
+/* Decoder for ASN.1 BER/DER/CER encoded bytestream
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+static const unsigned char asn1_op_lengths[ASN1_OP__NR] = {
+   /*  OPC TAG JMP ACT */
+   [ASN1_OP_MATCH] = 1 + 1,
+   [ASN1_OP_MATCH_OR_SKIP] = 1 + 1,
+   [ASN1_OP_MATCH_ACT] = 1 + 1 + 1,
+   [ASN1_OP_MATCH_ACT_OR_SKIP] = 1 + 1 + 1,
+   [ASN1_OP_MATCH_JUMP]= 1 + 1 + 1,
+   [ASN1_OP_MATCH_JUMP_OR_SKIP]= 1 + 1 + 1,
+   [ASN1_OP_MATCH_ANY] = 1,
+   [ASN1_OP_MATCH_ANY_ACT] = 1 + 1,
+   [ASN1_OP_COND_MATCH_OR_SKIP]= 1 + 1,
+   [ASN1_OP_COND_MATCH_ACT_OR_SKIP]= 1 + 1 + 1,
+   [ASN1_OP_COND_MATCH_JUMP_OR_SKIP]   = 1 + 1 + 1,
+   [ASN1_OP_COND_MATCH_ANY]= 1,
+   [ASN1_OP_COND_MATCH_ANY_ACT]= 1 + 1,
+   [ASN1_OP_COND_FAIL] = 1,
+   [ASN1_OP_COMPLETE]  = 1,
+   [ASN1_OP_ACT]   = 1 + 1,
+   [ASN1_OP_RETURN]= 1,
+   [ASN1_OP_END_SEQ]   = 1,
+   [ASN1_OP_END_SEQ_OF]= 1 + 1,
+   [ASN1_OP_END_SET]   = 1,
+   [ASN1_OP_END_SET_OF]= 1 + 1,
+   [ASN1_OP_END_SEQ_ACT]   = 1 + 1,
+   [ASN1_OP_END_SEQ_OF_ACT]= 1 + 1 + 1,
+   [ASN1_OP_END_SET_ACT]   = 1 + 1,
+   [ASN1_OP_END_SET_OF_ACT]= 1 + 

[PATCH 12/16] X.509: Add utility functions to render OIDs as strings

2012-09-13 Thread David Howells
Add a pair of utility functions to render OIDs as strings.  The first takes an
encoded OID and turns it into a "a.b.c.d" form string:

int sprint_oid(const void *data, size_t datasize,
   char *buffer, size_t bufsize);

The second takes an OID enum index and calls the first on the data held
therein:

int sprint_OID(enum OID oid, char *buffer, size_t bufsize);

Signed-off-by: David Howells 
---

 include/linux/oid_registry.h |2 +
 lib/oid_registry.c   |   81 ++
 2 files changed, 83 insertions(+)


diff --git a/include/linux/oid_registry.h b/include/linux/oid_registry.h
index 5928546..6926db7 100644
--- a/include/linux/oid_registry.h
+++ b/include/linux/oid_registry.h
@@ -86,5 +86,7 @@ enum OID {
 };
 
 extern enum OID look_up_OID(const void *data, size_t datasize);
+extern int sprint_oid(const void *, size_t, char *, size_t);
+extern int sprint_OID(enum OID, char *, size_t);
 
 #endif /* _LINUX_OID_REGISTRY_H */
diff --git a/lib/oid_registry.c b/lib/oid_registry.c
index 33cfd17..d8de11f 100644
--- a/lib/oid_registry.c
+++ b/lib/oid_registry.c
@@ -11,6 +11,9 @@
 
 #include 
 #include 
+#include 
+#include 
+#include 
 #include "oid_registry_data.c"
 
 /**
@@ -87,3 +90,81 @@ enum OID look_up_OID(const void *data, size_t datasize)
return OID__NR;
 }
 EXPORT_SYMBOL_GPL(look_up_OID);
+
+/*
+ * sprint_OID - Print an Object Identifier into a buffer
+ * @data: The encoded OID to print
+ * @datasize: The size of the encoded OID
+ * @buffer: The buffer to render into
+ * @bufsize: The size of the buffer
+ *
+ * The OID is rendered into the buffer in "a.b.c.d" format and the number of
+ * bytes is returned.  -EBADMSG is returned if the data could not be intepreted
+ * and -ENOBUFS if the buffer was too small.
+ */
+int sprint_oid(const void *data, size_t datasize, char *buffer, size_t bufsize)
+{
+   const unsigned char *v = data, *end = v + datasize;
+   unsigned long num;
+   unsigned char n;
+   size_t ret;
+   int count;
+
+   if (v >= end)
+   return -EBADMSG;
+
+   n = *v++;
+   ret = count = snprintf(buffer, bufsize, "%u.%u", n / 40, n % 40);
+   buffer += count;
+   bufsize -= count;
+   if (bufsize == 0)
+   return -ENOBUFS;
+
+   while (v < end) {
+   num = 0;
+   n = *v++;
+   if (!(n & 0x80)) {
+   num = n;
+   } else {
+   num = n & 0x7f;
+   do {
+   if (v >= end)
+   return -EBADMSG;
+   n = *v++;
+   num <<= 7;
+   num |= n & 0x7f;
+   } while (n & 0x80);
+   }
+   ret += count = snprintf(buffer, bufsize, ".%lu", num);
+   buffer += count;
+   bufsize -= count;
+   if (bufsize == 0)
+   return -ENOBUFS;
+   }
+
+   return ret;
+}
+EXPORT_SYMBOL_GPL(sprint_oid);
+
+/**
+ * sprint_OID - Print an Object Identifier into a buffer
+ * @oid: The OID to print
+ * @buffer: The buffer to render into
+ * @bufsize: The size of the buffer
+ *
+ * The OID is rendered into the buffer in "a.b.c.d" format and the number of
+ * bytes is returned.
+ */
+int sprint_OID(enum OID oid, char *buffer, size_t bufsize)
+{
+   int ret;
+
+   BUG_ON(oid >= OID__NR);
+
+   ret = sprint_oid(oid_data + oid_index[oid],
+oid_index[oid + 1] - oid_index[oid],
+buffer, bufsize);
+   BUG_ON(ret == -EBADMSG);
+   return ret;
+}
+EXPORT_SYMBOL_GPL(sprint_OID);

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


[PATCH 07/16] KEYS: Provide signature verification with an asymmetric key

2012-09-13 Thread David Howells
Provide signature verification using an asymmetric-type key to indicate the
public key to be used.

The API is a single function that can be found in crypto/public_key.h:

int verify_signature(const struct key *key,
 const struct public_key_signature *sig)

The first argument is the appropriate key to be used and the second argument
is the parsed signature data:

struct public_key_signature {
u8 *digest;
u16 digest_size;
enum pkey_hash_algo pkey_hash_algo : 8;
union {
MPI mpi[2];
struct {
MPI s;  /* m^d mod n */
} rsa;
struct {
MPI r;
MPI s;
} dsa;
};
};

This should be filled in prior to calling the function.  The hash algorithm
should already have been called and the hash finalised and the output should
be in a buffer pointed to by the 'digest' member.

Any extra data to be added to the hash by the hash format (eg. PGP) should
have been added by the caller prior to finalising the hash.

It is assumed that the signature is made up of a number of MPI values.  If an
algorithm becomes available for which this is not the case, the above structure
will have to change.

It is also assumed that it will have been checked that the signature algorithm
matches the key algorithm.

Signed-off-by: David Howells 
---

 crypto/asymmetric_keys/Makefile|2 +
 crypto/asymmetric_keys/signature.c |   49 
 include/crypto/public_key.h|4 +++
 3 files changed, 54 insertions(+), 1 deletion(-)
 create mode 100644 crypto/asymmetric_keys/signature.c


diff --git a/crypto/asymmetric_keys/Makefile b/crypto/asymmetric_keys/Makefile
index 5ed46ee..8dcdf0c 100644
--- a/crypto/asymmetric_keys/Makefile
+++ b/crypto/asymmetric_keys/Makefile
@@ -4,6 +4,6 @@
 
 obj-$(CONFIG_ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
 
-asymmetric_keys-y := asymmetric_type.o
+asymmetric_keys-y := asymmetric_type.o signature.o
 
 obj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o
diff --git a/crypto/asymmetric_keys/signature.c 
b/crypto/asymmetric_keys/signature.c
new file mode 100644
index 000..50b3f88
--- /dev/null
+++ b/crypto/asymmetric_keys/signature.c
@@ -0,0 +1,49 @@
+/* Signature verification with an asymmetric key
+ *
+ * See Documentation/security/asymmetric-keys.txt
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include "asymmetric_keys.h"
+
+/**
+ * verify_signature - Initiate the use of an asymmetric key to verify a 
signature
+ * @key: The asymmetric key to verify against
+ * @sig: The signature to check
+ *
+ * Returns 0 if successful or else an error.
+ */
+int verify_signature(const struct key *key,
+const struct public_key_signature *sig)
+{
+   const struct asymmetric_key_subtype *subtype;
+   int ret;
+
+   pr_devel("==>%s()\n", __func__);
+
+   if (key->type != &key_type_asymmetric)
+   return -EINVAL;
+   subtype = asymmetric_key_subtype(key);
+   if (!subtype ||
+   !key->payload.data)
+   return -EINVAL;
+   if (!subtype->verify_signature)
+   return -ENOTSUPP;
+
+   ret = subtype->verify_signature(key, sig);
+
+   pr_devel("<==%s() = %d\n", __func__, ret);
+   return ret;
+}
+EXPORT_SYMBOL_GPL(verify_signature);
diff --git a/include/crypto/public_key.h b/include/crypto/public_key.h
index 65d9879..eb25eb2 100644
--- a/include/crypto/public_key.h
+++ b/include/crypto/public_key.h
@@ -106,4 +106,8 @@ struct public_key_signature {
};
 };
 
+struct key;
+extern int verify_signature(const struct key *key,
+   const struct public_key_signature *sig);
+
 #endif /* _LINUX_PUBLIC_KEY_H */

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


[PATCH 04/16] KEYS: Implement asymmetric key type

2012-09-13 Thread David Howells
Create a key type that can be used to represent an asymmetric key type for use
in appropriate cryptographic operations, such as encryption, decryption,
signature generation and signature verification.

The key type is "asymmetric" and can provide access to a variety of
cryptographic algorithms.

Possibly, this would be better as "public_key" - but that has the disadvantage
that "public key" is an overloaded term.

Signed-off-by: David Howells 
---

 crypto/Kconfig   |1 
 crypto/Makefile  |1 
 crypto/asymmetric_keys/Kconfig   |   13 +++
 crypto/asymmetric_keys/Makefile  |7 +
 crypto/asymmetric_keys/asymmetric_keys.h |   15 +++
 crypto/asymmetric_keys/asymmetric_type.c |  156 ++
 include/keys/asymmetric-subtype.h|   55 +++
 include/keys/asymmetric-type.h   |   25 +
 8 files changed, 273 insertions(+)
 create mode 100644 crypto/asymmetric_keys/Kconfig
 create mode 100644 crypto/asymmetric_keys/Makefile
 create mode 100644 crypto/asymmetric_keys/asymmetric_keys.h
 create mode 100644 crypto/asymmetric_keys/asymmetric_type.c
 create mode 100644 include/keys/asymmetric-subtype.h
 create mode 100644 include/keys/asymmetric-type.h


diff --git a/crypto/Kconfig b/crypto/Kconfig
index a323805..1ca0b24 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -1043,5 +1043,6 @@ config CRYPTO_USER_API_SKCIPHER
  key cipher algorithms.
 
 source "drivers/crypto/Kconfig"
+source crypto/asymmetric_keys/Kconfig
 
 endif  # if CRYPTO
diff --git a/crypto/Makefile b/crypto/Makefile
index 30f33d6..ced472e 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -96,3 +96,4 @@ obj-$(CONFIG_CRYPTO_USER_API_SKCIPHER) += algif_skcipher.o
 #
 obj-$(CONFIG_XOR_BLOCKS) += xor.o
 obj-$(CONFIG_ASYNC_CORE) += async_tx/
+obj-$(CONFIG_ASYMMETRIC_KEY_TYPE) += asymmetric_keys/
diff --git a/crypto/asymmetric_keys/Kconfig b/crypto/asymmetric_keys/Kconfig
new file mode 100644
index 000..cad29b3
--- /dev/null
+++ b/crypto/asymmetric_keys/Kconfig
@@ -0,0 +1,13 @@
+menuconfig ASYMMETRIC_KEY_TYPE
+   tristate "Asymmetric (public-key cryptographic) key type"
+   depends on KEYS
+   help
+ This option provides support for a key type that holds the data for
+ the asymmetric keys used for public key cryptographic operations such
+ as encryption, decryption, signature generation and signature
+ verification.
+
+if ASYMMETRIC_KEY_TYPE
+
+
+endif # ASYMMETRIC_KEY_TYPE
diff --git a/crypto/asymmetric_keys/Makefile b/crypto/asymmetric_keys/Makefile
new file mode 100644
index 000..b725bcc
--- /dev/null
+++ b/crypto/asymmetric_keys/Makefile
@@ -0,0 +1,7 @@
+#
+# Makefile for asymmetric cryptographic keys
+#
+
+obj-$(CONFIG_ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
+
+asymmetric_keys-y := asymmetric_type.o
diff --git a/crypto/asymmetric_keys/asymmetric_keys.h 
b/crypto/asymmetric_keys/asymmetric_keys.h
new file mode 100644
index 000..515b634
--- /dev/null
+++ b/crypto/asymmetric_keys/asymmetric_keys.h
@@ -0,0 +1,15 @@
+/* Internal definitions for asymmetric key type
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+
+static inline const char *asymmetric_key_id(const struct key *key)
+{
+   return key->type_data.p[1];
+}
diff --git a/crypto/asymmetric_keys/asymmetric_type.c 
b/crypto/asymmetric_keys/asymmetric_type.c
new file mode 100644
index 000..bfb0424
--- /dev/null
+++ b/crypto/asymmetric_keys/asymmetric_type.c
@@ -0,0 +1,156 @@
+/* Asymmetric public-key cryptography key type
+ *
+ * See Documentation/security/asymmetric-keys.txt
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowe...@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
+ */
+#include 
+#include 
+#include 
+#include 
+#include "asymmetric_keys.h"
+
+MODULE_LICENSE("GPL");
+
+/*
+ * Match asymmetric keys on (part of) their name
+ * We have some shorthand methods for matching keys.  We allow:
+ *
+ * ""- request a key by description
+ * "id:"   - request a key matching the ID
+ * ":" - request a key of a subtype
+ */
+static int asymmetric_key_match(const struct key *key, const void *description)
+{
+   const struct asymmetric_key_subtype *subtype = 
asymmetric_key_subtype(key);
+   

Re: [PATCH 24/27] NFS: Use local caching [try #2]

2008-01-31 Thread David Howells
Chuck Lever <[EMAIL PROTECTED]> wrote:

> >>> +struct nfs_fh_auxdata {
> >>> + struct timespec i_mtime;
> >>> + struct timespec i_ctime;
> >>> + loff_t  i_size;
> >>> +};
> >>
> >> It might be useful to explain here why you need to supplement the
> >> mtime, ctime, and size fields that already exist in an NFS inode.
> >
> > Supplement?  I don't understand.
> 
> Why is it necessary to add additional mtime, ctime and size fields for NFS
> inodes?  Similar metadata is already stored in nfsi.

Yes, but this is the data that's stored in the cache on disk, not what's
stored in the NFS inode struct in RAM.

I'll add some more comments to the code to make this clearer.

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


Re: 2.6.24-rc6-mm1 - iget-stop-isofs-from-using-read_inode-fix-2.patch

2008-02-05 Thread David Howells

How about this patch?

David
---
IGET: Fix isofs_get_block() to only return 0 on success.

From: David Howells <[EMAIL PROTECTED]>

Fix isofs_get_block() to return only 0 on success.  It shouldn't return a +ve
block count for example.

Also make sure that isofs_get_blocks() doesn't accidentally return an error if
rv is 0 come the return statement.

Signed-off-by: David Howells <[EMAIL PROTECTED]>
---

 fs/isofs/inode.c |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)


diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
index 0f5ed8c..875d37f 100644
--- a/fs/isofs/inode.c
+++ b/fs/isofs/inode.c
@@ -1022,6 +1022,7 @@ int isofs_get_blocks(struct inode *inode, sector_t 
iblock_s,
rv++;
}
 
+   error = 0;
 abort:
unlock_kernel();
return rv != 0 ? rv : error;
@@ -1033,12 +1034,15 @@ abort:
 static int isofs_get_block(struct inode *inode, sector_t iblock,
struct buffer_head *bh_result, int create)
 {
+   int ret;
+
if (create) {
printk(KERN_DEBUG "%s: Kernel tries to allocate a block\n", 
__func__);
return -EROFS;
}
 
-   return isofs_get_blocks(inode, iblock, &bh_result, 1);
+   ret = isofs_get_blocks(inode, iblock, &bh_result, 1);
+   return ret < 0 ? ret : 0;
 }
 
 static int isofs_bmap(struct inode *inode, sector_t block)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PULL] Asymmetric keys and module signing

2012-10-02 Thread David Howells
Rusty Russell  wrote:

> Right.  I think we need to use different names for generated vs supplied
> files

The problem with supplied files is people who do allyesconfig, allmodconfig
and randconfig just to test things finding that their builds break.  The
kernel build magic is not really set up to handle external files like this.  I
suppose make logic can be used to conditionally include stuff that might not
exist.

> BTW, you missed a Signed-off-by: on your "MODSIGN: Use the same digest
> for the autogen key sig as for the module sig" patch.  Please update.

Done.

I've also added a patch to convert the system clock to a struct tm and to
produce a struct tm within the ASN.1 decode and then compare those rather than
time_t values as a way to deal with the validity time overflow problem.  We
may have to be able to handle certificates that we haven't generated that
stretch beyond 2038 (I wonder if we might find such in the UEFI key database
for example.

Another way of dealing with this could be to make mktime() within the kernel
produce a u64 rather than an unsigned long, and then compare those.

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


Re: [GIT PULL] Disintegrate the User API from the kernel headers

2012-10-02 Thread David Howells
Catalin Marinas  wrote:

> There is arm64 that got merged, so its headers need splitting as well.
> I'm happy to send a pull request myself just for arm64 if you give me
> the script, otherwise you can run you script again close to -rc1 (and
> I'll test it).

I can just re-run my scripts and post a new set of patches.

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


Re: [GIT PULL] Disintegrate the User API from the kernel headers

2012-10-02 Thread David Howells
Linus Torvalds  wrote:

> At the KS you said you'd be able to split this up into a preparatory
> patch. That doesn't seem to have happened.

I've been generating a tag at the preparatory patch set point for quite a
while now.  If you look in the tags list on:

http://git.infradead.org/users/dhowells/linux-headers.git

you will see a number of tags of the form:

uapi-prep-MMDD

that's the preparatory set if you want to take just that.

Yesterday's preparatory set is at tag:

uapi-prep-20121001

See: 
http://git.infradead.org/users/dhowells/linux-headers.git/shortlog/refs/tags/uapi-prep-20121001

I have just done another regeneration so that arm64 is covered too.  That
has now been posted under:

uapi-post-split-20121001- The complete set
uapi-prep-20121002  - The preparatory set

I will send you a pull request for just the preparatory set when I have tried
some test builds on it and when gitweb has finally caught up.

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


[GIT PULL] User API Disintegrate: Preparatory patches

2012-10-02 Thread David Howells

Hi Linus,

Could you pull this tree please?  

The patches herein prepare for the extraction of the Userspace API bits from
the various header files named in the Kbuild files.

[IMPORTANT NOTE!  These patches may need regenerating if the header files
 change too much.  This doesn't normally take very long to do as the
 disintegration procedure is almost entirely scripted.]

New subdirectories are created under either include/uapi/ or
arch/x/include/uapi/ that correspond to the subdirectory containing that file
under include/ or arch/x/include/.

The new subdirs under the uapi/ directory are populated with Kbuild files that
mostly do nothing at this time.  Further patches will disintegrate the headers
in each original directory and fill in the Kbuild files as they do it.

These patches also:

 (1) fix up #inclusions of "foo.h" rather than .

 (2) Remove some redundant #includes from the DRM code.

 (3) Make the kernel build infrastructure handle Kbuild files both in the old
 places and the new UAPI place that both specify headers to be exported.

 (4) Fix some kernel tools that #include kernel headers during their build.

I have compile tested this with allyesconfig against x86_64, allmodconfig
against i386 and a scattering of additional defconfigs of other arches.

Signed-off-by: David Howells 
Acked-by: Arnd Bergmann 
Acked-by: Thomas Gleixner 
Acked-by: Michael Kerrisk 
Acked-by: Paul E. McKenney 
Acked-by: Dave Jones 
Acked-by: H. Peter Anvin 
---
The following changes since commit 974a847e00cf3ff1695e62b276892137893706ab:

  drivers: bus: omap_l3: fixup merge conflict resolution (2012-10-01 19:39:48 
-0700)

are available in the git repository at:

  git://git.infradead.org/users/dhowells/linux-headers.git 
tags/uapi-prep-20121002

for you to fetch changes up to 10b63956fce7f369cc37fd4d994f09bd5203efe4:

  UAPI: Plumb the UAPI Kbuilds into the user header installation and checking 
(2012-10-02 18:01:57 +0100)


Prepared for main script

--------
David Howells (13):
  UAPI: Refer to the DRM UAPI headers with <...> and from certain headers 
only
  UAPI: (Scripted) Remove redundant DRM UAPI header #inclusions from 
drivers/gpu/.
  UAPI: (Scripted) Convert #include "..." to #include  in 
drivers/gpu/
  UAPI: (Scripted) Convert #include "..." to #include  in kernel 
system headers
  UAPI: Partition the header include path sets and add uapi/ header 
directories
  UAPI: (Scripted) Set up UAPI Kbuild files
  UAPI: x86: Fix the test_get_len tool
  UAPI: x86: Fix insn_sanity build failure after UAPI split
  UAPI: Set up uapi/asm/Kbuild.asm
  UAPI: Move linux/version.h
  UAPI: Remove the objhdr-y export list
  UAPI: x86: Differentiate the generated UAPI and internal headers
  UAPI: Plumb the UAPI Kbuilds into the user header installation and 
checking

 Documentation/kbuild/makefiles.txt   |  8 ++--
 Makefile | 43 
 arch/alpha/include/uapi/asm/Kbuild   |  3 ++
 arch/arm/include/asm/page.h  |  2 +-
 arch/arm/include/asm/pgtable.h   |  2 +-
 arch/arm/include/asm/vfpmacros.h |  2 +-
 arch/arm/include/uapi/asm/Kbuild |  3 ++
 arch/arm64/include/uapi/asm/Kbuild   |  3 ++
 arch/avr32/include/uapi/asm/Kbuild   |  3 ++
 arch/blackfin/include/uapi/asm/Kbuild|  3 ++
 arch/c6x/include/uapi/asm/Kbuild |  3 ++
 arch/cris/Makefile   |  4 +-
 arch/cris/include/arch-v10/arch/sv_addr_ag.h |  2 +-
 arch/cris/include/arch-v10/arch/svinto.h |  2 +-
 arch/cris/include/arch-v32/arch/dma.h|  2 +-
 arch/cris/include/arch-v32/arch/hwregs/dma.h |  2 +-
 arch/cris/include/uapi/arch-v10/arch/Kbuild  |  1 +
 arch/cris/include/uapi/arch-v32/arch/Kbuild  |  1 +
 arch/cris/include/uapi/asm/Kbuild|  5 +++
 arch/frv/include/uapi/asm/Kbuild |  3 ++
 arch/h8300/include/uapi/asm/Kbuild   |  3 ++
 arch/hexagon/include/uapi/asm/Kbuild |  3 ++
 arch/ia64/include/uapi/asm/Kbuild|  3 ++
 arch/m32r/include/uapi/asm/Kbuild|  3 ++
 arch/m68k/include/asm/cacheflush.h   |  4 +-
 arch/m68k/include/asm/io.h   |  4 +-
 arch/m68k/include/asm/m68360.h   |  8 ++--
 arch/m68k/include/asm/m68360_enet.h  |  2 +-
 arch/m68k/include/asm/page.h |  4 +-
 arch/m68k/include/asm/pgtable.h  |  4 +-
 arch/m68k/include/asm/q40_master.h   |  2 +-
 arch/m68k/include/asm/uaccess.h  |  4 +-
 arch/m68k/include/uapi/asm/Kbuild|  3 ++
 arch/microblaze/include/asm/mmu_context.h

[PATCH 0/2] UAPI: Extra preparatory patches

2012-10-03 Thread David Howells

Hi Linus,

I have here a couple of extra preparatory patches for you that I discovered
were necessary today:

 (1) Remove reinclusion guards from certain asm/unistd.h files that were
 overriding the guard if __SYSCALL was defined, eg:

#if defined(__ASM_UNISTD_H) || defined(__SYSCALL)

 The macro __SYSCALL is defined within and not then undef'd, thus
 rendering the guard ineffective.

 Clearly these guards are unnecessary, so drop them entirely for the
 moment.  We may want to add them back later, but it makes my scripts much
 easier to handle by virtue of simplifying the logic.

 (2) Break apart some cpp conditionals that got added with the arm64 arch that
 are of the form:

defined(__KERNEL__) && defined(X)

 Splitting these into two separate nested conditionals makes scripting
 easier.

David
---
David Howells (2):
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  UAPI: Fix the guards on various asm/unistd.h files


 arch/arm64/include/asm/hwcap.h  |4 +++-
 arch/arm64/include/asm/stat.h   |4 +++-
 arch/arm64/include/asm/unistd.h |8 +++-
 arch/arm64/include/asm/unistd32.h   |4 
 arch/c6x/include/asm/unistd.h   |4 
 arch/hexagon/include/asm/unistd.h   |5 -
 arch/openrisc/include/asm/unistd.h  |5 -
 arch/score/include/asm/unistd.h |5 -
 arch/tile/include/asm/unistd.h  |5 -
 arch/unicore32/include/asm/unistd.h |4 
 include/asm-generic/unistd.h|4 
 11 files changed, 9 insertions(+), 43 deletions(-)

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


[PATCH 2/2] UAPI: Split compound conditionals containing __KERNEL__ in Arm64

2012-10-03 Thread David Howells
Split compound conditionals containing __KERNEL__ in Arm64 where possible to
make it easier for the UAPI disintegration scripts to handle them.

Signed-off-by: David Howells 
Acked-by: Catalin Marinas 
---

 arch/arm64/include/asm/hwcap.h  |4 +++-
 arch/arm64/include/asm/stat.h   |4 +++-
 arch/arm64/include/asm/unistd.h |4 +++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/include/asm/hwcap.h b/arch/arm64/include/asm/hwcap.h
index f8190ba..db05f97 100644
--- a/arch/arm64/include/asm/hwcap.h
+++ b/arch/arm64/include/asm/hwcap.h
@@ -35,7 +35,8 @@
 #define COMPAT_HWCAP_IDIVT (1 << 18)
 #define COMPAT_HWCAP_IDIV  (COMPAT_HWCAP_IDIVA|COMPAT_HWCAP_IDIVT)
 
-#if defined(__KERNEL__) && !defined(__ASSEMBLY__)
+#ifdef __KERNEL__
+#ifndef __ASSEMBLY__
 /*
  * This yields a mask that user programs can use to figure out what
  * instruction set this cpu supports.
@@ -49,5 +50,6 @@
 
 extern unsigned int elf_hwcap;
 #endif
+#endif
 
 #endif
diff --git a/arch/arm64/include/asm/stat.h b/arch/arm64/include/asm/stat.h
index d87225c..a9f580c 100644
--- a/arch/arm64/include/asm/stat.h
+++ b/arch/arm64/include/asm/stat.h
@@ -18,7 +18,8 @@
 
 #include 
 
-#if defined(__KERNEL__) && defined(CONFIG_COMPAT)
+#ifdef __KERNEL__
+#ifdef CONFIG_COMPAT
 
 #include 
 
@@ -58,5 +59,6 @@ struct stat64 {
 };
 
 #endif
+#endif
 
 #endif
diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
index f55ba3e..8f03dee 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
@@ -18,6 +18,8 @@
 #include 
 #endif
 
-#if defined(__KERNEL__) && defined(CONFIG_COMPAT)
+#ifdef __KERNEL__
+#ifdef CONFIG_COMPAT
 #include 
 #endif
+#endif

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


[PATCH 1/2] UAPI: Fix the guards on various asm/unistd.h files

2012-10-03 Thread David Howells
asm-generic/unistd.h and a number of asm/unistd.h files have been given
reinclusion guards that allow the guard to be overridden if __SYSCALL is
defined.  Unfortunately, these files define __SYSCALL and don't undefine it
when they've finished with it, thus rendering the guard ineffective.

The reason for this override is to allow the file to be #included multiple
times with different settings on __SYSCALL for purposes like generating syscall
tables.

The following guards are problematic:

arch/arm64/include/asm/unistd.h:#if !defined(__ASM_UNISTD_H) || 
defined(__SYSCALL)
arch/arm64/include/asm/unistd32.h:#if !defined(__ASM_UNISTD32_H) || 
defined(__SYSCALL)
arch/c6x/include/asm/unistd.h:#if !defined(_ASM_C6X_UNISTD_H) || 
defined(__SYSCALL)
arch/hexagon/include/asm/unistd.h:#if !defined(_ASM_HEXAGON_UNISTD_H) || 
defined(__SYSCALL)
arch/openrisc/include/asm/unistd.h:#if !defined(__ASM_OPENRISC_UNISTD_H) || 
defined(__SYSCALL)
arch/score/include/asm/unistd.h:#if !defined(_ASM_SCORE_UNISTD_H) || 
defined(__SYSCALL)
arch/tile/include/asm/unistd.h:#if !defined(_ASM_TILE_UNISTD_H) || 
defined(__SYSCALL)
arch/unicore32/include/asm/unistd.h:#if !defined(__UNICORE_UNISTD_H__) || 
defined(__SYSCALL)
include/asm-generic/unistd.h:#if !defined(_ASM_GENERIC_UNISTD_H) || 
defined(__SYSCALL)

On the assumption that the guards' ineffectiveness has passed unnoticed, just
remove these guards entirely.

Signed-off-by: David Howells 
Acked-by: Arnd Bergmann 
Acked-by: Catalin Marinas 
---

 arch/arm64/include/asm/unistd.h |4 
 arch/arm64/include/asm/unistd32.h   |4 
 arch/c6x/include/asm/unistd.h   |4 
 arch/hexagon/include/asm/unistd.h   |5 -
 arch/openrisc/include/asm/unistd.h  |5 -
 arch/score/include/asm/unistd.h |5 -
 arch/tile/include/asm/unistd.h  |5 -
 arch/unicore32/include/asm/unistd.h |4 
 include/asm-generic/unistd.h|4 
 9 files changed, 40 deletions(-)

diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
index fe18a68..f55ba3e 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
@@ -13,8 +13,6 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#if !defined(__ASM_UNISTD_H) || defined(__SYSCALL)
-#define __ASM_UNISTD_H
 
 #ifndef __SYSCALL_COMPAT
 #include 
@@ -23,5 +21,3 @@
 #if defined(__KERNEL__) && defined(CONFIG_COMPAT)
 #include 
 #endif
-
-#endif /* __ASM_UNISTD_H */
diff --git a/arch/arm64/include/asm/unistd32.h 
b/arch/arm64/include/asm/unistd32.h
index a50405f..3ba1f1a 100644
--- a/arch/arm64/include/asm/unistd32.h
+++ b/arch/arm64/include/asm/unistd32.h
@@ -16,8 +16,6 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#if !defined(__ASM_UNISTD32_H) || defined(__SYSCALL)
-#define __ASM_UNISTD32_H
 
 #ifndef __SYSCALL
 #define __SYSCALL(x, y)
@@ -754,5 +752,3 @@ __SYSCALL(__NR_syncfs, sys_syncfs)
 #define __ARCH_WANT_SYS_SIGPENDING
 #define __ARCH_WANT_SYS_SIGPROCMASK
 #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
-
-#endif /* __ASM_UNISTD32_H */
diff --git a/arch/c6x/include/asm/unistd.h b/arch/c6x/include/asm/unistd.h
index 6d54ea4..ed22590 100644
--- a/arch/c6x/include/asm/unistd.h
+++ b/arch/c6x/include/asm/unistd.h
@@ -13,8 +13,6 @@
  *   NON INFRINGEMENT. See the GNU General Public License for
  *   more details.
  */
-#if !defined(_ASM_C6X_UNISTD_H) || defined(__SYSCALL)
-#define _ASM_C6X_UNISTD_H
 
 /* Use the standard ABI for syscalls. */
 #include 
@@ -22,5 +20,3 @@
 /* C6X-specific syscalls. */
 #define __NR_cache_sync(__NR_arch_specific_syscall + 0)
 __SYSCALL(__NR_cache_sync, sys_cache_sync)
-
-#endif /* _ASM_C6X_UNISTD_H */
diff --git a/arch/hexagon/include/asm/unistd.h 
b/arch/hexagon/include/asm/unistd.h
index 4d0ecde..c0d5565 100644
--- a/arch/hexagon/include/asm/unistd.h
+++ b/arch/hexagon/include/asm/unistd.h
@@ -18,9 +18,6 @@
  * 02110-1301, USA.
  */
 
-#if !defined(_ASM_HEXAGON_UNISTD_H) || defined(__SYSCALL)
-#define _ASM_HEXAGON_UNISTD_H
-
 /*
  *  The kernel pulls this unistd.h in three different ways:
  *  1.  the "normal" way which gets all the __NR defines
@@ -32,5 +29,3 @@
 #define sys_mmap2 sys_mmap_pgoff
 
 #include 
-
-#endif
diff --git a/arch/openrisc/include/asm/unistd.h 
b/arch/openrisc/include/asm/unistd.h
index 89af3ab..437bdbb 100644
--- a/arch/openrisc/include/asm/unistd.h
+++ b/arch/openrisc/include/asm/unistd.h
@@ -16,9 +16,6 @@
  * (at your option) any later version.
  */
 
-#if !defined(__ASM_OPENRISC_UNISTD_H) || defined(__SYSCALL)
-#define __ASM_OPENRISC_UNISTD_H
-
 #define __ARCH_HAVE_MMU
 
 #define sys_mmap2 sys_mmap_pgoff
@@ -27,5 +24,3 @@
 
 #define __NR_or1k_atomic __NR_arch_specific_syscall
 __SYSCALL(__NR_or1k_atomic, sys_or1k_atomic)
-
-#endif /* __ASM

Re: [git pull] drm merge for rc1 (part 1)

2012-10-04 Thread David Howells
Linus Torvalds  wrote:

> Ok, as usual I actually wanted to do the merge myself despite the
> annoying conflicts (this *really* is the last time I will ever accept
> any header file "cleanups" - they simply aren't worth the pain).

There was a reason I asked you to pull the patches at the *end* of the merge
window, and a reason I asked you to give me a chance to regenerate the patches
before you pulled them.

Anyway, I can feed much of the main set of patches through subsystem trees now
- so thanks for that at least.

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


Re: [git pull] drm merge for rc1 (part 1)

2012-10-04 Thread David Howells
David Howells  wrote:

> Linus Torvalds  wrote:
> 
> > Ok, as usual I actually wanted to do the merge myself despite the
> > annoying conflicts (this *really* is the last time I will ever accept
> > any header file "cleanups" - they simply aren't worth the pain).
> 
> There was a reason I asked you to pull the patches at the *end* of the merge
> window,

Okay, I owe you an apology...  I forgot to request that you pull at the end of
the merge window when I asked you to pull the preparatory patches instead.

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


Re: [GIT PULL] User API Disintegrate: Preparatory patches

2012-10-04 Thread David Howells
Geert Uytterhoeven  wrote:

> >  include/linux/libfdt.h   |  4 +-
> 
> So what happened here?
> 
>  -#include "../../scripts/dtc/libfdt/fdt.h"
> -#include "../../scripts/dtc/libfdt/libfdt.h"
> +#include <>
> +#include <>

I didn't expect 'system' header files to be outside of include/ or
arch/*/include/, so the bit of perl I had to turn this into <...> quietly
malfunctioned when it stripped too much off of the front.

Out of interest, why aren't these in include/?  The normal way seems to be to
point the tool build at the kernel headers, not the kernel build at the script
headers.

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


[GIT PULL] Disintegrate UAPI for asm-generic

2012-10-04 Thread David Howells
Can you merge the following branch into the asm-generic tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git 
disintegrate-asm-generic

for you to fetch changes up to 8a1ab3155c2ac7fbe5f2038d6e26efeb607a1498:

  UAPI: (Scripted) Disintegrate include/asm-generic (2012-10-04 18:20:15 +0100)

--------
David Howells (5):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h   |   4 +-
 arch/arm64/include/asm/stat.h|   4 +-
 arch/arm64/include/asm/unistd.h  |   8 +-
 arch/arm64/include/asm/unistd32.h|   4 -
 arch/c6x/Makefile|   2 +
 arch/c6x/include/asm/Kbuild  |   1 +
 arch/c6x/include/asm/signal.h|  17 -
 arch/c6x/include/asm/unistd.h|   4 -
 arch/hexagon/include/asm/unistd.h|   5 -
 arch/openrisc/include/asm/unistd.h   |   5 -
 arch/score/include/asm/unistd.h  |   5 -
 arch/tile/include/asm/unistd.h   |   5 -
 arch/unicore32/include/asm/unistd.h  |   4 -
 include/asm-generic/Kbuild   |  35 -
 include/asm-generic/bitsperlong.h|  13 +-
 include/asm-generic/int-l64.h|  26 +-
 include/asm-generic/int-ll64.h   |  31 +-
 include/asm-generic/ioctl.h  |  95 +--
 include/asm-generic/kvm_para.h   |   5 +-
 include/asm-generic/param.h  |  17 +-
 include/asm-generic/resource.h   |  66 +-
 include/asm-generic/siginfo.h| 297 +
 include/asm-generic/signal.h | 117 +---
 include/asm-generic/statfs.h |  81 +--
 include/asm-generic/termios.h|  49 +-
 include/asm-generic/unistd.h | 911 +--
 include/linux/Kbuild |   9 +-
 include/uapi/asm-generic/Kbuild  |  35 +
 include/{ => uapi}/asm-generic/auxvec.h  |   0
 include/uapi/asm-generic/bitsperlong.h   |  15 +
 include/{ => uapi}/asm-generic/errno-base.h  |   0
 include/{ => uapi}/asm-generic/errno.h   |   0
 include/{ => uapi}/asm-generic/fcntl.h   |   0
 include/uapi/asm-generic/int-l64.h   |  34 +
 include/uapi/asm-generic/int-ll64.h  |  39 ++
 include/uapi/asm-generic/ioctl.h |  98 +++
 include/{ => uapi}/asm-generic/ioctls.h  |   0
 include/{ => uapi}/asm-generic/ipcbuf.h  |   0
 include/{ => uapi}/asm-generic/mman-common.h |   0
 include/{ => uapi}/asm-generic/mman.h|   0
 include/{ => uapi}/asm-generic/msgbuf.h  |   0
 include/uapi/asm-generic/param.h |  19 +
 include/{ => uapi}/asm-generic/poll.h|   0
 include/{ => uapi}/asm-generic/posix_types.h |   0
 include/uapi/asm-generic/resource.h  |  68 ++
 include/{ => uapi}/asm-generic/sembuf.h  |   0
 include/{ => uapi}/asm-generic/setup.h   |   0
 include/{ => uapi}/asm-generic/shmbuf.h  |   0
 include/{ => uapi}/asm-generic/shmparam.h|   0
 include/uapi/asm-generic/siginfo.h   | 298 +
 include/{ => uapi}/asm-generic/signal-defs.h |   0
 include/uapi/asm-generic/signal.h| 123 
 include/{ => uapi}/asm-generic/socket.h  |   0
 include/{ => uapi}/asm-generic/sockios.h |   0
 include/{ => uapi}/asm-generic/stat.h|   0
 include/uapi/asm-generic/statfs.h|  83 +++
 include/{ => uapi}/asm-generic/swab.h|   0
 include/{ => uapi}/asm-generic/termbits.h|   0
 include/uapi/asm-generic/termios.h   |  50 ++
 include/{ => uapi}/asm-generic/types.h   |   0
 include/{ => uapi}/asm-generic/ucontext.h|   0
 include/uapi/asm-generic/unistd.h| 902 ++
 security/apparmor/Makefile   |   2 +-
 63 files changed, 1793 insertions(+), 1793 deletions(-)
 delete mode 100644 arch/c6x/include/asm/signal.h
 rename include/{ => uapi}/asm-generi

[GIT PULL] Disintegrate UAPI for arm64

2012-10-04 Thread David Howells
Can you merge the following branch into the arm64 tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-arm64

for you to fetch changes up to ae4f6c65798014d5d7a88d03e58faba53c0a92e1:

  UAPI: (Scripted) Disintegrate arch/arm64/include/asm (2012-10-04 18:20:24 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/arm64/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/Kbuild   |   2 -
 arch/arm64/include/asm/hwcap.h  |  22 +-
 arch/arm64/include/asm/ptrace.h |  88 +--
 arch/arm64/include/asm/sigcontext.h |  40 +-
 arch/arm64/include/asm/stat.h   |   5 +-
 arch/arm64/include/asm/unistd.h |  12 +-
 arch/arm64/include/asm/unistd32.h   |   4 -
 arch/arm64/include/uapi/asm/Kbuild  |  14 +
 arch/arm64/include/{ => uapi}/asm/auxvec.h  |   0
 arch/arm64/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/arm64/include/{ => uapi}/asm/byteorder.h   |   0
 arch/arm64/include/{ => uapi}/asm/fcntl.h   |   0
 arch/arm64/include/uapi/asm/hwcap.h |  39 +
 arch/arm64/include/{ => uapi}/asm/param.h   |   0
 arch/arm64/include/uapi/asm/ptrace.h| 110 +++
 arch/arm64/include/{ => uapi}/asm/setup.h   |   0
 arch/arm64/include/uapi/asm/sigcontext.h|  57 ++
 arch/arm64/include/{ => uapi}/asm/siginfo.h |   0
 arch/arm64/include/{ => uapi}/asm/signal.h  |   0
 arch/arm64/include/uapi/asm/stat.h  |  16 +
 arch/arm64/include/{ => uapi}/asm/statfs.h  |   0
 arch/arm64/include/uapi/asm/unistd.h|  16 +
 arch/c6x/Makefile   |   2 +
 arch/c6x/include/asm/Kbuild |   1 +
 arch/c6x/include/asm/signal.h   |  17 -
 arch/c6x/include/asm/unistd.h   |   4 -
 arch/hexagon/include/asm/unistd.h   |   5 -
 arch/openrisc/include/asm/unistd.h  |   5 -
 arch/score/include/asm/unistd.h |   5 -
 arch/tile/include/asm/unistd.h  |   5 -
 arch/unicore32/include/asm/unistd.h |   4 -
 include/asm-generic/Kbuild  |  35 -
 include/asm-generic/bitsperlong.h   |  13 +-
 include/asm-generic/int-l64.h   |  26 +-
 include/asm-generic/int-ll64.h  |  31 +-
 include/asm-generic/ioctl.h |  95 +--
 include/asm-generic/kvm_para.h  |   5 +-
 include/asm-generic/param.h |  17 +-
 include/asm-generic/resource.h  |  66 +-
 include/asm-generic/siginfo.h   | 297 +---
 include/asm-generic/signal.h| 117 +--
 include/asm-generic/statfs.h|  81 +--
 include/asm-generic/termios.h   |  49 +-
 include/asm-generic/unistd.h| 911 +---
 include/linux/Kbuild|   9 +-
 include/uapi/asm-generic/Kbuild |  35 +
 include/{ => uapi}/asm-generic/auxvec.h |   0
 include/uapi/asm-generic/bitsperlong.h  |  15 +
 include/{ => uapi}/asm-generic/errno-base.h |   0
 include/{ => uapi}/asm-generic/errno.h  |   0
 include/{ => uapi}/asm-generic/fcntl.h  |   0
 include/uapi/asm-generic/int-l64.h  |  34 +
 include/uapi/asm-generic/int-ll64.h |  39 +
 include/uapi/asm-generic/ioctl.h|  98 +++
 include/{ => uapi}/asm-generic/ioctls.h |   0
 include/{ => uapi}/asm-generic/ipcbuf.h |   0
 include/{ => uapi}/asm-generic/mman-common.h|   0
 include/{ => uapi}/asm-generic/mman.h   |   0
 include/{ => uapi}/asm-generic/msgbuf.h |   0
 include/uapi/asm-generic/param.h|  19 +
 include/{ => uapi}/asm-generic/poll.h   |   0
 include/{ => uapi}/asm-generic/posix_types.h|   0
 include/

[GIT PULL] Disintegrate UAPI for hexagon

2012-10-04 Thread David Howells
Can you merge the following branch into the hexagon tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-hexagon

for you to fetch changes up to 0ee1d088b96a538a1c2572078283452ef39634fc:

  UAPI: (Scripted) Disintegrate arch/hexagon/include/asm (2012-10-04 18:20:45 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/hexagon/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h|   4 +-
 arch/arm64/include/asm/stat.h |   4 +-
 arch/arm64/include/asm/unistd.h   |   8 +-
 arch/arm64/include/asm/unistd32.h |   4 -
 arch/c6x/Makefile |   2 +
 arch/c6x/include/asm/Kbuild   |   1 +
 arch/c6x/include/asm/signal.h |  17 -
 arch/c6x/include/asm/unistd.h |   4 -
 arch/hexagon/include/asm/Kbuild   |   3 -
 arch/hexagon/include/uapi/asm/Kbuild  |  12 +
 arch/hexagon/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/hexagon/include/{ => uapi}/asm/byteorder.h   |   0
 arch/hexagon/include/{ => uapi}/asm/kvm_para.h|   0
 arch/hexagon/include/{ => uapi}/asm/param.h   |   0
 arch/hexagon/include/{ => uapi}/asm/ptrace.h  |   0
 arch/hexagon/include/{ => uapi}/asm/registers.h   |   0
 arch/hexagon/include/{ => uapi}/asm/setup.h   |   0
 arch/hexagon/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/hexagon/include/{ => uapi}/asm/signal.h  |   0
 arch/hexagon/include/{ => uapi}/asm/swab.h|   0
 arch/hexagon/include/{ => uapi}/asm/unistd.h  |   5 -
 arch/hexagon/include/{ => uapi}/asm/user.h|   0
 arch/openrisc/include/asm/unistd.h|   5 -
 arch/score/include/asm/unistd.h   |   5 -
 arch/tile/include/asm/unistd.h|   5 -
 arch/unicore32/include/asm/unistd.h   |   4 -
 include/asm-generic/Kbuild|  35 -
 include/asm-generic/bitsperlong.h |  13 +-
 include/asm-generic/int-l64.h |  26 +-
 include/asm-generic/int-ll64.h|  31 +-
 include/asm-generic/ioctl.h   |  95 +--
 include/asm-generic/kvm_para.h|   5 +-
 include/asm-generic/param.h   |  17 +-
 include/asm-generic/resource.h|  66 +-
 include/asm-generic/siginfo.h | 297 +--
 include/asm-generic/signal.h  | 117 +--
 include/asm-generic/statfs.h  |  81 +-
 include/asm-generic/termios.h |  49 +-
 include/asm-generic/unistd.h  | 911 +-
 include/linux/Kbuild  |   9 +-
 include/uapi/asm-generic/Kbuild   |  35 +
 include/{ => uapi}/asm-generic/auxvec.h   |   0
 include/uapi/asm-generic/bitsperlong.h|  15 +
 include/{ => uapi}/asm-generic/errno-base.h   |   0
 include/{ => uapi}/asm-generic/errno.h|   0
 include/{ => uapi}/asm-generic/fcntl.h|   0
 include/uapi/asm-generic/int-l64.h|  34 +
 include/uapi/asm-generic/int-ll64.h   |  39 +
 include/uapi/asm-generic/ioctl.h  |  98 +++
 include/{ => uapi}/asm-generic/ioctls.h   |   0
 include/{ => uapi}/asm-generic/ipcbuf.h   |   0
 include/{ => uapi}/asm-generic/mman-common.h  |   0
 include/{ => uapi}/asm-generic/mman.h |   0
 include/{ => uapi}/asm-generic/msgbuf.h   |   0
 include/uapi/asm-generic/param.h  |  19 +
 include/{ => uapi}/asm-generic/poll.h |   0
 include/{ => uapi}/asm-generic/posix_types.h  |   0
 include/uapi/asm-generic/resource.h   |  68 ++
 include/{ => uapi}/asm-generic/sembuf.h   |   0
 include/{ => uapi}/asm-generic/setup.h   

[GIT PULL] Disintegrate UAPI for microblaze

2012-10-04 Thread David Howells
Can you merge the following branch into the microblaze tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git 
disintegrate-microblaze

for you to fetch changes up to 7ca55698c6fdfabad768cd10f1a8a73bf2c705b6:

  UAPI: (Scripted) Disintegrate arch/microblaze/include/asm (2012-10-04 
18:21:00 +0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/microblaze/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h |   4 +-
 arch/arm64/include/asm/stat.h  |   4 +-
 arch/arm64/include/asm/unistd.h|   8 +-
 arch/arm64/include/asm/unistd32.h  |   4 -
 arch/c6x/Makefile  |   2 +
 arch/c6x/include/asm/Kbuild|   1 +
 arch/c6x/include/asm/signal.h  |  17 -
 arch/c6x/include/asm/unistd.h  |   4 -
 arch/hexagon/include/asm/unistd.h  |   5 -
 arch/microblaze/include/asm/Kbuild |   3 -
 arch/microblaze/include/asm/elf.h  |  97 +--
 arch/microblaze/include/asm/ptrace.h   |  62 +-
 arch/microblaze/include/asm/setup.h|   6 +-
 arch/microblaze/include/asm/unistd.h   | 390 +
 arch/microblaze/include/uapi/asm/Kbuild|  32 +
 arch/microblaze/include/{ => uapi}/asm/auxvec.h|   0
 .../include/{ => uapi}/asm/bitsperlong.h   |   0
 arch/microblaze/include/{ => uapi}/asm/byteorder.h |   0
 arch/microblaze/include/uapi/asm/elf.h | 121 +++
 arch/microblaze/include/{ => uapi}/asm/errno.h |   0
 arch/microblaze/include/{ => uapi}/asm/fcntl.h |   0
 arch/microblaze/include/{ => uapi}/asm/ioctl.h |   0
 arch/microblaze/include/{ => uapi}/asm/ioctls.h|   0
 arch/microblaze/include/{ => uapi}/asm/ipcbuf.h|   0
 arch/microblaze/include/{ => uapi}/asm/kvm_para.h  |   0
 arch/microblaze/include/{ => uapi}/asm/mman.h  |   0
 arch/microblaze/include/{ => uapi}/asm/msgbuf.h|   0
 arch/microblaze/include/{ => uapi}/asm/param.h |   0
 arch/microblaze/include/{ => uapi}/asm/poll.h  |   0
 .../include/{ => uapi}/asm/posix_types.h   |   0
 arch/microblaze/include/uapi/asm/ptrace.h  |  72 ++
 arch/microblaze/include/{ => uapi}/asm/resource.h  |   0
 arch/microblaze/include/{ => uapi}/asm/sembuf.h|   0
 arch/microblaze/include/uapi/asm/setup.h   |  19 +
 arch/microblaze/include/{ => uapi}/asm/shmbuf.h|   0
 .../microblaze/include/{ => uapi}/asm/sigcontext.h |   0
 arch/microblaze/include/{ => uapi}/asm/siginfo.h   |   0
 arch/microblaze/include/{ => uapi}/asm/signal.h|   0
 arch/microblaze/include/{ => uapi}/asm/socket.h|   0
 arch/microblaze/include/{ => uapi}/asm/sockios.h   |   0
 arch/microblaze/include/{ => uapi}/asm/stat.h  |   0
 arch/microblaze/include/{ => uapi}/asm/statfs.h|   0
 arch/microblaze/include/{ => uapi}/asm/swab.h  |   0
 arch/microblaze/include/{ => uapi}/asm/termbits.h  |   0
 arch/microblaze/include/{ => uapi}/asm/termios.h   |   0
 arch/microblaze/include/{ => uapi}/asm/types.h |   0
 arch/microblaze/include/uapi/asm/unistd.h  | 400 +
 arch/openrisc/include/asm/unistd.h |   5 -
 arch/score/include/asm/unistd.h|   5 -
 arch/tile/include/asm/unistd.h |   5 -
 arch/unicore32/include/asm/unistd.h|   4 -
 include/asm-generic/Kbuild |  35 -
 include/asm-generic/bitsperlong.h  |  13 +-
 include/asm-generic/int-l64.h  |  26 +-
 include/asm-generic/int-ll64.h |  31 +-
 include/asm-generic/ioctl.h|  95 +--
 include/asm-generic/kvm_para.h |   5 +-
 include/asm-generic/param.h|  17 +-
 include/asm-generic/resource.h 

[GIT PULL] Disintegrate UAPI for parisc

2012-10-04 Thread David Howells
Can you merge the following branch into the parisc tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-parisc

for you to fetch changes up to 36141239e2e08d847531d4d81d5e82c10835f2d5:

  UAPI: (Scripted) Disintegrate arch/parisc/include/asm (2012-10-04 18:21:12 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/parisc/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h   |   4 +-
 arch/arm64/include/asm/stat.h|   4 +-
 arch/arm64/include/asm/unistd.h  |   8 +-
 arch/arm64/include/asm/unistd32.h|   4 -
 arch/c6x/Makefile|   2 +
 arch/c6x/include/asm/Kbuild  |   1 +
 arch/c6x/include/asm/signal.h|  17 -
 arch/c6x/include/asm/unistd.h|   4 -
 arch/hexagon/include/asm/unistd.h|   5 -
 arch/openrisc/include/asm/unistd.h   |   5 -
 arch/parisc/include/asm/Kbuild   |   2 -
 arch/parisc/include/asm/pdc.h| 423 +--
 arch/parisc/include/asm/ptrace.h |  46 +-
 arch/parisc/include/asm/signal.h | 113 +--
 arch/parisc/include/asm/termios.h|  41 +-
 arch/parisc/include/asm/unistd.h | 835 +
 arch/parisc/include/uapi/asm/Kbuild  |  32 +
 arch/parisc/include/{ => uapi}/asm/auxvec.h  |   0
 arch/parisc/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/parisc/include/{ => uapi}/asm/byteorder.h   |   0
 arch/parisc/include/{ => uapi}/asm/errno.h   |   0
 arch/parisc/include/{ => uapi}/asm/fcntl.h   |   0
 arch/parisc/include/{ => uapi}/asm/ioctl.h   |   0
 arch/parisc/include/{ => uapi}/asm/ioctls.h  |   0
 arch/parisc/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/parisc/include/{ => uapi}/asm/kvm_para.h|   0
 arch/parisc/include/{ => uapi}/asm/mman.h|   0
 arch/parisc/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/parisc/include/{ => uapi}/asm/param.h   |   0
 arch/parisc/include/uapi/asm/pdc.h   | 427 +++
 arch/parisc/include/{ => uapi}/asm/poll.h|   0
 arch/parisc/include/{ => uapi}/asm/posix_types.h |   0
 arch/parisc/include/uapi/asm/ptrace.h|  47 ++
 arch/parisc/include/{ => uapi}/asm/resource.h|   0
 arch/parisc/include/{ => uapi}/asm/sembuf.h  |   0
 arch/parisc/include/{ => uapi}/asm/setup.h   |   0
 arch/parisc/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/parisc/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/parisc/include/{ => uapi}/asm/siginfo.h |   0
 arch/parisc/include/uapi/asm/signal.h| 118 +++
 arch/parisc/include/{ => uapi}/asm/socket.h  |   0
 arch/parisc/include/{ => uapi}/asm/sockios.h |   0
 arch/parisc/include/{ => uapi}/asm/stat.h|   0
 arch/parisc/include/{ => uapi}/asm/statfs.h  |   0
 arch/parisc/include/{ => uapi}/asm/swab.h|   0
 arch/parisc/include/{ => uapi}/asm/termbits.h|   0
 arch/parisc/include/uapi/asm/termios.h   |  43 ++
 arch/parisc/include/{ => uapi}/asm/types.h   |   0
 arch/parisc/include/uapi/asm/unistd.h| 837 +
 arch/score/include/asm/unistd.h  |   5 -
 arch/tile/include/asm/unistd.h   |   5 -
 arch/unicore32/include/asm/unistd.h  |   4 -
 include/asm-generic/Kbuild   |  35 -
 include/asm-generic/bitsperlong.h|  13 +-
 include/asm-generic/int-l64.h|  26 +-
 include/asm-generic/int-ll64.h   |  31 +-
 include/asm-generic/ioctl.h  |  95 +--
 include/asm-generic/kvm_para.h   |   5 +-
 include/asm-generic/param.h  |  17 +-
 include/asm-generic/resource.h   |  66 +-
 include/asm-generi

[GIT PULL] Disintegrate UAPI for h8300

2012-10-04 Thread David Howells
Can you merge the following branch into the h8300 tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-h8300

for you to fetch changes up to fba22e60df0124dfb2b5b434dfb70876a6dbec8a:

  UAPI: (Scripted) Disintegrate arch/h8300/include/asm (2012-10-04 18:20:42 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/h8300/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h  |   4 +-
 arch/arm64/include/asm/stat.h   |   4 +-
 arch/arm64/include/asm/unistd.h |   8 +-
 arch/arm64/include/asm/unistd32.h   |   4 -
 arch/c6x/Makefile   |   2 +
 arch/c6x/include/asm/Kbuild |   1 +
 arch/c6x/include/asm/signal.h   |  17 -
 arch/c6x/include/asm/unistd.h   |   4 -
 arch/h8300/include/asm/Kbuild   |   1 -
 arch/h8300/include/asm/param.h  |  15 +-
 arch/h8300/include/asm/ptrace.h |  40 +-
 arch/h8300/include/asm/signal.h | 121 +---
 arch/h8300/include/asm/termios.h|  44 +-
 arch/h8300/include/asm/types.h  |   5 +-
 arch/h8300/include/asm/unistd.h | 328 +
 arch/h8300/include/uapi/asm/Kbuild  |  31 +
 arch/h8300/include/{ => uapi}/asm/auxvec.h  |   0
 arch/h8300/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/h8300/include/{ => uapi}/asm/byteorder.h   |   0
 arch/h8300/include/{ => uapi}/asm/errno.h   |   0
 arch/h8300/include/{ => uapi}/asm/fcntl.h   |   0
 arch/h8300/include/{ => uapi}/asm/ioctl.h   |   0
 arch/h8300/include/{ => uapi}/asm/ioctls.h  |   0
 arch/h8300/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/h8300/include/{ => uapi}/asm/kvm_para.h|   0
 arch/h8300/include/{ => uapi}/asm/mman.h|   0
 arch/h8300/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/h8300/include/uapi/asm/param.h |  16 +
 arch/h8300/include/{ => uapi}/asm/poll.h|   0
 arch/h8300/include/{ => uapi}/asm/posix_types.h |   0
 arch/h8300/include/uapi/asm/ptrace.h|  44 ++
 arch/h8300/include/{ => uapi}/asm/resource.h|   0
 arch/h8300/include/{ => uapi}/asm/sembuf.h  |   0
 arch/h8300/include/{ => uapi}/asm/setup.h   |   0
 arch/h8300/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/h8300/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/h8300/include/{ => uapi}/asm/siginfo.h |   0
 arch/h8300/include/uapi/asm/signal.h| 121 
 arch/h8300/include/{ => uapi}/asm/socket.h  |   0
 arch/h8300/include/{ => uapi}/asm/sockios.h |   0
 arch/h8300/include/{ => uapi}/asm/stat.h|   0
 arch/h8300/include/{ => uapi}/asm/statfs.h  |   0
 arch/h8300/include/{ => uapi}/asm/swab.h|   0
 arch/h8300/include/{ => uapi}/asm/termbits.h|   0
 arch/h8300/include/uapi/asm/termios.h   |  44 ++
 arch/h8300/include/uapi/asm/types.h |   1 +
 arch/h8300/include/uapi/asm/unistd.h| 330 +
 arch/hexagon/include/asm/unistd.h   |   5 -
 arch/openrisc/include/asm/unistd.h  |   5 -
 arch/score/include/asm/unistd.h |   5 -
 arch/tile/include/asm/unistd.h  |   5 -
 arch/unicore32/include/asm/unistd.h |   4 -
 include/asm-generic/Kbuild  |  35 -
 include/asm-generic/bitsperlong.h   |  13 +-
 include/asm-generic/int-l64.h   |  26 +-
 include/asm-generic/int-ll64.h  |  31 +-
 include/asm-generic/ioctl.h |  95 +--
 include/asm-generic/kvm_para.h  |   5 +-
 include/asm-generic/param.h |  17 +-
 include/asm-generic/resource.h  |  66 +-
 include/asm-generic/siginfo.h   | 297 +---
 include/asm-generic/signal.h| 11

[GIT PULL] Disintegrate UAPI for m32r

2012-10-04 Thread David Howells
Can you merge the following branch into the m32r tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-m32r

for you to fetch changes up to d82734fb090c049b7e8d20fd513b48a25184e476:

  UAPI: (Scripted) Disintegrate arch/m32r/include/asm (2012-10-04 18:20:52 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/m32r/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h |   4 +-
 arch/arm64/include/asm/stat.h  |   4 +-
 arch/arm64/include/asm/unistd.h|   8 +-
 arch/arm64/include/asm/unistd32.h  |   4 -
 arch/c6x/Makefile  |   2 +
 arch/c6x/include/asm/Kbuild|   1 +
 arch/c6x/include/asm/signal.h  |  17 -
 arch/c6x/include/asm/unistd.h  |   4 -
 arch/hexagon/include/asm/unistd.h  |   5 -
 arch/m32r/include/asm/Kbuild   |   1 -
 arch/m32r/include/asm/ptrace.h | 110 +--
 arch/m32r/include/asm/setup.h  |   9 +-
 arch/m32r/include/asm/signal.h | 123 +---
 arch/m32r/include/asm/termios.h|  42 +-
 arch/m32r/include/asm/types.h  |   5 +-
 arch/m32r/include/asm/unistd.h | 333 +
 arch/m32r/include/uapi/asm/Kbuild  |  30 +
 arch/m32r/include/{ => uapi}/asm/auxvec.h  |   0
 arch/m32r/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/m32r/include/{ => uapi}/asm/byteorder.h   |   0
 arch/m32r/include/{ => uapi}/asm/errno.h   |   0
 arch/m32r/include/{ => uapi}/asm/fcntl.h   |   0
 arch/m32r/include/{ => uapi}/asm/ioctl.h   |   0
 arch/m32r/include/{ => uapi}/asm/ioctls.h  |   0
 arch/m32r/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/m32r/include/{ => uapi}/asm/mman.h|   0
 arch/m32r/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/m32r/include/{ => uapi}/asm/param.h   |   0
 arch/m32r/include/{ => uapi}/asm/poll.h|   0
 arch/m32r/include/{ => uapi}/asm/posix_types.h |   0
 arch/m32r/include/uapi/asm/ptrace.h| 117 
 arch/m32r/include/{ => uapi}/asm/resource.h|   0
 arch/m32r/include/{ => uapi}/asm/sembuf.h  |   0
 arch/m32r/include/uapi/asm/setup.h |  11 +
 arch/m32r/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/m32r/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/m32r/include/{ => uapi}/asm/siginfo.h |   0
 arch/m32r/include/uapi/asm/signal.h| 123 
 arch/m32r/include/{ => uapi}/asm/socket.h  |   0
 arch/m32r/include/{ => uapi}/asm/sockios.h |   0
 arch/m32r/include/{ => uapi}/asm/stat.h|   0
 arch/m32r/include/{ => uapi}/asm/statfs.h  |   0
 arch/m32r/include/{ => uapi}/asm/swab.h|   0
 arch/m32r/include/{ => uapi}/asm/termbits.h|   0
 arch/m32r/include/uapi/asm/termios.h   |  43 ++
 arch/m32r/include/uapi/asm/types.h |   1 +
 arch/m32r/include/uapi/asm/unistd.h| 335 +
 arch/openrisc/include/asm/unistd.h |   5 -
 arch/score/include/asm/unistd.h|   5 -
 arch/tile/include/asm/unistd.h |   5 -
 arch/unicore32/include/asm/unistd.h|   4 -
 include/asm-generic/Kbuild |  35 -
 include/asm-generic/bitsperlong.h  |  13 +-
 include/asm-generic/int-l64.h  |  26 +-
 include/asm-generic/int-ll64.h |  31 +-
 include/asm-generic/ioctl.h|  95 +--
 include/asm-generic/kvm_para.h |   5 +-
 include/asm-generic/param.h|  17 +-
 include/asm-generic/resource.h |  66 +-
 include/asm-generic/siginfo.h  | 297 +---
 include/asm-generic/signal.h   | 117 +---
 include/asm-generic/statfs.h   |  81 +--
 include/asm-generic/termios.h  |  49 +-
 include/

[GIT PULL] Disintegrate UAPI for openrisc

2012-10-04 Thread David Howells
Can you merge the following branch into the openrisc tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-openrisc

for you to fetch changes up to 8c66ec929c6979b49006c1d56148609380612d34:

  UAPI: (Scripted) Disintegrate arch/openrisc/include/asm (2012-10-04 18:21:09 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/openrisc/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h|   4 +-
 arch/arm64/include/asm/stat.h |   4 +-
 arch/arm64/include/asm/unistd.h   |   8 +-
 arch/arm64/include/asm/unistd32.h |   4 -
 arch/c6x/Makefile |   2 +
 arch/c6x/include/asm/Kbuild   |   1 +
 arch/c6x/include/asm/signal.h |  17 -
 arch/c6x/include/asm/unistd.h |   4 -
 arch/hexagon/include/asm/unistd.h |   5 -
 arch/openrisc/include/asm/Kbuild  |   2 -
 arch/openrisc/include/asm/elf.h   |  51 +-
 arch/openrisc/include/asm/ptrace.h|  17 +-
 arch/openrisc/include/uapi/asm/Kbuild |   7 +
 arch/openrisc/include/{ => uapi}/asm/byteorder.h  |   0
 arch/openrisc/include/uapi/asm/elf.h  |  69 ++
 arch/openrisc/include/{ => uapi}/asm/kvm_para.h   |   0
 arch/openrisc/include/{ => uapi}/asm/param.h  |   0
 arch/openrisc/include/uapi/asm/ptrace.h   |  35 +
 arch/openrisc/include/{ => uapi}/asm/sigcontext.h |   0
 arch/openrisc/include/{ => uapi}/asm/unistd.h |   5 -
 arch/score/include/asm/unistd.h   |   5 -
 arch/tile/include/asm/unistd.h|   5 -
 arch/unicore32/include/asm/unistd.h   |   4 -
 include/asm-generic/Kbuild|  35 -
 include/asm-generic/bitsperlong.h |  13 +-
 include/asm-generic/int-l64.h |  26 +-
 include/asm-generic/int-ll64.h|  31 +-
 include/asm-generic/ioctl.h   |  95 +--
 include/asm-generic/kvm_para.h|   5 +-
 include/asm-generic/param.h   |  17 +-
 include/asm-generic/resource.h|  66 +-
 include/asm-generic/siginfo.h | 297 +--
 include/asm-generic/signal.h  | 117 +--
 include/asm-generic/statfs.h  |  81 +-
 include/asm-generic/termios.h |  49 +-
 include/asm-generic/unistd.h  | 911 +-
 include/linux/Kbuild  |   9 +-
 include/uapi/asm-generic/Kbuild   |  35 +
 include/{ => uapi}/asm-generic/auxvec.h   |   0
 include/uapi/asm-generic/bitsperlong.h|  15 +
 include/{ => uapi}/asm-generic/errno-base.h   |   0
 include/{ => uapi}/asm-generic/errno.h|   0
 include/{ => uapi}/asm-generic/fcntl.h|   0
 include/uapi/asm-generic/int-l64.h|  34 +
 include/uapi/asm-generic/int-ll64.h   |  39 +
 include/uapi/asm-generic/ioctl.h  |  98 +++
 include/{ => uapi}/asm-generic/ioctls.h   |   0
 include/{ => uapi}/asm-generic/ipcbuf.h   |   0
 include/{ => uapi}/asm-generic/mman-common.h  |   0
 include/{ => uapi}/asm-generic/mman.h |   0
 include/{ => uapi}/asm-generic/msgbuf.h   |   0
 include/uapi/asm-generic/param.h  |  19 +
 include/{ => uapi}/asm-generic/poll.h |   0
 include/{ => uapi}/asm-generic/posix_types.h  |   0
 include/uapi/asm-generic/resource.h   |  68 ++
 include/{ => uapi}/asm-generic/sembuf.h   |   0
 include/{ => uapi}/asm-generic/setup.h|   0
 include/{ => uapi}/asm-generic/shmbuf.h   |   0
 include/{ => uapi}/asm-generic/shmparam.h |   0
 include/uapi/asm-generic/siginfo.h   

[GIT PULL] Disintegrate UAPI for sparc

2012-10-04 Thread David Howells
Can you merge the following branch into the sparc tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-sparc

for you to fetch changes up to d4ae6a1549e06de45a1c8a4fb596a2874f5f83e5:

  UAPI: (Scripted) Disintegrate arch/sparc/include/asm (2012-10-04 18:21:32 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/sparc/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h  |   4 +-
 arch/arm64/include/asm/stat.h   |   4 +-
 arch/arm64/include/asm/unistd.h |   8 +-
 arch/arm64/include/asm/unistd32.h   |   4 -
 arch/c6x/Makefile   |   2 +
 arch/c6x/include/asm/Kbuild |   1 +
 arch/c6x/include/asm/signal.h   |  17 -
 arch/c6x/include/asm/unistd.h   |   4 -
 arch/hexagon/include/asm/unistd.h   |   5 -
 arch/openrisc/include/asm/unistd.h  |   5 -
 arch/score/include/asm/unistd.h |   5 -
 arch/sparc/include/asm/Kbuild   |  16 -
 arch/sparc/include/asm/fbio.h   | 260 +--
 arch/sparc/include/asm/ioctls.h | 129 +---
 arch/sparc/include/asm/mman.h   |  25 +-
 arch/sparc/include/asm/psr.h|  36 +-
 arch/sparc/include/asm/ptrace.h | 347 +
 arch/sparc/include/asm/setup.h  |  10 +-
 arch/sparc/include/asm/sigcontext.h |   4 +-
 arch/sparc/include/asm/siginfo.h|  24 +-
 arch/sparc/include/asm/signal.h | 185 +
 arch/sparc/include/asm/termbits.h   | 260 +--
 arch/sparc/include/asm/termios.h|  41 +-
 arch/sparc/include/asm/traps.h  | 111 +--
 arch/sparc/include/asm/unistd.h | 412 +--
 arch/sparc/include/uapi/asm/Kbuild  |  46 ++
 arch/sparc/include/{ => uapi}/asm/apc.h |   0
 arch/sparc/include/{ => uapi}/asm/asi.h |   0
 arch/sparc/include/{ => uapi}/asm/auxvec.h  |   0
 arch/sparc/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/sparc/include/{ => uapi}/asm/byteorder.h   |   0
 arch/sparc/include/{ => uapi}/asm/display7seg.h |   0
 arch/sparc/include/{ => uapi}/asm/envctrl.h |   0
 arch/sparc/include/{ => uapi}/asm/errno.h   |   0
 arch/sparc/include/uapi/asm/fbio.h  | 259 +++
 arch/sparc/include/{ => uapi}/asm/fcntl.h   |   0
 arch/sparc/include/{ => uapi}/asm/ioctl.h   |   0
 arch/sparc/include/uapi/asm/ioctls.h| 131 
 arch/sparc/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/sparc/include/{ => uapi}/asm/jsflash.h |   0
 arch/sparc/include/{ => uapi}/asm/kvm_para.h|   0
 arch/sparc/include/uapi/asm/mman.h  |  27 +
 arch/sparc/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/sparc/include/{ => uapi}/asm/openpromio.h  |   0
 arch/sparc/include/{ => uapi}/asm/param.h   |   0
 arch/sparc/include/{ => uapi}/asm/perfctr.h |   0
 arch/sparc/include/{ => uapi}/asm/poll.h|   0
 arch/sparc/include/{ => uapi}/asm/posix_types.h |   0
 arch/sparc/include/uapi/asm/psr.h   |  47 ++
 arch/sparc/include/{ => uapi}/asm/psrcompat.h   |   0
 arch/sparc/include/{ => uapi}/asm/pstate.h  |   0
 arch/sparc/include/uapi/asm/ptrace.h| 352 +
 arch/sparc/include/{ => uapi}/asm/resource.h|   0
 arch/sparc/include/{ => uapi}/asm/sembuf.h  |   0
 arch/sparc/include/uapi/asm/setup.h |  15 +
 arch/sparc/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/sparc/include/uapi/asm/siginfo.h   |  26 +
 arch/sparc/include/uapi/asm/signal.h| 185 +
 arch/sparc/include/{ => uapi}/asm/socket.h  |   0
 arch/sparc/include/{ => uapi}/asm/sockios.h |   0
 arch/sparc/include/{ => uapi}/asm/stat.h|   0
 arch/sparc/include/{ => uapi}/asm

[GIT PULL] Disintegrate UAPI for xtensa

2012-10-04 Thread David Howells
Can you merge the following branch into the xtensa tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-xtensa

for you to fetch changes up to 3d47e44c3c53cb397e38a459171348d9b501a66e:

  UAPI: (Scripted) Disintegrate arch/xtensa/include/asm (2012-10-04 18:21:48 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/xtensa/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h   |   4 +-
 arch/arm64/include/asm/stat.h|   4 +-
 arch/arm64/include/asm/unistd.h  |   8 +-
 arch/arm64/include/asm/unistd32.h|   4 -
 arch/c6x/Makefile|   2 +
 arch/c6x/include/asm/Kbuild  |   1 +
 arch/c6x/include/asm/signal.h|  17 -
 arch/c6x/include/asm/unistd.h|   4 -
 arch/hexagon/include/asm/unistd.h|   5 -
 arch/openrisc/include/asm/unistd.h   |   5 -
 arch/score/include/asm/unistd.h  |   5 -
 arch/tile/include/asm/unistd.h   |   5 -
 arch/unicore32/include/asm/unistd.h  |   4 -
 arch/xtensa/include/asm/Kbuild   |   1 -
 arch/xtensa/include/asm/param.h  |  20 +-
 arch/xtensa/include/asm/ptrace.h |  66 +-
 arch/xtensa/include/asm/signal.h | 134 +---
 arch/xtensa/include/asm/termios.h|  43 +-
 arch/xtensa/include/asm/types.h  |  15 +-
 arch/xtensa/include/asm/unistd.h | 698 +
 arch/xtensa/include/uapi/asm/Kbuild  |  31 +
 arch/xtensa/include/{ => uapi}/asm/auxvec.h  |   0
 arch/xtensa/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/xtensa/include/{ => uapi}/asm/byteorder.h   |   0
 arch/xtensa/include/{ => uapi}/asm/errno.h   |   0
 arch/xtensa/include/{ => uapi}/asm/fcntl.h   |   0
 arch/xtensa/include/{ => uapi}/asm/ioctl.h   |   0
 arch/xtensa/include/{ => uapi}/asm/ioctls.h  |   0
 arch/xtensa/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/xtensa/include/{ => uapi}/asm/kvm_para.h|   0
 arch/xtensa/include/{ => uapi}/asm/mman.h|   0
 arch/xtensa/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/xtensa/include/uapi/asm/param.h |  30 +
 arch/xtensa/include/{ => uapi}/asm/poll.h|   0
 arch/xtensa/include/{ => uapi}/asm/posix_types.h |   0
 arch/xtensa/include/uapi/asm/ptrace.h|  77 ++
 arch/xtensa/include/{ => uapi}/asm/resource.h|   0
 arch/xtensa/include/{ => uapi}/asm/sembuf.h  |   0
 arch/xtensa/include/{ => uapi}/asm/setup.h   |   0
 arch/xtensa/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/xtensa/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/xtensa/include/{ => uapi}/asm/siginfo.h |   0
 arch/xtensa/include/uapi/asm/signal.h| 148 
 arch/xtensa/include/{ => uapi}/asm/socket.h  |   0
 arch/xtensa/include/{ => uapi}/asm/sockios.h |   0
 arch/xtensa/include/{ => uapi}/asm/stat.h|   0
 arch/xtensa/include/{ => uapi}/asm/statfs.h  |   0
 arch/xtensa/include/{ => uapi}/asm/swab.h|   0
 arch/xtensa/include/{ => uapi}/asm/termbits.h|   0
 arch/xtensa/include/uapi/asm/termios.h   |  56 ++
 arch/xtensa/include/uapi/asm/types.h |  28 +
 arch/xtensa/include/uapi/asm/unistd.h| 709 ++
 include/asm-generic/Kbuild   |  35 -
 include/asm-generic/bitsperlong.h|  13 +-
 include/asm-generic/int-l64.h|  26 +-
 include/asm-generic/int-ll64.h   |  31 +-
 include/asm-generic/ioctl.h  |  95 +--
 include/asm-generic/kvm_para.h   |   5 +-
 include/asm-generic/param.h  |  17 +-
 include/asm-generic/resource.h   |  66 +-
 include/asm-generic/siginfo.h

[GIT PULL] Disintegrate UAPI for x86

2012-10-04 Thread David Howells
Can you merge the following branch into the x86 tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-x86

for you to fetch changes up to c64630429a9d37a248c6b06a738fad838f2f5e37:

  UAPI: (Scripted) Disintegrate arch/x86/include/asm (2012-10-04 18:21:45 +0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/x86/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h|   4 +-
 arch/arm64/include/asm/stat.h |   4 +-
 arch/arm64/include/asm/unistd.h   |   8 +-
 arch/arm64/include/asm/unistd32.h |   4 -
 arch/c6x/Makefile |   2 +
 arch/c6x/include/asm/Kbuild   |   1 +
 arch/c6x/include/asm/signal.h |  17 -
 arch/c6x/include/asm/unistd.h |   4 -
 arch/hexagon/include/asm/unistd.h |   5 -
 arch/openrisc/include/asm/unistd.h|   5 -
 arch/score/include/asm/unistd.h   |   5 -
 arch/tile/include/asm/unistd.h|   5 -
 arch/unicore32/include/asm/unistd.h   |   4 -
 arch/x86/include/asm/Kbuild   |  24 -
 arch/x86/include/asm/boot.h   |   9 +-
 arch/x86/include/asm/debugreg.h   |  79 +-
 arch/x86/include/asm/e820.h   |  74 +-
 arch/x86/include/asm/hw_breakpoint.h  |   5 +-
 arch/x86/include/asm/ist.h|  17 +-
 arch/x86/include/asm/kvm_para.h   |  99 +--
 arch/x86/include/asm/mce.h| 119 +--
 arch/x86/include/asm/msr.h|  11 +-
 arch/x86/include/asm/mtrr.h   |  93 +--
 arch/x86/include/asm/posix_types.h|  10 -
 arch/x86/include/asm/processor-flags.h|  97 +--
 arch/x86/include/asm/ptrace.h |  75 +-
 arch/x86/include/asm/setup.h  |   5 +-
 arch/x86/include/asm/sigcontext.h | 216 +
 arch/x86/include/asm/signal.h | 140 +---
 arch/x86/include/asm/unistd.h |  14 +-
 arch/x86/include/asm/vm86.h   | 128 +--
 arch/x86/include/asm/vsyscall.h   |  16 +-
 arch/x86/include/uapi/asm/Kbuild  |  55 ++
 arch/x86/include/{ => uapi}/asm/a.out.h   |   0
 arch/x86/include/{ => uapi}/asm/auxvec.h  |   0
 arch/x86/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/x86/include/uapi/asm/boot.h  |  10 +
 arch/x86/include/{ => uapi}/asm/bootparam.h   |   0
 arch/x86/include/{ => uapi}/asm/byteorder.h   |   0
 arch/x86/include/uapi/asm/debugreg.h  |  80 ++
 arch/x86/include/uapi/asm/e820.h  |  75 ++
 arch/x86/include/{ => uapi}/asm/errno.h   |   0
 arch/x86/include/{ => uapi}/asm/fcntl.h   |   0
 arch/x86/include/{ => uapi}/asm/hyperv.h  |   0
 arch/x86/include/{ => uapi}/asm/ioctl.h   |   0
 arch/x86/include/{ => uapi}/asm/ioctls.h  |   0
 arch/x86/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/x86/include/uapi/asm/ist.h   |  29 +
 arch/x86/include/{ => uapi}/asm/kvm.h |   0
 arch/x86/include/uapi/asm/kvm_para.h  | 100 +++
 arch/x86/include/{ => uapi}/asm/ldt.h |   0
 arch/x86/include/uapi/asm/mce.h   | 121 +++
 arch/x86/include/{ => uapi}/asm/mman.h|   0
 arch/x86/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/x86/include/{ => uapi}/asm/msr-index.h   |   0
 arch/x86/include/uapi/asm/msr.h   |  15 +
 arch/x86/include/uapi/asm/mtrr.h  | 117 +++
 arch/x86/include/{ => uapi}/asm/param.h   |   0
 arch/x86/include/{ => uapi}/asm/poll.h|   0
 arch/x86/include/uapi/asm/posix_types.h   |   9 +
 arch/x86/include/{ => uapi

[GIT PULL] Disintegrate UAPI for tile

2012-10-04 Thread David Howells
Can you merge the following branch into the tile tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-tile

for you to fetch changes up to 103dc5f6e03fde83c912e779656b1276c661c3a7:

  UAPI: (Scripted) Disintegrate arch/tile/include/asm (2012-10-04 18:21:37 
+0100)

--------
David Howells (7):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/tile/include/arch
  UAPI: (Scripted) Disintegrate arch/tile/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h |   4 +-
 arch/arm64/include/asm/stat.h  |   4 +-
 arch/arm64/include/asm/unistd.h|   8 +-
 arch/arm64/include/asm/unistd32.h  |   4 -
 arch/c6x/Makefile  |   2 +
 arch/c6x/include/asm/Kbuild|   1 +
 arch/c6x/include/asm/signal.h  |  17 -
 arch/c6x/include/asm/unistd.h  |   4 -
 arch/hexagon/include/asm/unistd.h  |   5 -
 arch/openrisc/include/asm/unistd.h |   5 -
 arch/score/include/asm/unistd.h|   5 -
 arch/tile/include/arch/Kbuild  |  17 -
 arch/tile/include/arch/spr_def.h   |  12 +-
 arch/tile/include/asm/Kbuild   |   3 -
 arch/tile/include/asm/hardwall.h   |  33 +-
 arch/tile/include/asm/ptrace.h |  72 +-
 arch/tile/include/asm/setup.h  |   7 +-
 arch/tile/include/asm/signal.h |  12 +-
 arch/tile/include/asm/unistd.h |  30 +-
 arch/tile/include/uapi/arch/Kbuild |  17 +
 arch/tile/include/{ => uapi}/arch/abi.h|   0
 arch/tile/include/{ => uapi}/arch/chip.h   |   0
 arch/tile/include/{ => uapi}/arch/chip_tile64.h|   0
 arch/tile/include/{ => uapi}/arch/chip_tilegx.h|   0
 arch/tile/include/{ => uapi}/arch/chip_tilepro.h   |   0
 arch/tile/include/{ => uapi}/arch/icache.h |   0
 arch/tile/include/{ => uapi}/arch/interrupts.h |   0
 arch/tile/include/{ => uapi}/arch/interrupts_32.h  |   0
 arch/tile/include/{ => uapi}/arch/interrupts_64.h  |   0
 arch/tile/include/{ => uapi}/arch/opcode.h |   0
 arch/tile/include/{ => uapi}/arch/opcode_tilegx.h  |   0
 arch/tile/include/{ => uapi}/arch/opcode_tilepro.h |   0
 arch/tile/include/{ => uapi}/arch/sim.h|   0
 arch/tile/include/{ => uapi}/arch/sim_def.h|   0
 arch/tile/include/uapi/arch/spr_def.h  |  26 +
 arch/tile/include/{ => uapi}/arch/spr_def_32.h |   6 +-
 arch/tile/include/{ => uapi}/arch/spr_def_64.h |   6 +-
 arch/tile/include/uapi/asm/Kbuild  |  15 +
 arch/tile/include/{ => uapi}/asm/auxvec.h  |   0
 arch/tile/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/tile/include/{ => uapi}/asm/byteorder.h   |   0
 arch/tile/include/{ => uapi}/asm/cachectl.h|   0
 arch/tile/include/uapi/asm/hardwall.h  |  51 ++
 arch/tile/include/{ => uapi}/asm/kvm_para.h|   0
 arch/tile/include/{ => uapi}/asm/mman.h|   0
 arch/tile/include/uapi/asm/ptrace.h|  88 ++
 arch/tile/include/uapi/asm/setup.h |  21 +
 arch/tile/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/tile/include/{ => uapi}/asm/siginfo.h |   0
 arch/tile/include/uapi/asm/signal.h|  27 +
 arch/tile/include/{ => uapi}/asm/stat.h|   0
 arch/tile/include/{ => uapi}/asm/swab.h|   0
 arch/tile/include/uapi/asm/unistd.h|  34 +
 arch/unicore32/include/asm/unistd.h|   4 -
 include/asm-generic/Kbuild |  35 -
 include/asm-generic/bitsperlong.h  |  13 +-
 include/asm-generic/int-l64.h  |  26 +-
 include/asm-generic/int-ll64.h |  31 +-
 include/asm-generic/ioctl.h 

[GIT PULL] Disintegrate UAPI for sh

2012-10-04 Thread David Howells
Can you merge the following branch into the sh tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-sh

for you to fetch changes up to c7d4fbbc3985e65500dc73c241284a19e968fc04:

  UAPI: (Scripted) Disintegrate arch/sh/include/asm (2012-10-04 18:21:28 +0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/sh/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h  |   4 +-
 arch/arm64/include/asm/stat.h   |   4 +-
 arch/arm64/include/asm/unistd.h |   8 +-
 arch/arm64/include/asm/unistd32.h   |   4 -
 arch/c6x/Makefile   |   2 +
 arch/c6x/include/asm/Kbuild |   1 +
 arch/c6x/include/asm/signal.h   |  17 -
 arch/c6x/include/asm/unistd.h   |   4 -
 arch/hexagon/include/asm/unistd.h   |   5 -
 arch/openrisc/include/asm/unistd.h  |   5 -
 arch/score/include/asm/unistd.h |   5 -
 arch/sh/include/asm/Kbuild  |  11 -
 arch/sh/include/asm/hw_breakpoint.h |   4 +-
 arch/sh/include/asm/posix_types.h   |   8 -
 arch/sh/include/asm/ptrace.h|  34 +-
 arch/sh/include/asm/ptrace_32.h |  75 +-
 arch/sh/include/asm/ptrace_64.h |  12 +-
 arch/sh/include/asm/setup.h |   5 +-
 arch/sh/include/asm/types.h |   5 +-
 arch/sh/include/asm/unistd.h|   9 +-
 arch/sh/include/uapi/asm/Kbuild |  22 +
 arch/sh/include/{ => uapi}/asm/auxvec.h |   0
 arch/sh/include/{ => uapi}/asm/byteorder.h  |   0
 arch/sh/include/{ => uapi}/asm/cachectl.h   |   0
 arch/sh/include/{ => uapi}/asm/cpu-features.h   |   0
 arch/sh/include/{ => uapi}/asm/ioctls.h |   0
 arch/sh/include/uapi/asm/posix_types.h  |   7 +
 arch/sh/include/{ => uapi}/asm/posix_types_32.h |   0
 arch/sh/include/{ => uapi}/asm/posix_types_64.h |   0
 arch/sh/include/uapi/asm/ptrace.h   |  34 +
 arch/sh/include/uapi/asm/ptrace_32.h|  77 ++
 arch/sh/include/uapi/asm/ptrace_64.h|  14 +
 arch/sh/include/uapi/asm/setup.h|   1 +
 arch/sh/include/{ => uapi}/asm/sigcontext.h |   0
 arch/sh/include/{ => uapi}/asm/signal.h |   0
 arch/sh/include/{ => uapi}/asm/sockios.h|   0
 arch/sh/include/{ => uapi}/asm/stat.h   |   0
 arch/sh/include/{ => uapi}/asm/swab.h   |   0
 arch/sh/include/uapi/asm/types.h|   1 +
 arch/sh/include/uapi/asm/unistd.h   |   7 +
 arch/sh/include/{ => uapi}/asm/unistd_32.h  |   0
 arch/sh/include/{ => uapi}/asm/unistd_64.h  |   0
 arch/tile/include/asm/unistd.h  |   5 -
 arch/unicore32/include/asm/unistd.h |   4 -
 include/asm-generic/Kbuild  |  35 -
 include/asm-generic/bitsperlong.h   |  13 +-
 include/asm-generic/int-l64.h   |  26 +-
 include/asm-generic/int-ll64.h  |  31 +-
 include/asm-generic/ioctl.h |  95 +--
 include/asm-generic/kvm_para.h  |   5 +-
 include/asm-generic/param.h |  17 +-
 include/asm-generic/resource.h  |  66 +-
 include/asm-generic/siginfo.h   | 297 +---
 include/asm-generic/signal.h| 117 +--
 include/asm-generic/statfs.h|  81 +--
 include/asm-generic/termios.h   |  49 +-
 include/asm-generic/unistd.h| 911 +---
 include/linux/Kbuild|   9 +-
 include/uapi/asm-generic/Kbuild |  35 +
 include/{ => uapi}/asm-generic/auxvec.h |   0
 include/uapi/asm-generic/bitsperlong.h  |  15 +
 include/{ => uapi}/asm-generic/errno-base.h |   0
 include/{ => uapi}/asm

[GIT PULL] Disintegrate UAPI for powerpc

2012-10-04 Thread David Howells
Can you merge the following branch into the powerpc tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-powerpc

for you to fetch changes up to d4b1059feb6486ae0800e936b9dd5fd4e05b9d0c:

  UAPI: (Scripted) Disintegrate arch/powerpc/include/asm (2012-10-04 18:21:17 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/powerpc/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h|   4 +-
 arch/arm64/include/asm/stat.h |   4 +-
 arch/arm64/include/asm/unistd.h   |   8 +-
 arch/arm64/include/asm/unistd32.h |   4 -
 arch/c6x/Makefile |   2 +
 arch/c6x/include/asm/Kbuild   |   1 +
 arch/c6x/include/asm/signal.h |  17 -
 arch/c6x/include/asm/unistd.h |   4 -
 arch/hexagon/include/asm/unistd.h |   5 -
 arch/openrisc/include/asm/unistd.h|   5 -
 arch/powerpc/include/asm/Kbuild   |  35 -
 arch/powerpc/include/asm/bootx.h  | 123 +--
 arch/powerpc/include/asm/cputable.h   |  35 +-
 arch/powerpc/include/asm/elf.h| 311 +---
 arch/powerpc/include/asm/kvm_para.h   |  70 +-
 arch/powerpc/include/asm/mman.h   |  27 +-
 arch/powerpc/include/asm/nvram.h  |  55 +-
 arch/powerpc/include/asm/ptrace.h | 242 +-
 arch/powerpc/include/asm/signal.h | 143 +---
 arch/powerpc/include/asm/spu_info.h   |  29 +-
 arch/powerpc/include/asm/swab.h   |  15 +-
 arch/powerpc/include/asm/termios.h|  69 +-
 arch/powerpc/include/asm/types.h  |  30 +-
 arch/powerpc/include/asm/unistd.h | 374 +
 arch/powerpc/include/uapi/asm/Kbuild  |  41 +
 arch/powerpc/include/{ => uapi}/asm/auxvec.h  |   0
 arch/powerpc/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/powerpc/include/uapi/asm/bootx.h | 132 
 arch/powerpc/include/{ => uapi}/asm/byteorder.h   |   0
 arch/powerpc/include/uapi/asm/cputable.h  |  36 +
 arch/powerpc/include/uapi/asm/elf.h   | 307 
 arch/powerpc/include/{ => uapi}/asm/errno.h   |   0
 arch/powerpc/include/{ => uapi}/asm/fcntl.h   |   0
 arch/powerpc/include/{ => uapi}/asm/ioctl.h   |   0
 arch/powerpc/include/{ => uapi}/asm/ioctls.h  |   0
 arch/powerpc/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/powerpc/include/{ => uapi}/asm/kvm.h |   0
 arch/powerpc/include/uapi/asm/kvm_para.h  |  90 +++
 arch/powerpc/include/{ => uapi}/asm/linkage.h |   0
 arch/powerpc/include/uapi/asm/mman.h  |  31 +
 arch/powerpc/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/powerpc/include/uapi/asm/nvram.h |  62 ++
 arch/powerpc/include/{ => uapi}/asm/param.h   |   0
 arch/powerpc/include/{ => uapi}/asm/poll.h|   0
 arch/powerpc/include/{ => uapi}/asm/posix_types.h |   0
 arch/powerpc/include/{ => uapi}/asm/ps3fb.h   |   0
 arch/powerpc/include/uapi/asm/ptrace.h| 259 ++
 arch/powerpc/include/{ => uapi}/asm/resource.h|   0
 arch/powerpc/include/{ => uapi}/asm/seccomp.h |   0
 arch/powerpc/include/{ => uapi}/asm/sembuf.h  |   0
 arch/powerpc/include/{ => uapi}/asm/setup.h   |   0
 arch/powerpc/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/powerpc/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/powerpc/include/{ => uapi}/asm/siginfo.h |   0
 arch/powerpc/include/uapi/asm/signal.h| 145 
 arch/powerpc/include/{ => uapi}/asm/socket.h  |   0
 arch/powerpc/include/{ => uapi}/asm/sockios.h |   0
 arch/powerpc/include/uapi/asm/spu_info.h  |  53 ++
 arch/powerpc/include/{ => uapi}/asm/stat.h|   0
 arch/powerpc/include/{ => uapi}/asm/st

[GIT PULL] Disintegrate UAPI for mips

2012-10-04 Thread David Howells
Can you merge the following branch into the mips tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-mips

for you to fetch changes up to 49c611211de4006faefba4ea9a4219ed97f71707:

  UAPI: (Scripted) Disintegrate arch/mips/include/asm (2012-10-04 18:21:03 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/mips/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h |4 +-
 arch/arm64/include/asm/stat.h  |4 +-
 arch/arm64/include/asm/unistd.h|8 +-
 arch/arm64/include/asm/unistd32.h  |4 -
 arch/c6x/Makefile  |2 +
 arch/c6x/include/asm/Kbuild|1 +
 arch/c6x/include/asm/signal.h  |   17 -
 arch/c6x/include/asm/unistd.h  |4 -
 arch/hexagon/include/asm/unistd.h  |5 -
 arch/mips/include/asm/Kbuild   |5 -
 arch/mips/include/asm/errno.h  |  120 +--
 arch/mips/include/asm/ptrace.h |  107 +--
 arch/mips/include/asm/setup.h  |5 +-
 arch/mips/include/asm/sigcontext.h |   66 +-
 arch/mips/include/asm/siginfo.h|  104 +--
 arch/mips/include/asm/signal.h |  115 +--
 arch/mips/include/asm/socket.h |   83 +-
 arch/mips/include/asm/termios.h|   73 +-
 arch/mips/include/asm/types.h  |   16 +-
 arch/mips/include/asm/unistd.h | 1019 +--
 arch/mips/include/uapi/asm/Kbuild  |   34 +
 arch/mips/include/{ => uapi}/asm/auxvec.h  |0
 arch/mips/include/{ => uapi}/asm/bitsperlong.h |0
 arch/mips/include/{ => uapi}/asm/byteorder.h   |0
 arch/mips/include/{ => uapi}/asm/cachectl.h|0
 arch/mips/include/uapi/asm/errno.h |  129 +++
 arch/mips/include/{ => uapi}/asm/fcntl.h   |0
 arch/mips/include/{ => uapi}/asm/ioctl.h   |0
 arch/mips/include/{ => uapi}/asm/ioctls.h  |0
 arch/mips/include/{ => uapi}/asm/ipcbuf.h  |0
 arch/mips/include/{ => uapi}/asm/kvm_para.h|0
 arch/mips/include/{ => uapi}/asm/mman.h|0
 arch/mips/include/{ => uapi}/asm/msgbuf.h  |0
 arch/mips/include/{ => uapi}/asm/param.h   |0
 arch/mips/include/{ => uapi}/asm/poll.h|0
 arch/mips/include/{ => uapi}/asm/posix_types.h |0
 arch/mips/include/uapi/asm/ptrace.h|  116 +++
 arch/mips/include/{ => uapi}/asm/resource.h|0
 arch/mips/include/{ => uapi}/asm/sembuf.h  |0
 arch/mips/include/uapi/asm/setup.h |7 +
 arch/mips/include/{ => uapi}/asm/sgidefs.h |0
 arch/mips/include/{ => uapi}/asm/shmbuf.h  |0
 arch/mips/include/uapi/asm/sigcontext.h|   78 ++
 arch/mips/include/uapi/asm/siginfo.h   |  114 +++
 arch/mips/include/uapi/asm/signal.h|  123 +++
 arch/mips/include/uapi/asm/socket.h|   93 +++
 arch/mips/include/{ => uapi}/asm/sockios.h |0
 arch/mips/include/{ => uapi}/asm/stat.h|0
 arch/mips/include/{ => uapi}/asm/statfs.h  |0
 arch/mips/include/{ => uapi}/asm/swab.h|0
 arch/mips/include/{ => uapi}/asm/sysmips.h |0
 arch/mips/include/{ => uapi}/asm/termbits.h|0
 arch/mips/include/uapi/asm/termios.h   |   80 ++
 arch/mips/include/uapi/asm/types.h |   27 +
 arch/mips/include/uapi/asm/unistd.h| 1032 
 arch/openrisc/include/asm/unistd.h |5 -
 arch/score/include/asm/unistd.h|5 -
 arch/tile/include/asm/unistd.h |5 -
 arch/unicore32/include/asm/unistd.h|4 -
 include/asm-generic/Kbuild |   35 -
 include/asm-generic/bitsperlong.h  |   13 +-
 include/asm-generic/int-l64.h  

[GIT PULL] Disintegrate UAPI for unicore32

2012-10-04 Thread David Howells
Can you merge the following branch into the unicore32 tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git 
disintegrate-unicore32

for you to fetch changes up to 865a0cb9fdb8a38eea9aa5d8c9ebb9ce2c49d6ba:

  UAPI: (Scripted) Disintegrate arch/unicore32/include/asm (2012-10-04 18:21:39 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/unicore32/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h |   4 +-
 arch/arm64/include/asm/stat.h  |   4 +-
 arch/arm64/include/asm/unistd.h|   8 +-
 arch/arm64/include/asm/unistd32.h  |   4 -
 arch/c6x/Makefile  |   2 +
 arch/c6x/include/asm/Kbuild|   1 +
 arch/c6x/include/asm/signal.h  |  17 -
 arch/c6x/include/asm/unistd.h  |   4 -
 arch/hexagon/include/asm/unistd.h  |   5 -
 arch/openrisc/include/asm/unistd.h |   5 -
 arch/score/include/asm/unistd.h|   5 -
 arch/tile/include/asm/unistd.h |   5 -
 arch/unicore32/include/asm/Kbuild  |   1 -
 arch/unicore32/include/asm/ptrace.h|  76 +-
 arch/unicore32/include/uapi/asm/Kbuild |   5 +
 arch/unicore32/include/{ => uapi}/asm/byteorder.h  |   0
 arch/unicore32/include/{ => uapi}/asm/kvm_para.h   |   0
 arch/unicore32/include/uapi/asm/ptrace.h   |  90 ++
 arch/unicore32/include/{ => uapi}/asm/sigcontext.h |   0
 arch/unicore32/include/{ => uapi}/asm/unistd.h |   4 -
 include/asm-generic/Kbuild |  35 -
 include/asm-generic/bitsperlong.h  |  13 +-
 include/asm-generic/int-l64.h  |  26 +-
 include/asm-generic/int-ll64.h |  31 +-
 include/asm-generic/ioctl.h|  95 +--
 include/asm-generic/kvm_para.h |   5 +-
 include/asm-generic/param.h|  17 +-
 include/asm-generic/resource.h |  66 +-
 include/asm-generic/siginfo.h  | 297 +--
 include/asm-generic/signal.h   | 117 +--
 include/asm-generic/statfs.h   |  81 +-
 include/asm-generic/termios.h  |  49 +-
 include/asm-generic/unistd.h   | 911 +
 include/linux/Kbuild   |   9 +-
 include/uapi/asm-generic/Kbuild|  35 +
 include/{ => uapi}/asm-generic/auxvec.h|   0
 include/uapi/asm-generic/bitsperlong.h |  15 +
 include/{ => uapi}/asm-generic/errno-base.h|   0
 include/{ => uapi}/asm-generic/errno.h |   0
 include/{ => uapi}/asm-generic/fcntl.h |   0
 include/uapi/asm-generic/int-l64.h |  34 +
 include/uapi/asm-generic/int-ll64.h|  39 +
 include/uapi/asm-generic/ioctl.h   |  98 +++
 include/{ => uapi}/asm-generic/ioctls.h|   0
 include/{ => uapi}/asm-generic/ipcbuf.h|   0
 include/{ => uapi}/asm-generic/mman-common.h   |   0
 include/{ => uapi}/asm-generic/mman.h  |   0
 include/{ => uapi}/asm-generic/msgbuf.h|   0
 include/uapi/asm-generic/param.h   |  19 +
 include/{ => uapi}/asm-generic/poll.h  |   0
 include/{ => uapi}/asm-generic/posix_types.h   |   0
 include/uapi/asm-generic/resource.h|  68 ++
 include/{ => uapi}/asm-generic/sembuf.h|   0
 include/{ => uapi}/asm-generic/setup.h |   0
 include/{ => uapi}/asm-generic/shmbuf.h|   0
 include/{ => uapi}/asm-generic/shmparam.h  |   0
 include/uapi/asm-generic/siginfo.h | 298 +++
 include/{ => uapi}/asm-generic/signal-defs.h   |   0
 include/uapi/asm-generic/signal.h 

[GIT PULL] Disintegrate UAPI for alpha

2012-10-04 Thread David Howells
Can you merge the following branch into the alpha tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-alpha

for you to fetch changes up to d83954c803730c2eed1a099dbd2fcf053cdd4b07:

  UAPI: (Scripted) Disintegrate arch/alpha/include/asm (2012-10-04 18:20:19 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/alpha/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/alpha/include/asm/Kbuild   |  10 -
 arch/alpha/include/asm/a.out.h  |  89 +--
 arch/alpha/include/asm/compiler.h   | 115 +--
 arch/alpha/include/asm/console.h|  48 +-
 arch/alpha/include/asm/fpu.h| 124 +---
 arch/alpha/include/asm/pal.h|  50 +-
 arch/alpha/include/asm/param.h  |  20 +-
 arch/alpha/include/asm/ptrace.h |  68 +-
 arch/alpha/include/asm/signal.h | 135 +---
 arch/alpha/include/asm/socket.h |  78 +-
 arch/alpha/include/asm/termios.h|  68 +-
 arch/alpha/include/asm/types.h  |  13 +-
 arch/alpha/include/asm/unistd.h | 469 +---
 arch/alpha/include/uapi/asm/Kbuild  |  40 ++
 arch/alpha/include/uapi/asm/a.out.h |  91 +++
 arch/alpha/include/{ => uapi}/asm/auxvec.h  |   0
 arch/alpha/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/alpha/include/{ => uapi}/asm/byteorder.h   |   0
 arch/alpha/include/uapi/asm/compiler.h  | 117 +++
 arch/alpha/include/uapi/asm/console.h   |  50 ++
 arch/alpha/include/{ => uapi}/asm/errno.h   |   0
 arch/alpha/include/{ => uapi}/asm/fcntl.h   |   0
 arch/alpha/include/uapi/asm/fpu.h   | 123 
 arch/alpha/include/{ => uapi}/asm/gentrap.h |   0
 arch/alpha/include/{ => uapi}/asm/ioctl.h   |   0
 arch/alpha/include/{ => uapi}/asm/ioctls.h  |   0
 arch/alpha/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/alpha/include/{ => uapi}/asm/kvm_para.h|   0
 arch/alpha/include/{ => uapi}/asm/mman.h|   0
 arch/alpha/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/alpha/include/uapi/asm/pal.h   |  52 ++
 arch/alpha/include/uapi/asm/param.h |  21 +
 arch/alpha/include/{ => uapi}/asm/poll.h|   0
 arch/alpha/include/{ => uapi}/asm/posix_types.h |   0
 arch/alpha/include/uapi/asm/ptrace.h|  70 ++
 arch/alpha/include/{ => uapi}/asm/reg.h |   0
 arch/alpha/include/{ => uapi}/asm/regdef.h  |   0
 arch/alpha/include/{ => uapi}/asm/resource.h|   0
 arch/alpha/include/{ => uapi}/asm/sembuf.h  |   0
 arch/alpha/include/{ => uapi}/asm/setup.h   |   0
 arch/alpha/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/alpha/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/alpha/include/{ => uapi}/asm/siginfo.h |   0
 arch/alpha/include/uapi/asm/signal.h| 135 
 arch/alpha/include/uapi/asm/socket.h|  80 +++
 arch/alpha/include/{ => uapi}/asm/sockios.h |   0
 arch/alpha/include/{ => uapi}/asm/stat.h|   0
 arch/alpha/include/{ => uapi}/asm/statfs.h  |   0
 arch/alpha/include/{ => uapi}/asm/swab.h|   0
 arch/alpha/include/{ => uapi}/asm/sysinfo.h |   0
 arch/alpha/include/{ => uapi}/asm/termbits.h|   0
 arch/alpha/include/uapi/asm/termios.h   |  70 ++
 arch/alpha/include/uapi/asm/types.h |  16 +
 arch/alpha/include/uapi/asm/unistd.h| 471 
 arch/arm64/include/asm/hwcap.h  |   4 +-
 arch/arm64/include/asm/stat.h   |   4 +-
 arch/arm64/include/asm/unistd.h |   8 +-
 arch/arm64/include/asm/unistd32.h   |   4 -
 arch/c6x/Makefile   |   2 +
 arch/c6x/include/asm/Kbuild |   1 +
 arch/c6x/include/asm/signal.h   |  17 -
 arch/c6x/include/asm/unistd.h   

[GIT PULL] Disintegrate UAPI for c6x

2012-10-04 Thread David Howells
Can you merge the following branch into the c6x tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-c6x

for you to fetch changes up to aba4895a9a323c89d70cd219356414cf93371348:

  UAPI: (Scripted) Disintegrate arch/c6x/include/asm (2012-10-04 18:20:30 +0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/c6x/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h   |   4 +-
 arch/arm64/include/asm/stat.h|   4 +-
 arch/arm64/include/asm/unistd.h  |   8 +-
 arch/arm64/include/asm/unistd32.h|   4 -
 arch/c6x/Makefile|   2 +
 arch/c6x/include/asm/Kbuild  |   2 +-
 arch/c6x/include/asm/ptrace.h| 146 +
 arch/c6x/include/asm/signal.h|  17 -
 arch/c6x/include/uapi/asm/Kbuild |   7 +
 arch/c6x/include/{ => uapi}/asm/byteorder.h  |   0
 arch/c6x/include/{ => uapi}/asm/kvm_para.h   |   0
 arch/c6x/include/uapi/asm/ptrace.h   | 163 +
 arch/c6x/include/{ => uapi}/asm/setup.h  |   0
 arch/c6x/include/{ => uapi}/asm/sigcontext.h |   0
 arch/c6x/include/{ => uapi}/asm/swab.h   |   0
 arch/c6x/include/{ => uapi}/asm/unistd.h |   4 -
 arch/hexagon/include/asm/unistd.h|   5 -
 arch/openrisc/include/asm/unistd.h   |   5 -
 arch/score/include/asm/unistd.h  |   5 -
 arch/tile/include/asm/unistd.h   |   5 -
 arch/unicore32/include/asm/unistd.h  |   4 -
 include/asm-generic/Kbuild   |  35 -
 include/asm-generic/bitsperlong.h|  13 +-
 include/asm-generic/int-l64.h|  26 +-
 include/asm-generic/int-ll64.h   |  31 +-
 include/asm-generic/ioctl.h  |  95 +--
 include/asm-generic/kvm_para.h   |   5 +-
 include/asm-generic/param.h  |  17 +-
 include/asm-generic/resource.h   |  66 +-
 include/asm-generic/siginfo.h| 297 +
 include/asm-generic/signal.h | 117 +---
 include/asm-generic/statfs.h |  81 +--
 include/asm-generic/termios.h|  49 +-
 include/asm-generic/unistd.h | 911 +--
 include/linux/Kbuild |   9 +-
 include/uapi/asm-generic/Kbuild  |  35 +
 include/{ => uapi}/asm-generic/auxvec.h  |   0
 include/uapi/asm-generic/bitsperlong.h   |  15 +
 include/{ => uapi}/asm-generic/errno-base.h  |   0
 include/{ => uapi}/asm-generic/errno.h   |   0
 include/{ => uapi}/asm-generic/fcntl.h   |   0
 include/uapi/asm-generic/int-l64.h   |  34 +
 include/uapi/asm-generic/int-ll64.h  |  39 ++
 include/uapi/asm-generic/ioctl.h |  98 +++
 include/{ => uapi}/asm-generic/ioctls.h  |   0
 include/{ => uapi}/asm-generic/ipcbuf.h  |   0
 include/{ => uapi}/asm-generic/mman-common.h |   0
 include/{ => uapi}/asm-generic/mman.h|   0
 include/{ => uapi}/asm-generic/msgbuf.h  |   0
 include/uapi/asm-generic/param.h |  19 +
 include/{ => uapi}/asm-generic/poll.h|   0
 include/{ => uapi}/asm-generic/posix_types.h |   0
 include/uapi/asm-generic/resource.h  |  68 ++
 include/{ => uapi}/asm-generic/sembuf.h  |   0
 include/{ => uapi}/asm-generic/setup.h   |   0
 include/{ => uapi}/asm-generic/shmbuf.h  |   0
 include/{ => uapi}/asm-generic/shmparam.h|   0
 include/uapi/asm-generic/siginfo.h   | 298 +
 include/{ => uapi}/asm-generic/signal-defs.h |   0
 include/uapi/asm-generic/signal.h| 123 
 include/{ => uapi}/asm-generic/socket.h  |   0
 include/{ => uapi}/asm-generic/sockios.h |   0
 include/{ => uapi}/asm-generic/stat.h|   0
 include/uapi/asm-generic/statfs.h|  83 +++
 include/{ => uapi}/asm-generic/swab.h|   0
 incl

[GIT PULL] Disintegrate UAPI for arm

2012-10-04 Thread David Howells
Can you merge the following branch into the arm tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-arm

for you to fetch changes up to 4d192d7a0633e8eb4952996dc12af3832968e43a:

  UAPI: (Scripted) Disintegrate arch/arm/include/asm (2012-10-04 18:20:22 +0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/arm/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm/include/asm/Kbuild   |   2 -
 arch/arm/include/asm/hwcap.h  |  27 +-
 arch/arm/include/asm/param.h  |  17 +-
 arch/arm/include/asm/ptrace.h | 126 +---
 arch/arm/include/asm/setup.h  | 172 +
 arch/arm/include/asm/signal.h | 127 +---
 arch/arm/include/asm/swab.h   |  37 +-
 arch/arm/include/asm/termios.h|  44 +-
 arch/arm/include/asm/types.h  |   6 +-
 arch/arm/include/asm/unistd.h | 433 +---
 arch/arm/include/uapi/asm/Kbuild  |  26 +
 arch/arm/include/{ => uapi}/asm/a.out.h   |   0
 arch/arm/include/{ => uapi}/asm/byteorder.h   |   0
 arch/arm/include/{ => uapi}/asm/fcntl.h   |   0
 arch/arm/include/uapi/asm/hwcap.h |  29 +
 arch/arm/include/{ => uapi}/asm/ioctls.h  |   0
 arch/arm/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/arm/include/{ => uapi}/asm/kvm_para.h|   0
 arch/arm/include/{ => uapi}/asm/mman.h|   0
 arch/arm/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/arm/include/uapi/asm/param.h |  26 +
 arch/arm/include/{ => uapi}/asm/posix_types.h |   0
 arch/arm/include/uapi/asm/ptrace.h| 137 
 arch/arm/include/{ => uapi}/asm/sembuf.h  |   0
 arch/arm/include/uapi/asm/setup.h | 187 ++
 arch/arm/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/arm/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/arm/include/uapi/asm/signal.h| 127 
 arch/arm/include/{ => uapi}/asm/socket.h  |   0
 arch/arm/include/{ => uapi}/asm/sockios.h |   0
 arch/arm/include/{ => uapi}/asm/stat.h|   0
 arch/arm/include/{ => uapi}/asm/statfs.h  |   0
 arch/arm/include/uapi/asm/swab.h  |  53 ++
 arch/arm/include/{ => uapi}/asm/termbits.h|   0
 arch/arm/include/uapi/asm/termios.h   |  44 ++
 arch/arm/include/uapi/asm/types.h |   1 +
 arch/arm/include/uapi/asm/unistd.h| 445 +
 arch/arm64/include/asm/hwcap.h|   4 +-
 arch/arm64/include/asm/stat.h |   4 +-
 arch/arm64/include/asm/unistd.h   |   8 +-
 arch/arm64/include/asm/unistd32.h |   4 -
 arch/c6x/Makefile |   2 +
 arch/c6x/include/asm/Kbuild   |   1 +
 arch/c6x/include/asm/signal.h |  17 -
 arch/c6x/include/asm/unistd.h |   4 -
 arch/hexagon/include/asm/unistd.h |   5 -
 arch/openrisc/include/asm/unistd.h|   5 -
 arch/score/include/asm/unistd.h   |   5 -
 arch/tile/include/asm/unistd.h|   5 -
 arch/unicore32/include/asm/unistd.h   |   4 -
 include/asm-generic/Kbuild|  35 -
 include/asm-generic/bitsperlong.h |  13 +-
 include/asm-generic/int-l64.h |  26 +-
 include/asm-generic/int-ll64.h|  31 +-
 include/asm-generic/ioctl.h   |  95 +--
 include/asm-generic/kvm_para.h|   5 +-
 include/asm-generic/param.h   |  17 +-
 include/asm-generic/resource.h|  66 +-
 include/asm-generic/siginfo.h | 297 +
 include/asm-generic/signal.h  | 117 +---
 include/asm-generic/statfs.h  |  81 +--
 include/asm-generic/termios.h |  49 +-
 include/asm-generic/unistd.h  | 911 +-
 include/linux/Kbuild

[GIT PULL] Disintegrate UAPI for score

2012-10-04 Thread David Howells
Can you merge the following branch into the score tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-score

for you to fetch changes up to 4120c854c24a10e928db23d65395c4c6dac168b6:

  UAPI: (Scripted) Disintegrate arch/score/include/asm (2012-10-04 18:21:25 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/score/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h  |   4 +-
 arch/arm64/include/asm/stat.h   |   4 +-
 arch/arm64/include/asm/unistd.h |   8 +-
 arch/arm64/include/asm/unistd32.h   |   4 -
 arch/c6x/Makefile   |   2 +
 arch/c6x/include/asm/Kbuild |   1 +
 arch/c6x/include/asm/signal.h   |  17 -
 arch/c6x/include/asm/unistd.h   |   4 -
 arch/hexagon/include/asm/unistd.h   |   5 -
 arch/openrisc/include/asm/unistd.h  |   5 -
 arch/score/include/asm/Kbuild   |   1 -
 arch/score/include/asm/ptrace.h |  74 +-
 arch/score/include/asm/setup.h  |   7 +-
 arch/score/include/uapi/asm/Kbuild  |  31 +
 arch/score/include/{ => uapi}/asm/auxvec.h  |   0
 arch/score/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/score/include/{ => uapi}/asm/byteorder.h   |   0
 arch/score/include/{ => uapi}/asm/errno.h   |   0
 arch/score/include/{ => uapi}/asm/fcntl.h   |   0
 arch/score/include/{ => uapi}/asm/ioctl.h   |   0
 arch/score/include/{ => uapi}/asm/ioctls.h  |   0
 arch/score/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/score/include/{ => uapi}/asm/kvm_para.h|   0
 arch/score/include/{ => uapi}/asm/mman.h|   0
 arch/score/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/score/include/{ => uapi}/asm/param.h   |   0
 arch/score/include/{ => uapi}/asm/poll.h|   0
 arch/score/include/{ => uapi}/asm/posix_types.h |   0
 arch/score/include/uapi/asm/ptrace.h|  76 ++
 arch/score/include/{ => uapi}/asm/resource.h|   0
 arch/score/include/{ => uapi}/asm/sembuf.h  |   0
 arch/score/include/uapi/asm/setup.h |   9 +
 arch/score/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/score/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/score/include/{ => uapi}/asm/siginfo.h |   0
 arch/score/include/{ => uapi}/asm/signal.h  |   0
 arch/score/include/{ => uapi}/asm/socket.h  |   0
 arch/score/include/{ => uapi}/asm/sockios.h |   0
 arch/score/include/{ => uapi}/asm/stat.h|   0
 arch/score/include/{ => uapi}/asm/statfs.h  |   0
 arch/score/include/{ => uapi}/asm/swab.h|   0
 arch/score/include/{ => uapi}/asm/termbits.h|   0
 arch/score/include/{ => uapi}/asm/termios.h |   0
 arch/score/include/{ => uapi}/asm/types.h   |   0
 arch/score/include/{ => uapi}/asm/unistd.h  |   5 -
 arch/tile/include/asm/unistd.h  |   5 -
 arch/unicore32/include/asm/unistd.h |   4 -
 include/asm-generic/Kbuild  |  35 -
 include/asm-generic/bitsperlong.h   |  13 +-
 include/asm-generic/int-l64.h   |  26 +-
 include/asm-generic/int-ll64.h  |  31 +-
 include/asm-generic/ioctl.h |  95 +--
 include/asm-generic/kvm_para.h  |   5 +-
 include/asm-generic/param.h |  17 +-
 include/asm-generic/resource.h  |  66 +-
 include/asm-generic/siginfo.h   | 297 +---
 include/asm-generic/signal.h| 117 +--
 include/asm-generic/statfs.h|  81 +--
 include/asm-generic/termios.h   |  49 +-
 include/asm-generic/unistd.h| 911 +---
 include/linux/Kbuild|   9 +-
 include/uapi/asm-generic/Kbuild |  35 +
 i

[GIT PULL] Disintegrate UAPI for m68k

2012-10-04 Thread David Howells
Can you merge the following branch into the m68k tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-m68k

for you to fetch changes up to b039235da939b28c539b3e1b4566107a9bdbdef8:

  UAPI: (Scripted) Disintegrate arch/m68k/include/asm (2012-10-04 18:20:56 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/m68k/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h |   4 +-
 arch/arm64/include/asm/stat.h  |   4 +-
 arch/arm64/include/asm/unistd.h|   8 +-
 arch/arm64/include/asm/unistd32.h  |   4 -
 arch/c6x/Makefile  |   2 +
 arch/c6x/include/asm/Kbuild|   1 +
 arch/c6x/include/asm/signal.h  |  17 -
 arch/c6x/include/asm/unistd.h  |   4 -
 arch/hexagon/include/asm/unistd.h  |   5 -
 arch/m68k/include/asm/Kbuild   |   2 -
 arch/m68k/include/asm/ptrace.h |  72 +-
 arch/m68k/include/asm/setup.h  |  82 +--
 arch/m68k/include/asm/signal.h | 118 +---
 arch/m68k/include/asm/termios.h|  44 +-
 arch/m68k/include/asm/unistd.h | 354 +-
 arch/m68k/include/uapi/asm/Kbuild  |  23 +
 arch/m68k/include/{ => uapi}/asm/a.out.h   |   0
 arch/m68k/include/{ => uapi}/asm/auxvec.h  |   0
 arch/m68k/include/{ => uapi}/asm/byteorder.h   |   0
 arch/m68k/include/{ => uapi}/asm/cachectl.h|   0
 arch/m68k/include/{ => uapi}/asm/fcntl.h   |   0
 arch/m68k/include/{ => uapi}/asm/ioctls.h  |   0
 arch/m68k/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/m68k/include/{ => uapi}/asm/param.h   |   0
 arch/m68k/include/{ => uapi}/asm/poll.h|   0
 arch/m68k/include/{ => uapi}/asm/posix_types.h |   0
 arch/m68k/include/uapi/asm/ptrace.h|  79 +++
 arch/m68k/include/{ => uapi}/asm/sembuf.h  |   0
 arch/m68k/include/uapi/asm/setup.h | 103 +++
 arch/m68k/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/m68k/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/m68k/include/uapi/asm/signal.h| 118 
 arch/m68k/include/{ => uapi}/asm/socket.h  |   0
 arch/m68k/include/{ => uapi}/asm/sockios.h |   0
 arch/m68k/include/{ => uapi}/asm/stat.h|   0
 arch/m68k/include/{ => uapi}/asm/swab.h|   0
 arch/m68k/include/{ => uapi}/asm/termbits.h|   0
 arch/m68k/include/uapi/asm/termios.h   |  44 ++
 arch/m68k/include/uapi/asm/unistd.h| 356 ++
 arch/openrisc/include/asm/unistd.h |   5 -
 arch/score/include/asm/unistd.h|   5 -
 arch/tile/include/asm/unistd.h |   5 -
 arch/unicore32/include/asm/unistd.h|   4 -
 include/asm-generic/Kbuild |  35 -
 include/asm-generic/bitsperlong.h  |  13 +-
 include/asm-generic/int-l64.h  |  26 +-
 include/asm-generic/int-ll64.h |  31 +-
 include/asm-generic/ioctl.h|  95 +--
 include/asm-generic/kvm_para.h |   5 +-
 include/asm-generic/param.h|  17 +-
 include/asm-generic/resource.h |  66 +-
 include/asm-generic/siginfo.h  | 297 +---
 include/asm-generic/signal.h   | 117 +---
 include/asm-generic/statfs.h   |  81 +--
 include/asm-generic/termios.h  |  49 +-
 include/asm-generic/unistd.h   | 911 +
 include/linux/Kbuild   |   9 +-
 include/uapi/asm-generic/Kbuild|  35 +
 include/{ => uapi}/asm-generic/auxvec.h|   0
 include/uapi/asm-generic/bitsperlong.h |  15 +
 include/{ => uapi}/asm-generic/errno-base.h|   0
 include/{ => uapi}/asm-generic/errno.h |   0
 include/{ => uapi}/asm-generic/fcntl.h  

[GIT PULL] Disintegrate UAPI for blackfin

2012-10-04 Thread David Howells
Can you merge the following branch into the blackfin tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-blackfin

for you to fetch changes up to d65fee76eb053476a6eddd870d067469874c1ddf:

  UAPI: (Scripted) Disintegrate arch/blackfin/include/asm (2012-10-04 18:20:29 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/blackfin/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h |   4 +-
 arch/arm64/include/asm/stat.h  |   4 +-
 arch/arm64/include/asm/unistd.h|   8 +-
 arch/arm64/include/asm/unistd32.h  |   4 -
 arch/blackfin/include/asm/Kbuild   |   5 -
 arch/blackfin/include/asm/bfin_sport.h | 128 +--
 arch/blackfin/include/asm/fixed_code.h |  30 +-
 arch/blackfin/include/asm/ptrace.h | 161 +---
 arch/blackfin/include/asm/unistd.h | 430 +-
 arch/blackfin/include/uapi/asm/Kbuild  |  16 +
 arch/blackfin/include/uapi/asm/bfin_sport.h| 136 +++
 arch/blackfin/include/{ => uapi}/asm/byteorder.h   |   0
 arch/blackfin/include/{ => uapi}/asm/cachectl.h|   0
 arch/blackfin/include/{ => uapi}/asm/fcntl.h   |   0
 arch/blackfin/include/uapi/asm/fixed_code.h|  38 +
 arch/blackfin/include/{ => uapi}/asm/ioctls.h  |   0
 arch/blackfin/include/{ => uapi}/asm/kvm_para.h|   0
 arch/blackfin/include/{ => uapi}/asm/poll.h|   0
 arch/blackfin/include/{ => uapi}/asm/posix_types.h |   0
 arch/blackfin/include/uapi/asm/ptrace.h| 170 
 arch/blackfin/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/blackfin/include/{ => uapi}/asm/siginfo.h |   0
 arch/blackfin/include/{ => uapi}/asm/signal.h  |   0
 arch/blackfin/include/{ => uapi}/asm/stat.h|   0
 arch/blackfin/include/{ => uapi}/asm/swab.h|   0
 arch/blackfin/include/uapi/asm/unistd.h| 437 ++
 arch/c6x/Makefile  |   2 +
 arch/c6x/include/asm/Kbuild|   1 +
 arch/c6x/include/asm/signal.h  |  17 -
 arch/c6x/include/asm/unistd.h  |   4 -
 arch/hexagon/include/asm/unistd.h  |   5 -
 arch/openrisc/include/asm/unistd.h |   5 -
 arch/score/include/asm/unistd.h|   5 -
 arch/tile/include/asm/unistd.h |   5 -
 arch/unicore32/include/asm/unistd.h|   4 -
 include/asm-generic/Kbuild |  35 -
 include/asm-generic/bitsperlong.h  |  13 +-
 include/asm-generic/int-l64.h  |  26 +-
 include/asm-generic/int-ll64.h |  31 +-
 include/asm-generic/ioctl.h|  95 +--
 include/asm-generic/kvm_para.h |   5 +-
 include/asm-generic/param.h|  17 +-
 include/asm-generic/resource.h |  66 +-
 include/asm-generic/siginfo.h  | 297 +--
 include/asm-generic/signal.h   | 117 +--
 include/asm-generic/statfs.h   |  81 +-
 include/asm-generic/termios.h  |  49 +-
 include/asm-generic/unistd.h   | 911 +
 include/linux/Kbuild   |   9 +-
 include/uapi/asm-generic/Kbuild|  35 +
 include/{ => uapi}/asm-generic/auxvec.h|   0
 include/uapi/asm-generic/bitsperlong.h |  15 +
 include/{ => uapi}/asm-generic/errno-base.h|   0
 include/{ => uapi}/asm-generic/errno.h |   0
 include/{ => uapi}/asm-generic/fcntl.h |   0
 include/uapi/asm-generic/int-l64.h |  34 +
 include/uapi/asm-generic/int-ll64.h|  39 +
 include/uapi/asm-generic/ioctl.h   |  98 +++
 include/{ => uapi}/asm-gen

[GIT PULL] Disintegrate UAPI for cris

2012-10-04 Thread David Howells
Can you merge the following branch into the cris tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-cris

for you to fetch changes up to 4816d1b7a51526bc4722731d5516c295a9c72a1c:

  UAPI: (Scripted) Disintegrate arch/cris/include/asm (2012-10-04 18:20:35 
+0100)

--------
David Howells (8):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/cris/include/arch-v10/arch
  UAPI: (Scripted) Disintegrate arch/cris/include/arch-v32/arch
  UAPI: (Scripted) Disintegrate arch/cris/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h |   4 +-
 arch/arm64/include/asm/stat.h  |   4 +-
 arch/arm64/include/asm/unistd.h|   8 +-
 arch/arm64/include/asm/unistd32.h  |   4 -
 arch/c6x/Makefile  |   2 +
 arch/c6x/include/asm/Kbuild|   1 +
 arch/c6x/include/asm/signal.h  |  17 -
 arch/c6x/include/asm/unistd.h  |   4 -
 arch/cris/include/arch-v10/arch/Kbuild |   4 -
 arch/cris/include/arch-v32/arch/Kbuild |   2 -
 arch/cris/include/arch-v32/arch/cryptocop.h| 116 +--
 arch/cris/include/asm/Kbuild   |   6 -
 arch/cris/include/asm/ptrace.h |   5 +-
 arch/cris/include/asm/signal.h | 122 +--
 arch/cris/include/asm/swab.h   |   3 +-
 arch/cris/include/asm/termios.h|  43 +-
 arch/cris/include/asm/types.h  |   5 +-
 arch/cris/include/asm/unistd.h | 342 +---
 arch/cris/include/uapi/arch-v10/arch/Kbuild|   4 +
 .../include/{ => uapi}/arch-v10/arch/sv_addr.agh   |   0
 .../include/{ => uapi}/arch-v10/arch/sv_addr_ag.h  |   0
 .../cris/include/{ => uapi}/arch-v10/arch/svinto.h |   0
 arch/cris/include/{ => uapi}/arch-v10/arch/user.h  |   0
 arch/cris/include/uapi/arch-v32/arch/Kbuild|   2 +
 arch/cris/include/uapi/arch-v32/arch/cryptocop.h   | 122 +++
 arch/cris/include/{ => uapi}/arch-v32/arch/user.h  |   0
 arch/cris/include/uapi/asm/Kbuild  |  34 +
 arch/cris/include/{ => uapi}/asm/auxvec.h  |   0
 arch/cris/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/cris/include/{ => uapi}/asm/byteorder.h   |   0
 arch/cris/include/{ => uapi}/asm/errno.h   |   0
 arch/cris/include/{ => uapi}/asm/ethernet.h|   0
 arch/cris/include/{ => uapi}/asm/etraxgpio.h   |   0
 arch/cris/include/{ => uapi}/asm/fcntl.h   |   0
 arch/cris/include/{ => uapi}/asm/ioctl.h   |   0
 arch/cris/include/{ => uapi}/asm/ioctls.h  |   0
 arch/cris/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/cris/include/{ => uapi}/asm/mman.h|   0
 arch/cris/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/cris/include/{ => uapi}/asm/param.h   |   0
 arch/cris/include/{ => uapi}/asm/poll.h|   0
 arch/cris/include/{ => uapi}/asm/posix_types.h |   0
 arch/cris/include/uapi/asm/ptrace.h|   1 +
 arch/cris/include/{ => uapi}/asm/resource.h|   0
 arch/cris/include/{ => uapi}/asm/rs485.h   |   0
 arch/cris/include/{ => uapi}/asm/sembuf.h  |   0
 arch/cris/include/{ => uapi}/asm/setup.h   |   0
 arch/cris/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/cris/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/cris/include/{ => uapi}/asm/siginfo.h |   0
 arch/cris/include/uapi/asm/signal.h| 122 +++
 arch/cris/include/{ => uapi}/asm/socket.h  |   0
 arch/cris/include/{ => uapi}/asm/sockios.h |   0
 arch/cris/include/{ => uapi}/asm/stat.h|   0
 arch/cris/include/{ => uapi}/asm/statfs.h  |   0
 arch/cris/include/{ => uapi}/asm/sync_serial.h |   0
 arch/cris/include/{ => uapi}/asm/termbits.h|   0
 arch/cris/

[GIT PULL] Disintegrate UAPI for avr32

2012-10-04 Thread David Howells
Can you merge the following branch into the avr32 tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-avr32

for you to fetch changes up to b1118be90af0ea0a847d38416304d9596f9ea0f0:

  UAPI: (Scripted) Disintegrate arch/avr32/include/asm (2012-10-04 18:20:27 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/avr32/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h  |   4 +-
 arch/arm64/include/asm/stat.h   |   4 +-
 arch/arm64/include/asm/unistd.h |   8 +-
 arch/arm64/include/asm/unistd32.h   |   4 -
 arch/avr32/include/asm/Kbuild   |   3 -
 arch/avr32/include/asm/param.h  |  18 +-
 arch/avr32/include/asm/ptrace.h | 115 +--
 arch/avr32/include/asm/setup.h  |   5 +-
 arch/avr32/include/asm/signal.h | 121 +---
 arch/avr32/include/asm/termios.h|  41 +-
 arch/avr32/include/asm/types.h  |   6 +-
 arch/avr32/include/asm/unistd.h | 296 +---
 arch/avr32/include/uapi/asm/Kbuild  |  32 +
 arch/avr32/include/{ => uapi}/asm/auxvec.h  |   0
 arch/avr32/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/avr32/include/{ => uapi}/asm/byteorder.h   |   0
 arch/avr32/include/{ => uapi}/asm/cachectl.h|   0
 arch/avr32/include/{ => uapi}/asm/errno.h   |   0
 arch/avr32/include/{ => uapi}/asm/fcntl.h   |   0
 arch/avr32/include/{ => uapi}/asm/ioctl.h   |   0
 arch/avr32/include/{ => uapi}/asm/ioctls.h  |   0
 arch/avr32/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/avr32/include/{ => uapi}/asm/kvm_para.h|   0
 arch/avr32/include/{ => uapi}/asm/mman.h|   0
 arch/avr32/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/avr32/include/uapi/asm/param.h |  18 +
 arch/avr32/include/{ => uapi}/asm/poll.h|   0
 arch/avr32/include/{ => uapi}/asm/posix_types.h |   0
 arch/avr32/include/uapi/asm/ptrace.h| 126 
 arch/avr32/include/{ => uapi}/asm/resource.h|   0
 arch/avr32/include/{ => uapi}/asm/sembuf.h  |   0
 arch/avr32/include/uapi/asm/setup.h |  17 +
 arch/avr32/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/avr32/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/avr32/include/{ => uapi}/asm/siginfo.h |   0
 arch/avr32/include/uapi/asm/signal.h| 128 
 arch/avr32/include/{ => uapi}/asm/socket.h  |   0
 arch/avr32/include/{ => uapi}/asm/sockios.h |   0
 arch/avr32/include/{ => uapi}/asm/stat.h|   0
 arch/avr32/include/{ => uapi}/asm/statfs.h  |   0
 arch/avr32/include/{ => uapi}/asm/swab.h|   0
 arch/avr32/include/{ => uapi}/asm/termbits.h|   0
 arch/avr32/include/uapi/asm/termios.h   |  50 ++
 arch/avr32/include/uapi/asm/types.h |   8 +
 arch/avr32/include/uapi/asm/unistd.h| 305 
 arch/c6x/Makefile   |   2 +
 arch/c6x/include/asm/Kbuild |   1 +
 arch/c6x/include/asm/signal.h   |  17 -
 arch/c6x/include/asm/unistd.h   |   4 -
 arch/hexagon/include/asm/unistd.h   |   5 -
 arch/openrisc/include/asm/unistd.h  |   5 -
 arch/score/include/asm/unistd.h |   5 -
 arch/tile/include/asm/unistd.h  |   5 -
 arch/unicore32/include/asm/unistd.h |   4 -
 include/asm-generic/Kbuild  |  35 -
 include/asm-generic/bitsperlong.h   |  13 +-
 include/asm-generic/int-l64.h   |  26 +-
 include/asm-generic/int-ll64.h  |  31 +-
 include/asm-generic/ioctl.h |  95 +--
 include/asm-generic/kvm_para.h  |   5 +-
 include/asm-generic/param.h |  17 +-
 include/asm-generic/resource.h  |  66 +

[GIT PULL] Disintegrate UAPI for ia64

2012-10-04 Thread David Howells
Can you merge the following branch into the ia64 tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-ia64

for you to fetch changes up to f68301fee71510300140990c4e7a2769801fbd70:

  UAPI: (Scripted) Disintegrate arch/ia64/include/asm (2012-10-04 18:20:49 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/ia64/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h |   4 +-
 arch/arm64/include/asm/stat.h  |   4 +-
 arch/arm64/include/asm/unistd.h|   8 +-
 arch/arm64/include/asm/unistd32.h  |   4 -
 arch/c6x/Makefile  |   2 +
 arch/c6x/include/asm/Kbuild|   1 +
 arch/c6x/include/asm/signal.h  |  17 -
 arch/c6x/include/asm/unistd.h  |   4 -
 arch/hexagon/include/asm/unistd.h  |   5 -
 arch/ia64/include/asm/Kbuild   |  15 -
 arch/ia64/include/asm/gcc_intrin.h | 615 +-
 arch/ia64/include/asm/intrinsics.h | 120 +--
 arch/ia64/include/asm/kvm_para.h   |  10 +-
 arch/ia64/include/asm/mman.h   |  12 +-
 arch/ia64/include/asm/param.h  |  22 +-
 arch/ia64/include/asm/perfmon.h| 171 +---
 arch/ia64/include/asm/ptrace.h | 236 +-
 arch/ia64/include/asm/siginfo.h| 118 +--
 arch/ia64/include/asm/signal.h | 122 +--
 arch/ia64/include/asm/termios.h|  46 +-
 arch/ia64/include/asm/types.h  |  19 +-
 arch/ia64/include/asm/unistd.h | 324 +---
 arch/ia64/include/asm/ustack.h |  11 +-
 arch/ia64/include/uapi/asm/Kbuild  |  45 +
 arch/ia64/include/{ => uapi}/asm/auxvec.h  |   0
 arch/ia64/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/ia64/include/{ => uapi}/asm/break.h   |   0
 arch/ia64/include/{ => uapi}/asm/byteorder.h   |   0
 arch/ia64/include/{ => uapi}/asm/cmpxchg.h |   0
 arch/ia64/include/{ => uapi}/asm/errno.h   |   0
 arch/ia64/include/{ => uapi}/asm/fcntl.h   |   0
 arch/ia64/include/{ => uapi}/asm/fpu.h |   0
 arch/ia64/include/uapi/asm/gcc_intrin.h| 618 ++
 arch/ia64/include/{ => uapi}/asm/ia64regs.h|   0
 arch/ia64/include/{ => uapi}/asm/intel_intrin.h|   0
 arch/ia64/include/uapi/asm/intrinsics.h| 124 +++
 arch/ia64/include/{ => uapi}/asm/ioctl.h   |   0
 arch/ia64/include/{ => uapi}/asm/ioctls.h  |   0
 arch/ia64/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/ia64/include/{ => uapi}/asm/kvm.h |   0
 arch/ia64/include/uapi/asm/mman.h  |  16 +
 arch/ia64/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/ia64/include/uapi/asm/param.h |  29 +
 arch/ia64/include/uapi/asm/perfmon.h   | 177 
 .../include/{ => uapi}/asm/perfmon_default_smpl.h  |   0
 arch/ia64/include/{ => uapi}/asm/poll.h|   0
 arch/ia64/include/{ => uapi}/asm/posix_types.h |   0
 arch/ia64/include/uapi/asm/ptrace.h| 247 ++
 arch/ia64/include/{ => uapi}/asm/ptrace_offsets.h  |   0
 arch/ia64/include/{ => uapi}/asm/resource.h|   0
 arch/ia64/include/{ => uapi}/asm/rse.h |   0
 arch/ia64/include/{ => uapi}/asm/sembuf.h  |   0
 arch/ia64/include/{ => uapi}/asm/setup.h   |   0
 arch/ia64/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/ia64/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/ia64/include/uapi/asm/siginfo.h   | 121 +++
 arch/ia64/include/uapi/asm/signal.h| 127 +++
 arch/ia64/include/{ => uapi}/asm/socket.h  |   0
 arch/ia64/include/{ => uapi}/asm/sockios.h

[GIT PULL] Disintegrate UAPI for s390

2012-10-04 Thread David Howells
Can you merge the following branch into the s390 tree please.

This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.

Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.

The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-s390

for you to fetch changes up to e06141872cc97d8b8cafc1d02d325f7e0f752ce4:

  UAPI: (Scripted) Disintegrate arch/s390/include/asm (2012-10-04 18:21:21 
+0100)

--------
David Howells (6):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)
  UAPI: (Scripted) Disintegrate include/asm-generic
  UAPI: (Scripted) Disintegrate arch/s390/include/asm

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h |   4 +-
 arch/arm64/include/asm/stat.h  |   4 +-
 arch/arm64/include/asm/unistd.h|   8 +-
 arch/arm64/include/asm/unistd32.h  |   4 -
 arch/c6x/Makefile  |   2 +
 arch/c6x/include/asm/Kbuild|   1 +
 arch/c6x/include/asm/signal.h  |  17 -
 arch/c6x/include/asm/unistd.h  |   4 -
 arch/hexagon/include/asm/unistd.h  |   5 -
 arch/openrisc/include/asm/unistd.h |   5 -
 arch/s390/include/asm/Kbuild   |  15 -
 arch/s390/include/asm/chpid.h  |  17 +-
 arch/s390/include/asm/cmb.h|  51 +-
 arch/s390/include/asm/debug.h  |  28 +-
 arch/s390/include/asm/kvm_para.h   |  14 +-
 arch/s390/include/asm/mman.h   |   6 +-
 arch/s390/include/asm/ptrace.h | 462 +
 arch/s390/include/asm/schid.h  |  15 +-
 arch/s390/include/asm/setup.h  |   7 +-
 arch/s390/include/asm/signal.h | 128 +---
 arch/s390/include/asm/termios.h|  42 +-
 arch/s390/include/asm/types.h  |  15 +-
 arch/s390/include/asm/unistd.h | 367 +-
 arch/s390/include/uapi/asm/Kbuild  |  45 ++
 arch/s390/include/{ => uapi}/asm/auxvec.h  |   0
 arch/s390/include/{ => uapi}/asm/bitsperlong.h |   0
 arch/s390/include/{ => uapi}/asm/byteorder.h   |   0
 arch/s390/include/uapi/asm/chpid.h |  22 +
 arch/s390/include/{ => uapi}/asm/chsc.h|   0
 arch/s390/include/uapi/asm/cmb.h   |  53 ++
 arch/s390/include/{ => uapi}/asm/dasd.h|   0
 arch/s390/include/uapi/asm/debug.h |  34 +
 arch/s390/include/{ => uapi}/asm/errno.h   |   0
 arch/s390/include/{ => uapi}/asm/fcntl.h   |   0
 arch/s390/include/{ => uapi}/asm/ioctl.h   |   0
 arch/s390/include/{ => uapi}/asm/ioctls.h  |   0
 arch/s390/include/{ => uapi}/asm/ipcbuf.h  |   0
 arch/s390/include/{ => uapi}/asm/kvm.h |   0
 arch/s390/include/{ => uapi}/asm/kvm_virtio.h  |   0
 arch/s390/include/uapi/asm/mman.h  |   6 +
 arch/s390/include/{ => uapi}/asm/monwriter.h   |   0
 arch/s390/include/{ => uapi}/asm/msgbuf.h  |   0
 arch/s390/include/{ => uapi}/asm/param.h   |   0
 arch/s390/include/{ => uapi}/asm/poll.h|   0
 arch/s390/include/{ => uapi}/asm/posix_types.h |   0
 arch/s390/include/uapi/asm/ptrace.h| 472 +
 arch/s390/include/{ => uapi}/asm/qeth.h|   0
 arch/s390/include/{ => uapi}/asm/resource.h|   0
 arch/s390/include/uapi/asm/schid.h |  16 +
 arch/s390/include/{ => uapi}/asm/sembuf.h  |   0
 arch/s390/include/uapi/asm/setup.h |  13 +
 arch/s390/include/{ => uapi}/asm/shmbuf.h  |   0
 arch/s390/include/{ => uapi}/asm/sigcontext.h  |   0
 arch/s390/include/{ => uapi}/asm/siginfo.h |   0
 arch/s390/include/uapi/asm/signal.h| 135 
 arch/s390/include/{ => uapi}/asm/socket.h  |   0
 arch/s390/include/{ => uapi}/asm/sockios.h |   0
 arch/s390/include/{ => uapi}/asm/stat.h|   0
 arch/s390/include/{ => uapi}/asm/statfs.h  |   0
 arch/s390/include/{ => uapi}/asm/swab.h|   0
 arch/s390/include/{ => uapi}/asm/tape390.h |   0
 arch/s390/include/{ => uapi}/asm/termbits.h|   0
 arch/s390/include/uapi/asm/termios.h   |  49 ++
 arch/s390

Re: [GIT PULL] Disintegrate UAPI for sparc

2012-10-04 Thread David Howells
David Miller  wrote:

> When I pull the sparc branch, I get c6x and arm64 commits too.
> 
> 37d11ab8b478ccb7aa227003ca2e5ac4c11d
> 1c1e436269fe840cdbecfaf397b21778dd276f26
> 
> I don't want that going in via the sparc tree, it really
> doesn't belong there.

They're at the base of every branch so that I can test those arches on every
branch.  I suppose I could exclude them from unrelated arch branches, or
perhaps better still if I can get Linus to pull them.

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


[GIT PULL] UAPI disintegration fixes

2012-10-04 Thread David Howells

Hi Linus,

Could you pull this branch please?

There are three main parts:

 (1) I found I needed some more fixups in the wake of testing Arm64 (some
 asm/unistd.h files had weird guards that caused problems - mostly in
 arches for which I don't have a compiler) and some __KERNEL__ splitting
 needed to take place in Arm64.

 (2) I found that c6x was missing some __KERNEL__ guards in its asm/signal.h.
 Mark Salter pointed me at a tree with a patch to remove that file
 entirely and use the asm-generic variant instead.

 (3) Lastly, m68k turned out to have a header installation problem due to it
 lacking a kvm_para.h file.

 The conditional installation bits for linux/kvm_para.h, linux/kvm.h and
 linux/a.out.h weren't very well specified - and didn't work if an arch
 didn't have the asm/ version of that file, but there *was* an
 asm-generic/ version.

 It seems the "ifneq $((wildcard ...),)" for each of those three headers
 in include/kernel/Kbuild is invoked twice during header installation, and
 the second time it matches on the just installed asm-generic/kvm_para.h
 file and thus incorrectly installs linux/kvm_para.h as well.

 Most arches actually have an asm/kvm_para.h, so this wasn't detectable in
 those.

David
---
The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:

  Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 
(2012-10-03 23:29:23 -0700)

are available in the git repository at:


  git://git.infradead.org/users/dhowells/linux-headers.git uapi-prep

for you to fetch changes up to f3dfd599af993385b40fc7a1c947afc12729bc4d:

  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k) (2012-10-04 18:16:47 +0100)


(from the branch description for uapi-prep local branch)

clone of "master"
--------
David Howells (4):
  UAPI: Fix the guards on various asm/unistd.h files
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
  UAPI: Fix conditional header installation handling (notably kvm_para.h on 
m68k)

Mark Salter (2):
  c6x: make dsk6455 the default config
  c6x: remove c6x signal.h

 arch/arm64/include/asm/hwcap.h  |  4 +++-
 arch/arm64/include/asm/stat.h   |  4 +++-
 arch/arm64/include/asm/unistd.h |  8 +++-
 arch/arm64/include/asm/unistd32.h   |  4 
 arch/c6x/Makefile   |  2 ++
 arch/c6x/include/asm/Kbuild |  1 +
 arch/c6x/include/asm/signal.h   | 17 -
 arch/c6x/include/asm/unistd.h   |  4 
 arch/hexagon/include/asm/unistd.h   |  5 -
 arch/openrisc/include/asm/unistd.h  |  5 -
 arch/score/include/asm/unistd.h |  5 -
 arch/tile/include/asm/unistd.h  |  5 -
 arch/unicore32/include/asm/unistd.h |  4 
 include/asm-generic/unistd.h|  4 
 include/linux/Kbuild|  9 +++--
 15 files changed, 15 insertions(+), 66 deletions(-)
 delete mode 100644 arch/c6x/include/asm/signal.h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PULL] Disintegrate UAPI for m68k

2012-10-05 Thread David Howells
Geert Uytterhoeven  wrote:

> I assume these c6x and asm-generic changes are the ones you just asked Linus
> to pull?

Yes.

> Doesn't it make more sense to ask us (the individual arch maintainers) to
> pull our parts after Linus has pulled the generic part?

I suppose so.

> Do you want this ("our parts") to go in 3.7 or 3.8?

3.7 would be nice, but I know not everyone is willing to pull in this merge
window.  It might also make sense to wait for (a) Linus to pull those and (b)
Arnd to pass the asm-generic changes along too.

The main reason I'd like to get things moved along asap is that the
preparatory patches get things into a known state upon which these commits can
be pulled.  However, the state is going to degrade over time as people make
changes which requires more preparatory patches:-/

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


  1   2   3   4   5   6   7   8   9   10   >