mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-04 20:19:47 +08:00 
			
		
		
		
	 6f52b16c5b
			
		
	
	
		6f52b16c5b
		
	
	
	
	
		
			
			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>
		
			
				
	
	
		
			109 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 | |
| #ifndef __SPARC_STAT_H
 | |
| #define __SPARC_STAT_H
 | |
| 
 | |
| #include <linux/types.h>
 | |
| 
 | |
| #if defined(__sparc__) && defined(__arch64__)
 | |
| /* 64 bit sparc */
 | |
| struct stat {
 | |
| 	unsigned int st_dev;
 | |
| 	ino_t   st_ino;
 | |
| 	mode_t  st_mode;
 | |
| 	short   st_nlink;
 | |
| 	uid_t   st_uid;
 | |
| 	gid_t   st_gid;
 | |
| 	unsigned int st_rdev;
 | |
| 	off_t   st_size;
 | |
| 	time_t  st_atime;
 | |
| 	time_t  st_mtime;
 | |
| 	time_t  st_ctime;
 | |
| 	off_t   st_blksize;
 | |
| 	off_t   st_blocks;
 | |
| 	unsigned long  __unused4[2];
 | |
| };
 | |
| 
 | |
| struct stat64 {
 | |
| 	unsigned long	st_dev;
 | |
| 	unsigned long	st_ino;
 | |
| 	unsigned long	st_nlink;
 | |
| 
 | |
| 	unsigned int	st_mode;
 | |
| 	unsigned int	st_uid;
 | |
| 	unsigned int	st_gid;
 | |
| 	unsigned int	__pad0;
 | |
| 
 | |
| 	unsigned long	st_rdev;
 | |
| 	long		st_size;
 | |
| 	long		st_blksize;
 | |
| 	long		st_blocks;
 | |
| 
 | |
| 	unsigned long	st_atime;
 | |
| 	unsigned long	st_atime_nsec;
 | |
| 	unsigned long	st_mtime;
 | |
| 	unsigned long	st_mtime_nsec;
 | |
| 	unsigned long	st_ctime;
 | |
| 	unsigned long	st_ctime_nsec;
 | |
| 	long		__unused[3];
 | |
| };
 | |
| 
 | |
| #else
 | |
| /* 32 bit sparc */
 | |
| struct stat {
 | |
| 	unsigned short	st_dev;
 | |
| 	ino_t		st_ino;
 | |
| 	mode_t		st_mode;
 | |
| 	short		st_nlink;
 | |
| 	unsigned short	st_uid;
 | |
| 	unsigned short	st_gid;
 | |
| 	unsigned short	st_rdev;
 | |
| 	off_t		st_size;
 | |
| 	time_t		st_atime;
 | |
| 	unsigned long	st_atime_nsec;
 | |
| 	time_t		st_mtime;
 | |
| 	unsigned long	st_mtime_nsec;
 | |
| 	time_t		st_ctime;
 | |
| 	unsigned long	st_ctime_nsec;
 | |
| 	off_t		st_blksize;
 | |
| 	off_t		st_blocks;
 | |
| 	unsigned long	__unused4[2];
 | |
| };
 | |
| 
 | |
| #define STAT_HAVE_NSEC 1
 | |
| 
 | |
| struct stat64 {
 | |
| 	unsigned long long st_dev;
 | |
| 
 | |
| 	unsigned long long st_ino;
 | |
| 
 | |
| 	unsigned int	st_mode;
 | |
| 	unsigned int	st_nlink;
 | |
| 
 | |
| 	unsigned int	st_uid;
 | |
| 	unsigned int	st_gid;
 | |
| 
 | |
| 	unsigned long long st_rdev;
 | |
| 
 | |
| 	unsigned char	__pad3[8];
 | |
| 
 | |
| 	long long	st_size;
 | |
| 	unsigned int	st_blksize;
 | |
| 
 | |
| 	unsigned char	__pad4[8];
 | |
| 	unsigned int	st_blocks;
 | |
| 
 | |
| 	unsigned int	st_atime;
 | |
| 	unsigned int	st_atime_nsec;
 | |
| 
 | |
| 	unsigned int	st_mtime;
 | |
| 	unsigned int	st_mtime_nsec;
 | |
| 
 | |
| 	unsigned int	st_ctime;
 | |
| 	unsigned int	st_ctime_nsec;
 | |
| 
 | |
| 	unsigned int	__unused4;
 | |
| 	unsigned int	__unused5;
 | |
| };
 | |
| #endif /* defined(__sparc__) && defined(__arch64__) */
 | |
| #endif /* __SPARC_STAT_H */
 |