mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 20:02:17 +00:00
![Greg Kroah-Hartman](/assets/img/avatar_default.png)
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>
30 lines
952 B
C
30 lines
952 B
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
/* atmapi.h - ATM API user space/kernel compatibility */
|
|
|
|
/* Written 1999,2000 by Werner Almesberger, EPFL ICA */
|
|
|
|
|
|
#ifndef _LINUX_ATMAPI_H
|
|
#define _LINUX_ATMAPI_H
|
|
|
|
#if defined(__sparc__) || defined(__ia64__)
|
|
/* such alignment is not required on 32 bit sparcs, but we can't
|
|
figure that we are on a sparc64 while compiling user-space programs. */
|
|
#define __ATM_API_ALIGN __attribute__((aligned(8)))
|
|
#else
|
|
#define __ATM_API_ALIGN
|
|
#endif
|
|
|
|
|
|
/*
|
|
* Opaque type for kernel pointers. Note that _ is never accessed. We need
|
|
* the struct in order hide the array, so that we can make simple assignments
|
|
* instead of being forced to use memcpy. It also improves error reporting for
|
|
* code that still assumes that we're passing unsigned longs.
|
|
*
|
|
* Convention: NULL pointers are passed as a field of all zeroes.
|
|
*/
|
|
|
|
typedef struct { unsigned char _[8]; } __ATM_API_ALIGN atm_kptr_t;
|
|
|
|
#endif
|