Files
kernel_google_wahoo/include/uapi/linux/if_ether.h
Petri Gynther 1c1a8fe37f Merge 4.4.175 into android-msm-wahoo-4.4-lts
Linux 4.4.175
  * uapi/if_ether.h: move __UAPI_DEF_ETHHDR libc define
      include/uapi/linux/if_ether.h
      include/uapi/linux/libc-compat.h
  * pinctrl: msm: fix gpio-hog related boot issues
      drivers/pinctrl/qcom/pinctrl-msm.c
    usb: dwc2: Remove unnecessary kfree
    kaweth: use skb_cow_head() to deal with cloned skbs
    ch9200: use skb_cow_head() to deal with cloned skbs
    smsc95xx: Use skb_cow_head to deal with cloned skbs
    dm thin: fix bug where bio that overwrites thin block ignores FUA
    x86/a.out: Clear the dump structure initially
  * signal: Restore the stop PTRACE_EVENT_EXIT
      kernel/signal.c
  * x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls
      drivers/firmware/efi/runtime-wrappers.c
    tracing/uprobes: Fix output for multiple string arguments
    alpha: Fix Eiger NR_IRQS to 128
    alpha: fix page fault handling for r16-r18 targets
    Input: elantech - enable 3rd button support on Fujitsu CELSIUS H780
    Input: bma150 - register input device after setting private data
  * ALSA: usb-audio: Fix implicit fb endpoint setup by quirk
      sound/usb/pcm.c
    ALSA: hda - Add quirk for HP EliteBook 840 G5
  * perf/core: Fix impossible ring-buffer sizes warning
      kernel/events/ring_buffer.c
    Input: elan_i2c - add ACPI ID for touchpad in Lenovo V330-15ISK
    Revert "Input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G"
    Documentation/network: reword kernel version reference
    cifs: Limit memory used by lock request calls to a page
    gpio: pl061: handle failed allocations
    ARM: dts: kirkwood: Fix polarity of GPIO fan lines
    ARM: dts: da850-evm: Correct the sound card name
  * uapi/if_ether.h: prevent redefinition of struct ethhdr
      include/uapi/linux/if_ether.h
      include/uapi/linux/libc-compat.h
  * Revert "exec: load_script: don't blindly truncate shebang string"
      fs/binfmt_script.c
    batman-adv: Force mac header to start of data on xmit
    batman-adv: Avoid WARN on net_device without parent in netns
  * xfrm: refine validation of template and selector families
      net/xfrm/xfrm_user.c
    libceph: avoid KEEPALIVE_PENDING races in ceph_con_keepalive()
  * Revert "cifs: In Kconfig CONFIG_CIFS_POSIX needs depends on legacy (insecure cifs)"
      fs/cifs/Kconfig
    NFC: nxp-nci: Include unaligned.h instead of access_ok.h
  * HID: debug: fix the ring buffer implementation
      drivers/hid/hid-debug.c
      include/linux/hid-debug.h
    drm/vmwgfx: Return error code from vmw_execbuf_copy_fence_user
    drm/vmwgfx: Fix setting of dma masks
    drm/modes: Prevent division by zero htotal
    mac80211: ensure that mgmt tx skbs have tailroom for encryption
    ARM: iop32x/n2100: fix PCI IRQ mapping
    MIPS: VDSO: Include $(ccflags-vdso) in o32,n32 .lds builds
    MIPS: OCTEON: don't set octeon_dma_bar_type if PCI is disabled
    mips: cm: reprime error cause
  * debugfs: fix debugfs_rename parameter checking
      fs/debugfs/inode.c
    misc: vexpress: Off by one in vexpress_syscfg_exec()
  * signal: Better detection of synchronous signals
      kernel/signal.c
  * signal: Always notice exiting tasks
      kernel/signal.c
    mtd: rawnand: gpmi: fix MX28 bus master lockup problem
    perf tests evsel-tp-sched: Fix bitwise operator
  * perf/core: Don't WARN() for impossible ring-buffer sizes
      kernel/events/ring_buffer.c
    x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out()
    perf/x86/intel/uncore: Add Node ID mask
    KVM: nVMX: unconditionally cancel preemption timer in free_nested (CVE-2019-7221)
    KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222)
    usb: gadget: udc: net2272: Fix bitwise and boolean operations
    usb: phy: am335x: fix race condition in _probe
    dmaengine: imx-dma: fix wrong callback invoke
  * fuse: handle zero sized retrieve correctly
      fs/fuse/dev.c
  * fuse: decrement NR_WRITEBACK_TEMP on the right page
      fs/fuse/file.c
  * fuse: call pipe_buf_release() under pipe lock
      fs/fuse/dev.c
    ALSA: hda - Serialize codec registrations
  * ALSA: compress: Fix stop handling on compressed capture streams
      include/sound/compress_driver.h
    net: dsa: slave: Don't propagate flag changes on down slave interfaces
    net: systemport: Fix WoL with password after deep sleep
    skge: potential memory corruption in skge_get_regs()
    net: dp83640: expire old TX-skb
    enic: fix checksum validation for IPv6
    dccp: fool proof ccid_hc_[rt]x_parse_options()
  * string: drop __must_check from strscpy() and restore strscpy() usages in cgroup
      include/linux/string.h
    tipc: use destination length for copy string
    test_hexdump: use memcpy instead of strncpy
  * thermal: hwmon: inline helpers when CONFIG_THERMAL_HWMON is not set
      drivers/thermal/thermal_hwmon.h
  * exec: load_script: don't blindly truncate shebang string
      fs/binfmt_script.c
  * fs/epoll: drop ovflist branch prediction
      fs/eventpoll.c
  * kernel/hung_task.c: break RCU locks based on jiffies
      kernel/hung_task.c
    HID: lenovo: Add checks to fix of_led_classdev_register
    block/swim3: Fix -EBUSY error when re-opening device after unmount
    gdrom: fix a memory leak bug
    isdn: hisax: hfc_pci: Fix a possible concurrency use-after-free bug in HFCPCI_l1hw()
    ocfs2: don't clear bh uptodate for block read
    scripts/decode_stacktrace: only strip base path when a prefix of the path
    niu: fix missing checks of niu_pci_eeprom_read
    um: Avoid marking pages with "changed protection"
    cifs: check ntwrk_buf_start for NULL before dereferencing it
    crypto: ux500 - Use proper enum in hash_set_dma_transfer
    crypto: ux500 - Use proper enum in cryp_set_dma_transfer
  * seq_buf: Make seq_buf_puts() null-terminate the buffer
      lib/seq_buf.c
    hwmon: (lm80) fix a missing check of bus read in lm80 probe
    hwmon: (lm80) fix a missing check of the status of SMBus read
    NFS: nfs_compare_mount_options always compare auth flavors.
    KVM: x86: svm: report MSR_IA32_MCG_EXT_CTL as unsupported
    fbdev: fbcon: Fix unregister crash when more than one framebuffer
    igb: Fix an issue that PME is not enabled during runtime suspend
  * fbdev: fbmem: behave better with small rotated displays and many CPUs
      drivers/video/fbdev/core/fbmem.c
    video: clps711x-fb: release disp device node in probe()
    drbd: Avoid Clang warning about pointless switch statment
    drbd: skip spurious timeout (ping-timeo) when failing promote
    drbd: disconnect, if the wrong UUIDs are attached on a connected peer
    drbd: narrow rcu_read_lock in drbd_sync_handshake
    cw1200: Fix concurrency use-after-free bugs in cw1200_hw_scan()
  * Bluetooth: Fix unnecessary error message for HCI request completion
      net/bluetooth/hci_event.c
  * xfrm6_tunnel: Fix spi check in __xfrm6_tunnel_alloc_spi
      net/ipv6/xfrm6_tunnel.c
    mac80211: fix radiotap vendor presence bitmap handling
    powerpc/uaccess: fix warning/error with access_ok()
    arm64: KVM: Skip MMIO insn after emulation
    tty: serial: samsung: Properly set flags in autoCTS mode
    memstick: Prevent memstick host from getting runtime suspended during card detection
  * ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M
      sound/soc/fsl/Kconfig
    ARM: pxa: avoid section mismatch warning
    udf: Fix BUG on corrupted inode
    i2c-axxia: check for error conditions first
    cpuidle: big.LITTLE: fix refcount leak
    clk: imx6sl: ensure MMDC CH0 handshake is bypassed
    sata_rcar: fix deferred probing
    iommu/arm-smmu-v3: Use explicit mb() when moving cons pointer
    mips: bpf: fix encoding bug for mm_srlv32_op
    ARM: dts: Fix OMAP4430 SDP Ethernet startup
  * timekeeping: Use proper seqcount initializer
      kernel/time/timekeeping.c
  * usb: hub: delay hub autosuspend if USB3 port is still link training
      drivers/usb/core/hub.c
  * smack: fix access permissions for keyring
      security/smack/smack_lsm.c
    media: DaVinci-VPBE: fix error handling in vpbe_initialize()
    x86/fpu: Add might_fault() to user_insn()
    ARM: dts: mmp2: fix TWSI2
    arm64: ftrace: don't adjust the LR value
    nfsd4: fix crash on writing v4_end_grace before nfsd startup
    sunvdc: Do not spin in an infinite loop when vio_ldc_send() returns EAGAIN
    f2fs: fix wrong return value of f2fs_acl_create
    f2fs: move dir data flush to write checkpoint process
    soc/tegra: Don't leak device tree node reference
    perf tools: Add Hygon Dhyana support
  * modpost: validate symbol names also in find_elf_symbol
      scripts/mod/modpost.c
    ARM: OMAP2+: hwmod: Fix some section annotations
    staging: iio: ad7780: update voltage on read
    staging:iio:ad2s90: Make probe handle spi_setup failure
    ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl
    serial: fsl_lpuart: clear parity enable bit when disable parity
    powerpc/pseries: add of_node_put() in dlpar_detach_node()
    x86/PCI: Fix Broadcom CNB20LE unintended sign extension (redux)
    dlm: Don't swamp the CPU with callbacks queued during recovery
    ARM: 8808/1: kexec:offline panic_smp_self_stop CPU
    scsi: lpfc: Correct LCB RJT handling
    ASoC: Intel: mrfld: fix uninitialized variable access
    staging: iio: adc: ad7280a: handle error from __ad7280_read32()
    drm/bufs: Fix Spectre v1 vulnerability

Change-Id: If064e7646cc87070a5c0a6b8f8b935cd93f5c88d
Signed-off-by: Petri Gynther <pgynther@google.com>
2019-02-22 14:47:05 -08:00

156 lines
7.3 KiB
C

/*
* INET An implementation of the TCP/IP protocol suite for the LINUX
* operating system. INET is implemented using the BSD Socket
* interface as the means of communication with the user level.
*
* Global definitions for the Ethernet IEEE 802.3 interface.
*
* Version: @(#)if_ether.h 1.0.1a 02/08/94
*
* Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
* Donald Becker, <becker@super.org>
* Alan Cox, <alan@lxorguk.ukuu.org.uk>
* Steve Whitehouse, <gw7rrm@eeshack3.swan.ac.uk>
*
* This program 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.
*/
#ifndef _UAPI_LINUX_IF_ETHER_H
#define _UAPI_LINUX_IF_ETHER_H
#include <linux/types.h>
/*
* IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
* and FCS/CRC (frame check sequence).
*/
#define ETH_ALEN 6 /* Octets in one ethernet addr */
#define ETH_TLEN 2 /* Octets in ethernet type field */
#define ETH_HLEN 14 /* Total octets in header. */
#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
#define ETH_DATA_LEN 1500 /* Max. octets in payload */
#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */
#define ETH_FCS_LEN 4 /* Octets in the FCS */
/*
* These are the defined Ethernet Protocol ID's.
*/
#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
#define ETH_P_PUP 0x0200 /* Xerox PUP packet */
#define ETH_P_PUPAT 0x0201 /* Xerox PUP Addr Trans packet */
#define ETH_P_TSN 0x22F0 /* TSN (IEEE 1722) packet */
#define ETH_P_IP 0x0800 /* Internet Protocol packet */
#define ETH_P_X25 0x0805 /* CCITT X.25 */
#define ETH_P_ARP 0x0806 /* Address Resolution packet */
#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
#define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */
#define ETH_P_BATMAN 0x4305 /* B.A.T.M.A.N.-Advanced packet [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
#define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */
#define ETH_P_LAT 0x6004 /* DEC LAT */
#define ETH_P_DIAG 0x6005 /* DEC Diagnostics */
#define ETH_P_CUST 0x6006 /* DEC Customer use */
#define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */
#define ETH_P_TEB 0x6558 /* Trans Ether Bridging */
#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
#define ETH_P_ATALK 0x809B /* Appletalk DDP */
#define ETH_P_AARP 0x80F3 /* Appletalk AARP */
#define ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */
#define ETH_P_IPX 0x8137 /* IPX over DIX */
#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
#define ETH_P_PAUSE 0x8808 /* IEEE Pause frames. See 802.3 31B */
#define ETH_P_SLOW 0x8809 /* Slow Protocol. See 802.3ad 43B */
#define ETH_P_WCCP 0x883E /* Web-cache coordination protocol
* defined in draft-wilson-wrec-wccp-v2-00.txt */
#define ETH_P_MPLS_UC 0x8847 /* MPLS Unicast traffic */
#define ETH_P_MPLS_MC 0x8848 /* MPLS Multicast traffic */
#define ETH_P_ATMMPOA 0x884c /* MultiProtocol Over ATM */
#define ETH_P_PPP_DISC 0x8863 /* PPPoE discovery messages */
#define ETH_P_PPP_SES 0x8864 /* PPPoE session messages */
#define ETH_P_LINK_CTL 0x886c /* HPNA, wlan link local tunnel */
#define ETH_P_ATMFATE 0x8884 /* Frame-based ATM Transport
* over Ethernet
*/
#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */
#define ETH_P_AOE 0x88A2 /* ATA over Ethernet */
#define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */
#define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */
#define ETH_P_TIPC 0x88CA /* TIPC */
#define ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */
#define ETH_P_MVRP 0x88F5 /* 802.1Q MVRP */
#define ETH_P_1588 0x88F7 /* IEEE 1588 Timesync */
#define ETH_P_PRP 0x88FB /* IEC 62439-3 PRP/HSRv0 */
#define ETH_P_FCOE 0x8906 /* Fibre Channel over Ethernet */
#define ETH_P_TDLS 0x890D /* TDLS */
#define ETH_P_FIP 0x8914 /* FCoE Initialization Protocol */
#define ETH_P_80221 0x8917 /* IEEE 802.21 Media Independent Handover Protocol */
#define ETH_P_LOOPBACK 0x9000 /* Ethernet loopback packet, per IEEE 802.3 */
#define ETH_P_QINQ1 0x9100 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_QINQ2 0x9200 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_QINQ3 0x9300 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_EDSA 0xDADA /* Ethertype DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_AF_IUCV 0xFBFB /* IBM af_iucv [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_MAP 0xDA1A /* Multiplexing and Aggregation Protocol
* NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_802_3_MIN 0x0600 /* If the value in the ethernet type is less than this value
* then the frame is Ethernet II. Else it is 802.3 */
/*
* Non DIX types. Won't clash for 1500 types.
*/
#define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */
#define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */
#define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */
#define ETH_P_802_2 0x0004 /* 802.2 frames */
#define ETH_P_SNAP 0x0005 /* Internal only */
#define ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */
#define ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/
#define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */
#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */
#define ETH_P_CAN 0x000C /* CAN: Controller Area Network */
#define ETH_P_CANFD 0x000D /* CANFD: CAN flexible data rate*/
#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/
#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */
#define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */
#define ETH_P_CONTROL 0x0016 /* Card specific control frames */
#define ETH_P_IRDA 0x0017 /* Linux-IrDA */
#define ETH_P_ECONET 0x0018 /* Acorn Econet */
#define ETH_P_HDLC 0x0019 /* HDLC frames */
#define ETH_P_ARCNET 0x001A /* 1A for ArcNet :-) */
#define ETH_P_DSA 0x001B /* Distributed Switch Arch. */
#define ETH_P_TRAILER 0x001C /* Trailer switch tagging */
#define ETH_P_PHONET 0x00F5 /* Nokia Phonet frames */
#define ETH_P_IEEE802154 0x00F6 /* IEEE802.15.4 frame */
#define ETH_P_CAIF 0x00F7 /* ST-Ericsson CAIF protocol */
#define ETH_P_XDSA 0x00F8 /* Multiplexed DSA protocol */
/*
* This is an Ethernet frame header.
*/
/* allow libcs like musl to deactivate this, glibc does not implement this. */
#ifndef __UAPI_DEF_ETHHDR
#define __UAPI_DEF_ETHHDR 1
#endif
#if __UAPI_DEF_ETHHDR
struct ethhdr {
unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
unsigned char h_source[ETH_ALEN]; /* source ether addr */
__be16 h_proto; /* packet type ID field */
} __attribute__((packed));
#endif
#endif /* _UAPI_LINUX_IF_ETHER_H */