Many user space API headers are missing licensing information, which makes it hard for compliance tools to determine the correct license. By default are files without license information under the default license of the kernel, which is GPLV2. Marking them GPLV2 would exclude them from being included in non GPLV2 code, which is obviously not intended. The user space API headers fall under the syscall exception which is in the kernels COPYING file: NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work". otherwise syscall usage would not be possible. Update the files which contain no license information with an SPDX license identifier. The chosen identifier is 'GPL-2.0 WITH Linux-syscall-note' which is the officially assigned identifier for the Linux syscall exception. SPDX license identifiers are a legally binding shorthand, which can be used instead of the full boiler plate text. This patch is based on work done by Thomas Gleixner and Kate Stewart and Philippe Ombredanne. See the previous patch in this series for the methodology of how this patch was researched. Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
			
				
	
	
		
			36 lines
		
	
	
		
			1003 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1003 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 | |
| #ifndef __ASM_GENERIC_IPCBUF_H
 | |
| #define __ASM_GENERIC_IPCBUF_H
 | |
| 
 | |
| /*
 | |
|  * The generic ipc64_perm structure:
 | |
|  * Note extra padding because this structure is passed back and forth
 | |
|  * between kernel and user space.
 | |
|  *
 | |
|  * ipc64_perm was originally meant to be architecture specific, but
 | |
|  * everyone just ended up making identical copies without specific
 | |
|  * optimizations, so we may just as well all use the same one.
 | |
|  *
 | |
|  * Pad space is left for:
 | |
|  * - 32-bit mode_t on architectures that only had 16 bit
 | |
|  * - 32-bit seq
 | |
|  * - 2 miscellaneous 32-bit values
 | |
|  */
 | |
| 
 | |
| struct ipc64_perm {
 | |
| 	__kernel_key_t		key;
 | |
| 	__kernel_uid32_t	uid;
 | |
| 	__kernel_gid32_t	gid;
 | |
| 	__kernel_uid32_t	cuid;
 | |
| 	__kernel_gid32_t	cgid;
 | |
| 	__kernel_mode_t		mode;
 | |
| 				/* pad if mode_t is u16: */
 | |
| 	unsigned char		__pad1[4 - sizeof(__kernel_mode_t)];
 | |
| 	unsigned short		seq;
 | |
| 	unsigned short		__pad2;
 | |
| 	__kernel_ulong_t	__unused1;
 | |
| 	__kernel_ulong_t	__unused2;
 | |
| };
 | |
| 
 | |
| #endif /* __ASM_GENERIC_IPCBUF_H */
 |