Re: [PATCH 07/24] MAINTAINERS: adjust for UAPI
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
+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
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
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
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
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
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
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
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
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
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
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]
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
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
> +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
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
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()
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?
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
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
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
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
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
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
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
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
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
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
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]
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
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
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
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
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
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
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
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
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
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]
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
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
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
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
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
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
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
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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/