Changes in 4.9.154 net: bridge: Fix ethernet header pointer before check skb forwardable net: Fix usage of pskb_trim_rcsum openvswitch: Avoid OOB read when parsing flow nlattrs vhost: log dirty page correctly net: ipv4: Fix memory leak in network namespace dismantle net_sched: refetch skb protocol for each filter ipfrag: really prevent allocation on netns exit USB: serial: simple: add Motorola Tetra TPG2200 device id USB: serial: pl2303: add new PID to support PL2303TB ASoC: atom: fix a missing check of snd_pcm_lib_malloc_pages ASoC: rt5514-spi: Fix potential NULL pointer dereference ARCv2: lib: memeset: fix doing prefetchw outside of buffer ARC: perf: map generic branches to correct hardware condition s390/early: improve machine detection s390/smp: fix CPU hotplug deadlock with CPU rescan char/mwave: fix potential Spectre v1 vulnerability staging: rtl8188eu: Add device code for D-Link DWA-121 rev B1 tty: Handle problem if line discipline does not have receive_buf uart: Fix crash in uart_write and uart_put_char tty/n_hdlc: fix __might_sleep warning CIFS: Fix possible hang during async MTU reads and writes Input: xpad - add support for SteelSeries Stratus Duo compiler.h: enable builtin overflow checkers and add fallback code Input: uinput - fix undefined behavior in uinput_validate_absinfo() acpi/nfit: Block function zero DSMs acpi/nfit: Fix command-supported detection dm thin: fix passdown_double_checking_shared_status() KVM: x86: Fix single-step debugging x86/selftests/pkeys: Fork() to check for state being preserved x86/kaslr: Fix incorrect i8254 outb() parameters can: dev: __can_get_echo_skb(): fix bogous check for non-existing skb by removing it can: bcm: check timer values before ktime conversion vt: invoke notifier on screen size change perf unwind: Unwind with libdw doesn't take symfs into account perf unwind: Take pgoff into account when reporting elf to libdwfl irqchip/gic-v3-its: Align PCI Multi-MSI allocation on their size s390/smp: Fix calling smp_call_ipl_cpu() from ipl CPU nvmet-rdma: Add unlikely for response allocated check nvmet-rdma: fix null dereference under heavy load f2fs: read page index before freeing btrfs: fix error handling in btrfs_dev_replace_start btrfs: dev-replace: go back to suspended state if target device is missing Linux 4.9.154 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
#ifndef __LINUX_COMPILER_H
|
|
#error "Please don't include <linux/compiler-intel.h> directly, include <linux/compiler.h> instead."
|
|
#endif
|
|
|
|
#ifdef __ECC
|
|
|
|
/* Some compiler specific definitions are overwritten here
|
|
* for Intel ECC compiler
|
|
*/
|
|
|
|
#include <asm/intrinsics.h>
|
|
|
|
/* Intel ECC compiler doesn't support gcc specific asm stmts.
|
|
* It uses intrinsics to do the equivalent things.
|
|
*/
|
|
#undef barrier
|
|
#undef barrier_data
|
|
#undef RELOC_HIDE
|
|
#undef OPTIMIZER_HIDE_VAR
|
|
|
|
#define barrier() __memory_barrier()
|
|
#define barrier_data(ptr) barrier()
|
|
|
|
#define RELOC_HIDE(ptr, off) \
|
|
({ unsigned long __ptr; \
|
|
__ptr = (unsigned long) (ptr); \
|
|
(typeof(ptr)) (__ptr + (off)); })
|
|
|
|
/* This should act as an optimization barrier on var.
|
|
* Given that this compiler does not have inline assembly, a compiler barrier
|
|
* is the best we can do.
|
|
*/
|
|
#define OPTIMIZER_HIDE_VAR(var) barrier()
|
|
|
|
/* Intel ECC compiler doesn't support __builtin_types_compatible_p() */
|
|
#define __must_be_array(a) 0
|
|
|
|
#endif
|
|
|
|
#ifndef __HAVE_BUILTIN_BSWAP16__
|
|
/* icc has this, but it's called _bswap16 */
|
|
#define __HAVE_BUILTIN_BSWAP16__
|
|
#define __builtin_bswap16 _bswap16
|
|
#endif
|
|
|
|
/*
|
|
* icc defines __GNUC__, but does not implement the builtin overflow checkers.
|
|
*/
|
|
#undef COMPILER_HAS_GENERIC_BUILTIN_OVERFLOW
|