Merge Linus's 5.4-rc1-prerelease branch into android-mainline
This merges Linus's tree as of commit b41dae061b ("Merge tag
'xfs-5.4-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux")
into android-mainline.
This "early" merge makes it easier to test and handle merge conflicts
instead of having to wait until the "end" of the merge window and handle
all 10000+ commits at once.
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6bebf55e5e2353f814e3c87f5033607b1ae5d812
This commit is contained in:
commit
bfa0399bc8
7251 changed files with 330470 additions and 218144 deletions
|
|
@ -106,6 +106,7 @@ enum bpf_cmd {
|
|||
BPF_TASK_FD_QUERY,
|
||||
BPF_MAP_LOOKUP_AND_DELETE_ELEM,
|
||||
BPF_MAP_FREEZE,
|
||||
BPF_BTF_GET_NEXT_ID,
|
||||
};
|
||||
|
||||
enum bpf_map_type {
|
||||
|
|
@ -134,6 +135,7 @@ enum bpf_map_type {
|
|||
BPF_MAP_TYPE_QUEUE,
|
||||
BPF_MAP_TYPE_STACK,
|
||||
BPF_MAP_TYPE_SK_STORAGE,
|
||||
BPF_MAP_TYPE_DEVMAP_HASH,
|
||||
};
|
||||
|
||||
/* Note that tracing related programs such as
|
||||
|
|
@ -283,6 +285,9 @@ enum bpf_attach_type {
|
|||
*/
|
||||
#define BPF_F_TEST_RND_HI32 (1U << 2)
|
||||
|
||||
/* The verifier internal test flag. Behavior is undefined */
|
||||
#define BPF_F_TEST_STATE_FREQ (1U << 3)
|
||||
|
||||
/* When BPF ldimm64's insn[0].src_reg != 0 then this can have
|
||||
* two extensions:
|
||||
*
|
||||
|
|
@ -336,6 +341,9 @@ enum bpf_attach_type {
|
|||
#define BPF_F_RDONLY_PROG (1U << 7)
|
||||
#define BPF_F_WRONLY_PROG (1U << 8)
|
||||
|
||||
/* Clone map from listener for newly accepted socket */
|
||||
#define BPF_F_CLONE (1U << 9)
|
||||
|
||||
/* flags for BPF_PROG_QUERY */
|
||||
#define BPF_F_QUERY_EFFECTIVE (1U << 0)
|
||||
|
||||
|
|
@ -575,6 +583,8 @@ union bpf_attr {
|
|||
* limited to five).
|
||||
*
|
||||
* Each time the helper is called, it appends a line to the trace.
|
||||
* Lines are discarded while *\/sys/kernel/debug/tracing/trace* is
|
||||
* open, use *\/sys/kernel/debug/tracing/trace_pipe* to avoid this.
|
||||
* The format of the trace is customizable, and the exact output
|
||||
* one will get depends on the options set in
|
||||
* *\/sys/kernel/debug/tracing/trace_options* (see also the
|
||||
|
|
@ -1013,7 +1023,7 @@ union bpf_attr {
|
|||
* The realm of the route for the packet associated to *skb*, or 0
|
||||
* if none was found.
|
||||
*
|
||||
* int bpf_perf_event_output(struct pt_reg *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
|
||||
* int bpf_perf_event_output(struct pt_regs *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
|
||||
* Description
|
||||
* Write raw *data* blob into a special BPF perf event held by
|
||||
* *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf
|
||||
|
|
@ -1075,7 +1085,7 @@ union bpf_attr {
|
|||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_get_stackid(struct pt_reg *ctx, struct bpf_map *map, u64 flags)
|
||||
* int bpf_get_stackid(struct pt_regs *ctx, struct bpf_map *map, u64 flags)
|
||||
* Description
|
||||
* Walk a user or a kernel stack and return its id. To achieve
|
||||
* this, the helper needs *ctx*, which is a pointer to the context
|
||||
|
|
@ -1724,7 +1734,7 @@ union bpf_attr {
|
|||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_override_return(struct pt_reg *regs, u64 rc)
|
||||
* int bpf_override_return(struct pt_regs *regs, u64 rc)
|
||||
* Description
|
||||
* Used for error injection, this helper uses kprobes to override
|
||||
* the return value of the probed function, and to set it to *rc*.
|
||||
|
|
@ -2713,6 +2723,33 @@ union bpf_attr {
|
|||
* **-EPERM** if no permission to send the *sig*.
|
||||
*
|
||||
* **-EAGAIN** if bpf program can try again.
|
||||
*
|
||||
* s64 bpf_tcp_gen_syncookie(struct bpf_sock *sk, void *iph, u32 iph_len, struct tcphdr *th, u32 th_len)
|
||||
* Description
|
||||
* Try to issue a SYN cookie for the packet with corresponding
|
||||
* IP/TCP headers, *iph* and *th*, on the listening socket in *sk*.
|
||||
*
|
||||
* *iph* points to the start of the IPv4 or IPv6 header, while
|
||||
* *iph_len* contains **sizeof**\ (**struct iphdr**) or
|
||||
* **sizeof**\ (**struct ip6hdr**).
|
||||
*
|
||||
* *th* points to the start of the TCP header, while *th_len*
|
||||
* contains the length of the TCP header.
|
||||
*
|
||||
* Return
|
||||
* On success, lower 32 bits hold the generated SYN cookie in
|
||||
* followed by 16 bits which hold the MSS value for that cookie,
|
||||
* and the top 16 bits are unused.
|
||||
*
|
||||
* On failure, the returned value is one of the following:
|
||||
*
|
||||
* **-EINVAL** SYN cookie cannot be issued due to error
|
||||
*
|
||||
* **-ENOENT** SYN cookie should not be issued (no SYN flood)
|
||||
*
|
||||
* **-EOPNOTSUPP** kernel configuration does not enable SYN cookies
|
||||
*
|
||||
* **-EPROTONOSUPPORT** IP packet version is not 4 or 6
|
||||
*/
|
||||
#define __BPF_FUNC_MAPPER(FN) \
|
||||
FN(unspec), \
|
||||
|
|
@ -2824,7 +2861,8 @@ union bpf_attr {
|
|||
FN(strtoul), \
|
||||
FN(sk_storage_get), \
|
||||
FN(sk_storage_delete), \
|
||||
FN(send_signal),
|
||||
FN(send_signal), \
|
||||
FN(tcp_gen_syncookie),
|
||||
|
||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||
* function eBPF program intends to call
|
||||
|
|
@ -3507,6 +3545,10 @@ enum bpf_task_fd_type {
|
|||
BPF_FD_TYPE_URETPROBE, /* filename + offset */
|
||||
};
|
||||
|
||||
#define BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG (1U << 0)
|
||||
#define BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL (1U << 1)
|
||||
#define BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP (1U << 2)
|
||||
|
||||
struct bpf_flow_keys {
|
||||
__u16 nhoff;
|
||||
__u16 thoff;
|
||||
|
|
@ -3528,6 +3570,8 @@ struct bpf_flow_keys {
|
|||
__u32 ipv6_dst[4]; /* in6_addr; network order */
|
||||
};
|
||||
};
|
||||
__u32 flags;
|
||||
__be32 flow_label;
|
||||
};
|
||||
|
||||
struct bpf_func_info {
|
||||
|
|
|
|||
|
|
@ -665,7 +665,12 @@ struct btrfs_ioctl_get_dev_stats {
|
|||
/* out values: */
|
||||
__u64 values[BTRFS_DEV_STAT_VALUES_MAX];
|
||||
|
||||
__u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX]; /* pad to 1k */
|
||||
/*
|
||||
* This pads the struct to 1032 bytes. It was originally meant to pad to
|
||||
* 1024 bytes, but when adding the flags field, the padding calculation
|
||||
* was not adjusted.
|
||||
*/
|
||||
__u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX];
|
||||
};
|
||||
|
||||
#define BTRFS_QUOTA_CTL_ENABLE 1
|
||||
|
|
@ -917,10 +922,8 @@ enum btrfs_err_code {
|
|||
#define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \
|
||||
struct btrfs_ioctl_quota_rescan_args)
|
||||
#define BTRFS_IOC_QUOTA_RESCAN_WAIT _IO(BTRFS_IOCTL_MAGIC, 46)
|
||||
#define BTRFS_IOC_GET_FSLABEL _IOR(BTRFS_IOCTL_MAGIC, 49, \
|
||||
char[BTRFS_LABEL_SIZE])
|
||||
#define BTRFS_IOC_SET_FSLABEL _IOW(BTRFS_IOCTL_MAGIC, 50, \
|
||||
char[BTRFS_LABEL_SIZE])
|
||||
#define BTRFS_IOC_GET_FSLABEL FS_IOC_GETFSLABEL
|
||||
#define BTRFS_IOC_SET_FSLABEL FS_IOC_SETFSLABEL
|
||||
#define BTRFS_IOC_GET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 52, \
|
||||
struct btrfs_ioctl_get_dev_stats)
|
||||
#define BTRFS_IOC_DEV_REPLACE _IOWR(BTRFS_IOCTL_MAGIC, 53, \
|
||||
|
|
|
|||
|
|
@ -300,7 +300,9 @@
|
|||
#define BTRFS_CSUM_SIZE 32
|
||||
|
||||
/* csum types */
|
||||
#define BTRFS_CSUM_TYPE_CRC32 0
|
||||
enum btrfs_csum_type {
|
||||
BTRFS_CSUM_TYPE_CRC32 = 0,
|
||||
};
|
||||
|
||||
/*
|
||||
* flags definitions for directory entry item type
|
||||
|
|
@ -806,11 +808,6 @@ struct btrfs_dev_stats_item {
|
|||
|
||||
#define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0
|
||||
#define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID 1
|
||||
#define BTRFS_DEV_REPLACE_ITEM_STATE_NEVER_STARTED 0
|
||||
#define BTRFS_DEV_REPLACE_ITEM_STATE_STARTED 1
|
||||
#define BTRFS_DEV_REPLACE_ITEM_STATE_SUSPENDED 2
|
||||
#define BTRFS_DEV_REPLACE_ITEM_STATE_FINISHED 3
|
||||
#define BTRFS_DEV_REPLACE_ITEM_STATE_CANCELED 4
|
||||
|
||||
struct btrfs_dev_replace_item {
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -157,7 +157,8 @@ struct canfd_frame {
|
|||
#define CAN_TP20 4 /* VAG Transport Protocol v2.0 */
|
||||
#define CAN_MCNET 5 /* Bosch MCNet */
|
||||
#define CAN_ISOTP 6 /* ISO 15765-2 Transport Protocol */
|
||||
#define CAN_NPROTO 7
|
||||
#define CAN_J1939 7 /* SAE J1939 */
|
||||
#define CAN_NPROTO 8
|
||||
|
||||
#define SOL_CAN_BASE 100
|
||||
|
||||
|
|
@ -174,6 +175,23 @@ struct sockaddr_can {
|
|||
/* transport protocol class address information (e.g. ISOTP) */
|
||||
struct { canid_t rx_id, tx_id; } tp;
|
||||
|
||||
/* J1939 address information */
|
||||
struct {
|
||||
/* 8 byte name when using dynamic addressing */
|
||||
__u64 name;
|
||||
|
||||
/* pgn:
|
||||
* 8 bit: PS in PDU2 case, else 0
|
||||
* 8 bit: PF
|
||||
* 1 bit: DP
|
||||
* 1 bit: reserved
|
||||
*/
|
||||
__u32 pgn;
|
||||
|
||||
/* 1 byte address */
|
||||
__u8 addr;
|
||||
} j1939;
|
||||
|
||||
/* reserved for future CAN protocols address information */
|
||||
} can_addr;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -80,6 +80,10 @@ enum {
|
|||
CGW_DELETED, /* number of deleted CAN frames (see max_hops param) */
|
||||
CGW_LIM_HOPS, /* limit the number of hops of this specific rule */
|
||||
CGW_MOD_UID, /* user defined identifier for modification updates */
|
||||
CGW_FDMOD_AND, /* CAN FD frame modification binary AND */
|
||||
CGW_FDMOD_OR, /* CAN FD frame modification binary OR */
|
||||
CGW_FDMOD_XOR, /* CAN FD frame modification binary XOR */
|
||||
CGW_FDMOD_SET, /* CAN FD frame modification set alternate values */
|
||||
__CGW_MAX
|
||||
};
|
||||
|
||||
|
|
@ -88,15 +92,18 @@ enum {
|
|||
#define CGW_FLAGS_CAN_ECHO 0x01
|
||||
#define CGW_FLAGS_CAN_SRC_TSTAMP 0x02
|
||||
#define CGW_FLAGS_CAN_IIF_TX_OK 0x04
|
||||
#define CGW_FLAGS_CAN_FD 0x08
|
||||
|
||||
#define CGW_MOD_FUNCS 4 /* AND OR XOR SET */
|
||||
|
||||
/* CAN frame elements that are affected by curr. 3 CAN frame modifications */
|
||||
#define CGW_MOD_ID 0x01
|
||||
#define CGW_MOD_DLC 0x02
|
||||
#define CGW_MOD_DLC 0x02 /* contains the data length in bytes */
|
||||
#define CGW_MOD_LEN CGW_MOD_DLC /* CAN FD length representation */
|
||||
#define CGW_MOD_DATA 0x04
|
||||
#define CGW_MOD_FLAGS 0x08 /* CAN FD flags */
|
||||
|
||||
#define CGW_FRAME_MODS 3 /* ID DLC DATA */
|
||||
#define CGW_FRAME_MODS 4 /* ID DLC/LEN DATA FLAGS */
|
||||
|
||||
#define MAX_MODFUNCTIONS (CGW_MOD_FUNCS * CGW_FRAME_MODS)
|
||||
|
||||
|
|
@ -105,7 +112,13 @@ struct cgw_frame_mod {
|
|||
__u8 modtype;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct cgw_fdframe_mod {
|
||||
struct canfd_frame cf;
|
||||
__u8 modtype;
|
||||
} __attribute__((packed));
|
||||
|
||||
#define CGW_MODATTR_LEN sizeof(struct cgw_frame_mod)
|
||||
#define CGW_FDMODATTR_LEN sizeof(struct cgw_fdframe_mod)
|
||||
|
||||
struct cgw_csum_xor {
|
||||
__s8 from_idx;
|
||||
|
|
|
|||
99
include/uapi/linux/can/j1939.h
Normal file
99
include/uapi/linux/can/j1939.h
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* j1939.h
|
||||
*
|
||||
* Copyright (c) 2010-2011 EIA Electronics
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_CAN_J1939_H_
|
||||
#define _UAPI_CAN_J1939_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/socket.h>
|
||||
#include <linux/can.h>
|
||||
|
||||
#define J1939_MAX_UNICAST_ADDR 0xfd
|
||||
#define J1939_IDLE_ADDR 0xfe
|
||||
#define J1939_NO_ADDR 0xff /* == broadcast or no addr */
|
||||
#define J1939_NO_NAME 0
|
||||
#define J1939_PGN_REQUEST 0x0ea00 /* Request PG */
|
||||
#define J1939_PGN_ADDRESS_CLAIMED 0x0ee00 /* Address Claimed */
|
||||
#define J1939_PGN_ADDRESS_COMMANDED 0x0fed8 /* Commanded Address */
|
||||
#define J1939_PGN_PDU1_MAX 0x3ff00
|
||||
#define J1939_PGN_MAX 0x3ffff
|
||||
#define J1939_NO_PGN 0x40000
|
||||
|
||||
/* J1939 Parameter Group Number
|
||||
*
|
||||
* bit 0-7 : PDU Specific (PS)
|
||||
* bit 8-15 : PDU Format (PF)
|
||||
* bit 16 : Data Page (DP)
|
||||
* bit 17 : Reserved (R)
|
||||
* bit 19-31 : set to zero
|
||||
*/
|
||||
typedef __u32 pgn_t;
|
||||
|
||||
/* J1939 Priority
|
||||
*
|
||||
* bit 0-2 : Priority (P)
|
||||
* bit 3-7 : set to zero
|
||||
*/
|
||||
typedef __u8 priority_t;
|
||||
|
||||
/* J1939 NAME
|
||||
*
|
||||
* bit 0-20 : Identity Number
|
||||
* bit 21-31 : Manufacturer Code
|
||||
* bit 32-34 : ECU Instance
|
||||
* bit 35-39 : Function Instance
|
||||
* bit 40-47 : Function
|
||||
* bit 48 : Reserved
|
||||
* bit 49-55 : Vehicle System
|
||||
* bit 56-59 : Vehicle System Instance
|
||||
* bit 60-62 : Industry Group
|
||||
* bit 63 : Arbitrary Address Capable
|
||||
*/
|
||||
typedef __u64 name_t;
|
||||
|
||||
/* J1939 socket options */
|
||||
#define SOL_CAN_J1939 (SOL_CAN_BASE + CAN_J1939)
|
||||
enum {
|
||||
SO_J1939_FILTER = 1, /* set filters */
|
||||
SO_J1939_PROMISC = 2, /* set/clr promiscuous mode */
|
||||
SO_J1939_SEND_PRIO = 3,
|
||||
SO_J1939_ERRQUEUE = 4,
|
||||
};
|
||||
|
||||
enum {
|
||||
SCM_J1939_DEST_ADDR = 1,
|
||||
SCM_J1939_DEST_NAME = 2,
|
||||
SCM_J1939_PRIO = 3,
|
||||
SCM_J1939_ERRQUEUE = 4,
|
||||
};
|
||||
|
||||
enum {
|
||||
J1939_NLA_PAD,
|
||||
J1939_NLA_BYTES_ACKED,
|
||||
};
|
||||
|
||||
enum {
|
||||
J1939_EE_INFO_NONE,
|
||||
J1939_EE_INFO_TX_ABORT,
|
||||
};
|
||||
|
||||
struct j1939_filter {
|
||||
name_t name;
|
||||
name_t name_mask;
|
||||
pgn_t pgn;
|
||||
pgn_t pgn_mask;
|
||||
__u8 addr;
|
||||
__u8 addr_mask;
|
||||
};
|
||||
|
||||
#define J1939_FILTER_MAX 512 /* maximum number of j1939_filter set via setsockopt() */
|
||||
|
||||
#endif /* !_UAPI_CAN_J1939_H_ */
|
||||
|
|
@ -40,15 +40,15 @@ struct can_bittiming {
|
|||
};
|
||||
|
||||
/*
|
||||
* CAN harware-dependent bit-timing constant
|
||||
* CAN hardware-dependent bit-timing constant
|
||||
*
|
||||
* Used for calculating and checking bit-timing parameters
|
||||
*/
|
||||
struct can_bittiming_const {
|
||||
char name[16]; /* Name of the CAN controller hardware */
|
||||
__u32 tseg1_min; /* Time segement 1 = prop_seg + phase_seg1 */
|
||||
__u32 tseg1_min; /* Time segment 1 = prop_seg + phase_seg1 */
|
||||
__u32 tseg1_max;
|
||||
__u32 tseg2_min; /* Time segement 2 = phase_seg2 */
|
||||
__u32 tseg2_min; /* Time segment 2 = phase_seg2 */
|
||||
__u32 tseg2_max;
|
||||
__u32 sjw_max; /* Synchronisation jump width */
|
||||
__u32 brp_min; /* Bit-rate prescaler */
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@
|
|||
* 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_CRYPTOUSER_H
|
||||
#define _UAPI_LINUX_CRYPTOUSER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Netlink configuration messages. */
|
||||
|
|
@ -198,3 +201,5 @@ struct crypto_report_acomp {
|
|||
|
||||
#define CRYPTO_REPORT_MAXSIZE (sizeof(struct crypto_user_alg) + \
|
||||
sizeof(struct crypto_report_blkcipher))
|
||||
|
||||
#endif /* _UAPI_LINUX_CRYPTOUSER_H */
|
||||
|
|
|
|||
|
|
@ -107,6 +107,16 @@ enum devlink_command {
|
|||
DEVLINK_CMD_FLASH_UPDATE_END, /* notification only */
|
||||
DEVLINK_CMD_FLASH_UPDATE_STATUS, /* notification only */
|
||||
|
||||
DEVLINK_CMD_TRAP_GET, /* can dump */
|
||||
DEVLINK_CMD_TRAP_SET,
|
||||
DEVLINK_CMD_TRAP_NEW,
|
||||
DEVLINK_CMD_TRAP_DEL,
|
||||
|
||||
DEVLINK_CMD_TRAP_GROUP_GET, /* can dump */
|
||||
DEVLINK_CMD_TRAP_GROUP_SET,
|
||||
DEVLINK_CMD_TRAP_GROUP_NEW,
|
||||
DEVLINK_CMD_TRAP_GROUP_DEL,
|
||||
|
||||
/* add new commands above here */
|
||||
__DEVLINK_CMD_MAX,
|
||||
DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
|
||||
|
|
@ -192,6 +202,56 @@ enum devlink_param_cmode {
|
|||
enum devlink_param_fw_load_policy_value {
|
||||
DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER,
|
||||
DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH,
|
||||
DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK,
|
||||
DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_UNKNOWN,
|
||||
};
|
||||
|
||||
enum devlink_param_reset_dev_on_drv_probe_value {
|
||||
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN,
|
||||
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS,
|
||||
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER,
|
||||
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK,
|
||||
};
|
||||
|
||||
enum {
|
||||
DEVLINK_ATTR_STATS_RX_PACKETS, /* u64 */
|
||||
DEVLINK_ATTR_STATS_RX_BYTES, /* u64 */
|
||||
|
||||
__DEVLINK_ATTR_STATS_MAX,
|
||||
DEVLINK_ATTR_STATS_MAX = __DEVLINK_ATTR_STATS_MAX - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum devlink_trap_action - Packet trap action.
|
||||
* @DEVLINK_TRAP_ACTION_DROP: Packet is dropped by the device and a copy is not
|
||||
* sent to the CPU.
|
||||
* @DEVLINK_TRAP_ACTION_TRAP: The sole copy of the packet is sent to the CPU.
|
||||
*/
|
||||
enum devlink_trap_action {
|
||||
DEVLINK_TRAP_ACTION_DROP,
|
||||
DEVLINK_TRAP_ACTION_TRAP,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum devlink_trap_type - Packet trap type.
|
||||
* @DEVLINK_TRAP_TYPE_DROP: Trap reason is a drop. Trapped packets are only
|
||||
* processed by devlink and not injected to the
|
||||
* kernel's Rx path.
|
||||
* @DEVLINK_TRAP_TYPE_EXCEPTION: Trap reason is an exception. Packet was not
|
||||
* forwarded as intended due to an exception
|
||||
* (e.g., missing neighbour entry) and trapped to
|
||||
* control plane for resolution. Trapped packets
|
||||
* are processed by devlink and injected to
|
||||
* the kernel's Rx path.
|
||||
*/
|
||||
enum devlink_trap_type {
|
||||
DEVLINK_TRAP_TYPE_DROP,
|
||||
DEVLINK_TRAP_TYPE_EXCEPTION,
|
||||
};
|
||||
|
||||
enum {
|
||||
/* Trap can report input port as metadata */
|
||||
DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT,
|
||||
};
|
||||
|
||||
enum devlink_attr {
|
||||
|
|
@ -348,6 +408,19 @@ enum devlink_attr {
|
|||
DEVLINK_ATTR_PORT_PCI_PF_NUMBER, /* u16 */
|
||||
DEVLINK_ATTR_PORT_PCI_VF_NUMBER, /* u16 */
|
||||
|
||||
DEVLINK_ATTR_STATS, /* nested */
|
||||
|
||||
DEVLINK_ATTR_TRAP_NAME, /* string */
|
||||
/* enum devlink_trap_action */
|
||||
DEVLINK_ATTR_TRAP_ACTION, /* u8 */
|
||||
/* enum devlink_trap_type */
|
||||
DEVLINK_ATTR_TRAP_TYPE, /* u8 */
|
||||
DEVLINK_ATTR_TRAP_GENERIC, /* flag */
|
||||
DEVLINK_ATTR_TRAP_METADATA, /* nested */
|
||||
DEVLINK_ATTR_TRAP_GROUP_NAME, /* string */
|
||||
|
||||
DEVLINK_ATTR_RELOAD_FAILED, /* u8 0 or 1 */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
__DEVLINK_ATTR_MAX,
|
||||
|
|
|
|||
|
|
@ -259,10 +259,32 @@ struct ethtool_tunable {
|
|||
#define ETHTOOL_PHY_FAST_LINK_DOWN_ON 0
|
||||
#define ETHTOOL_PHY_FAST_LINK_DOWN_OFF 0xff
|
||||
|
||||
/* Energy Detect Power Down (EDPD) is a feature supported by some PHYs, where
|
||||
* the PHY's RX & TX blocks are put into a low-power mode when there is no
|
||||
* link detected (typically cable is un-plugged). For RX, only a minimal
|
||||
* link-detection is available, and for TX the PHY wakes up to send link pulses
|
||||
* to avoid any lock-ups in case the peer PHY may also be running in EDPD mode.
|
||||
*
|
||||
* Some PHYs may support configuration of the wake-up interval for TX pulses,
|
||||
* and some PHYs may support only disabling TX pulses entirely. For the latter
|
||||
* a special value is required (ETHTOOL_PHY_EDPD_NO_TX) so that this can be
|
||||
* configured from userspace (should the user want it).
|
||||
*
|
||||
* The interval units for TX wake-up are in milliseconds, since this should
|
||||
* cover a reasonable range of intervals:
|
||||
* - from 1 millisecond, which does not sound like much of a power-saver
|
||||
* - to ~65 seconds which is quite a lot to wait for a link to come up when
|
||||
* plugging a cable
|
||||
*/
|
||||
#define ETHTOOL_PHY_EDPD_DFLT_TX_MSECS 0xffff
|
||||
#define ETHTOOL_PHY_EDPD_NO_TX 0xfffe
|
||||
#define ETHTOOL_PHY_EDPD_DISABLE 0
|
||||
|
||||
enum phy_tunable_id {
|
||||
ETHTOOL_PHY_ID_UNSPEC,
|
||||
ETHTOOL_PHY_DOWNSHIFT,
|
||||
ETHTOOL_PHY_FAST_LINK_DOWN,
|
||||
ETHTOOL_PHY_EDPD,
|
||||
/*
|
||||
* Add your fresh new phy tunable attribute above and remember to update
|
||||
* phy_tunable_strings[] in net/core/ethtool.c
|
||||
|
|
|
|||
|
|
@ -176,4 +176,22 @@ struct dfl_fpga_fme_port_pr {
|
|||
|
||||
#define DFL_FPGA_FME_PORT_PR _IO(DFL_FPGA_MAGIC, DFL_FME_BASE + 0)
|
||||
|
||||
/**
|
||||
* DFL_FPGA_FME_PORT_RELEASE - _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 1,
|
||||
* int port_id)
|
||||
*
|
||||
* Driver releases the port per Port ID provided by caller.
|
||||
* Return: 0 on success, -errno on failure.
|
||||
*/
|
||||
#define DFL_FPGA_FME_PORT_RELEASE _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 1, int)
|
||||
|
||||
/**
|
||||
* DFL_FPGA_FME_PORT_ASSIGN - _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 2,
|
||||
* int port_id)
|
||||
*
|
||||
* Driver assigns the port back per Port ID provided by caller.
|
||||
* Return: 0 on success, -errno on failure.
|
||||
*/
|
||||
#define DFL_FPGA_FME_PORT_ASSIGN _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 2, int)
|
||||
|
||||
#endif /* _UAPI_LINUX_FPGA_DFL_H */
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@
|
|||
#include <linux/limits.h>
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
#ifndef __KERNEL__
|
||||
#include <linux/fscrypt.h>
|
||||
#endif
|
||||
|
||||
/* Use of MS_* flags within the kernel is restricted to core mount(2) code. */
|
||||
#if !defined(__KERNEL__)
|
||||
|
|
@ -212,57 +215,6 @@ struct fsxattr {
|
|||
#define FS_IOC_GETFSLABEL _IOR(0x94, 49, char[FSLABEL_MAX])
|
||||
#define FS_IOC_SETFSLABEL _IOW(0x94, 50, char[FSLABEL_MAX])
|
||||
|
||||
/*
|
||||
* File system encryption support
|
||||
*/
|
||||
/* Policy provided via an ioctl on the topmost directory */
|
||||
#define FS_KEY_DESCRIPTOR_SIZE 8
|
||||
|
||||
#define FS_POLICY_FLAGS_PAD_4 0x00
|
||||
#define FS_POLICY_FLAGS_PAD_8 0x01
|
||||
#define FS_POLICY_FLAGS_PAD_16 0x02
|
||||
#define FS_POLICY_FLAGS_PAD_32 0x03
|
||||
#define FS_POLICY_FLAGS_PAD_MASK 0x03
|
||||
#define FS_POLICY_FLAG_DIRECT_KEY 0x04 /* use master key directly */
|
||||
#define FS_POLICY_FLAGS_VALID 0x07
|
||||
|
||||
/* Encryption algorithms */
|
||||
#define FS_ENCRYPTION_MODE_INVALID 0
|
||||
#define FS_ENCRYPTION_MODE_AES_256_XTS 1
|
||||
#define FS_ENCRYPTION_MODE_AES_256_GCM 2
|
||||
#define FS_ENCRYPTION_MODE_AES_256_CBC 3
|
||||
#define FS_ENCRYPTION_MODE_AES_256_CTS 4
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CBC 5
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CTS 6
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7 /* Removed, do not use. */
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8 /* Removed, do not use. */
|
||||
#define FS_ENCRYPTION_MODE_ADIANTUM 9
|
||||
|
||||
struct fscrypt_policy {
|
||||
__u8 version;
|
||||
__u8 contents_encryption_mode;
|
||||
__u8 filenames_encryption_mode;
|
||||
__u8 flags;
|
||||
__u8 master_key_descriptor[FS_KEY_DESCRIPTOR_SIZE];
|
||||
};
|
||||
|
||||
#define FS_IOC_SET_ENCRYPTION_POLICY _IOR('f', 19, struct fscrypt_policy)
|
||||
#define FS_IOC_GET_ENCRYPTION_PWSALT _IOW('f', 20, __u8[16])
|
||||
#define FS_IOC_GET_ENCRYPTION_POLICY _IOW('f', 21, struct fscrypt_policy)
|
||||
|
||||
/* Parameters for passing an encryption key into the kernel keyring */
|
||||
#define FS_KEY_DESC_PREFIX "fscrypt:"
|
||||
#define FS_KEY_DESC_PREFIX_SIZE 8
|
||||
|
||||
/* Structure that userspace passes to the kernel keyring */
|
||||
#define FS_MAX_KEY_SIZE 64
|
||||
|
||||
struct fscrypt_key {
|
||||
__u32 mode;
|
||||
__u8 raw[FS_MAX_KEY_SIZE];
|
||||
__u32 size;
|
||||
};
|
||||
|
||||
/*
|
||||
* Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)
|
||||
*
|
||||
|
|
@ -306,6 +258,7 @@ struct fscrypt_key {
|
|||
#define FS_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
|
||||
#define FS_HUGE_FILE_FL 0x00040000 /* Reserved for ext4 */
|
||||
#define FS_EXTENT_FL 0x00080000 /* Extents */
|
||||
#define FS_VERITY_FL 0x00100000 /* Verity protected inode */
|
||||
#define FS_EA_INODE_FL 0x00200000 /* Inode used for large EA */
|
||||
#define FS_EOFBLOCKS_FL 0x00400000 /* Reserved for ext4 */
|
||||
#define FS_NOCOW_FL 0x00800000 /* Do not cow file */
|
||||
|
|
|
|||
181
include/uapi/linux/fscrypt.h
Normal file
181
include/uapi/linux/fscrypt.h
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* fscrypt user API
|
||||
*
|
||||
* These ioctls can be used on filesystems that support fscrypt. See the
|
||||
* "User API" section of Documentation/filesystems/fscrypt.rst.
|
||||
*/
|
||||
#ifndef _UAPI_LINUX_FSCRYPT_H
|
||||
#define _UAPI_LINUX_FSCRYPT_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Encryption policy flags */
|
||||
#define FSCRYPT_POLICY_FLAGS_PAD_4 0x00
|
||||
#define FSCRYPT_POLICY_FLAGS_PAD_8 0x01
|
||||
#define FSCRYPT_POLICY_FLAGS_PAD_16 0x02
|
||||
#define FSCRYPT_POLICY_FLAGS_PAD_32 0x03
|
||||
#define FSCRYPT_POLICY_FLAGS_PAD_MASK 0x03
|
||||
#define FSCRYPT_POLICY_FLAG_DIRECT_KEY 0x04
|
||||
#define FSCRYPT_POLICY_FLAGS_VALID 0x07
|
||||
|
||||
/* Encryption algorithms */
|
||||
#define FSCRYPT_MODE_AES_256_XTS 1
|
||||
#define FSCRYPT_MODE_AES_256_CTS 4
|
||||
#define FSCRYPT_MODE_AES_128_CBC 5
|
||||
#define FSCRYPT_MODE_AES_128_CTS 6
|
||||
#define FSCRYPT_MODE_ADIANTUM 9
|
||||
#define __FSCRYPT_MODE_MAX 9
|
||||
|
||||
/*
|
||||
* Legacy policy version; ad-hoc KDF and no key verification.
|
||||
* For new encrypted directories, use fscrypt_policy_v2 instead.
|
||||
*
|
||||
* Careful: the .version field for this is actually 0, not 1.
|
||||
*/
|
||||
#define FSCRYPT_POLICY_V1 0
|
||||
#define FSCRYPT_KEY_DESCRIPTOR_SIZE 8
|
||||
struct fscrypt_policy_v1 {
|
||||
__u8 version;
|
||||
__u8 contents_encryption_mode;
|
||||
__u8 filenames_encryption_mode;
|
||||
__u8 flags;
|
||||
__u8 master_key_descriptor[FSCRYPT_KEY_DESCRIPTOR_SIZE];
|
||||
};
|
||||
#define fscrypt_policy fscrypt_policy_v1
|
||||
|
||||
/*
|
||||
* Process-subscribed "logon" key description prefix and payload format.
|
||||
* Deprecated; prefer FS_IOC_ADD_ENCRYPTION_KEY instead.
|
||||
*/
|
||||
#define FSCRYPT_KEY_DESC_PREFIX "fscrypt:"
|
||||
#define FSCRYPT_KEY_DESC_PREFIX_SIZE 8
|
||||
#define FSCRYPT_MAX_KEY_SIZE 64
|
||||
struct fscrypt_key {
|
||||
__u32 mode;
|
||||
__u8 raw[FSCRYPT_MAX_KEY_SIZE];
|
||||
__u32 size;
|
||||
};
|
||||
|
||||
/*
|
||||
* New policy version with HKDF and key verification (recommended).
|
||||
*/
|
||||
#define FSCRYPT_POLICY_V2 2
|
||||
#define FSCRYPT_KEY_IDENTIFIER_SIZE 16
|
||||
struct fscrypt_policy_v2 {
|
||||
__u8 version;
|
||||
__u8 contents_encryption_mode;
|
||||
__u8 filenames_encryption_mode;
|
||||
__u8 flags;
|
||||
__u8 __reserved[4];
|
||||
__u8 master_key_identifier[FSCRYPT_KEY_IDENTIFIER_SIZE];
|
||||
};
|
||||
|
||||
/* Struct passed to FS_IOC_GET_ENCRYPTION_POLICY_EX */
|
||||
struct fscrypt_get_policy_ex_arg {
|
||||
__u64 policy_size; /* input/output */
|
||||
union {
|
||||
__u8 version;
|
||||
struct fscrypt_policy_v1 v1;
|
||||
struct fscrypt_policy_v2 v2;
|
||||
} policy; /* output */
|
||||
};
|
||||
|
||||
/*
|
||||
* v1 policy keys are specified by an arbitrary 8-byte key "descriptor",
|
||||
* matching fscrypt_policy_v1::master_key_descriptor.
|
||||
*/
|
||||
#define FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR 1
|
||||
|
||||
/*
|
||||
* v2 policy keys are specified by a 16-byte key "identifier" which the kernel
|
||||
* calculates as a cryptographic hash of the key itself,
|
||||
* matching fscrypt_policy_v2::master_key_identifier.
|
||||
*/
|
||||
#define FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER 2
|
||||
|
||||
/*
|
||||
* Specifies a key, either for v1 or v2 policies. This doesn't contain the
|
||||
* actual key itself; this is just the "name" of the key.
|
||||
*/
|
||||
struct fscrypt_key_specifier {
|
||||
__u32 type; /* one of FSCRYPT_KEY_SPEC_TYPE_* */
|
||||
__u32 __reserved;
|
||||
union {
|
||||
__u8 __reserved[32]; /* reserve some extra space */
|
||||
__u8 descriptor[FSCRYPT_KEY_DESCRIPTOR_SIZE];
|
||||
__u8 identifier[FSCRYPT_KEY_IDENTIFIER_SIZE];
|
||||
} u;
|
||||
};
|
||||
|
||||
/* Struct passed to FS_IOC_ADD_ENCRYPTION_KEY */
|
||||
struct fscrypt_add_key_arg {
|
||||
struct fscrypt_key_specifier key_spec;
|
||||
__u32 raw_size;
|
||||
__u32 __reserved[9];
|
||||
__u8 raw[];
|
||||
};
|
||||
|
||||
/* Struct passed to FS_IOC_REMOVE_ENCRYPTION_KEY */
|
||||
struct fscrypt_remove_key_arg {
|
||||
struct fscrypt_key_specifier key_spec;
|
||||
#define FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY 0x00000001
|
||||
#define FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS 0x00000002
|
||||
__u32 removal_status_flags; /* output */
|
||||
__u32 __reserved[5];
|
||||
};
|
||||
|
||||
/* Struct passed to FS_IOC_GET_ENCRYPTION_KEY_STATUS */
|
||||
struct fscrypt_get_key_status_arg {
|
||||
/* input */
|
||||
struct fscrypt_key_specifier key_spec;
|
||||
__u32 __reserved[6];
|
||||
|
||||
/* output */
|
||||
#define FSCRYPT_KEY_STATUS_ABSENT 1
|
||||
#define FSCRYPT_KEY_STATUS_PRESENT 2
|
||||
#define FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED 3
|
||||
__u32 status;
|
||||
#define FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF 0x00000001
|
||||
__u32 status_flags;
|
||||
__u32 user_count;
|
||||
__u32 __out_reserved[13];
|
||||
};
|
||||
|
||||
#define FS_IOC_SET_ENCRYPTION_POLICY _IOR('f', 19, struct fscrypt_policy)
|
||||
#define FS_IOC_GET_ENCRYPTION_PWSALT _IOW('f', 20, __u8[16])
|
||||
#define FS_IOC_GET_ENCRYPTION_POLICY _IOW('f', 21, struct fscrypt_policy)
|
||||
#define FS_IOC_GET_ENCRYPTION_POLICY_EX _IOWR('f', 22, __u8[9]) /* size + version */
|
||||
#define FS_IOC_ADD_ENCRYPTION_KEY _IOWR('f', 23, struct fscrypt_add_key_arg)
|
||||
#define FS_IOC_REMOVE_ENCRYPTION_KEY _IOWR('f', 24, struct fscrypt_remove_key_arg)
|
||||
#define FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS _IOWR('f', 25, struct fscrypt_remove_key_arg)
|
||||
#define FS_IOC_GET_ENCRYPTION_KEY_STATUS _IOWR('f', 26, struct fscrypt_get_key_status_arg)
|
||||
|
||||
/**********************************************************************/
|
||||
|
||||
/* old names; don't add anything new here! */
|
||||
#ifndef __KERNEL__
|
||||
#define FS_KEY_DESCRIPTOR_SIZE FSCRYPT_KEY_DESCRIPTOR_SIZE
|
||||
#define FS_POLICY_FLAGS_PAD_4 FSCRYPT_POLICY_FLAGS_PAD_4
|
||||
#define FS_POLICY_FLAGS_PAD_8 FSCRYPT_POLICY_FLAGS_PAD_8
|
||||
#define FS_POLICY_FLAGS_PAD_16 FSCRYPT_POLICY_FLAGS_PAD_16
|
||||
#define FS_POLICY_FLAGS_PAD_32 FSCRYPT_POLICY_FLAGS_PAD_32
|
||||
#define FS_POLICY_FLAGS_PAD_MASK FSCRYPT_POLICY_FLAGS_PAD_MASK
|
||||
#define FS_POLICY_FLAG_DIRECT_KEY FSCRYPT_POLICY_FLAG_DIRECT_KEY
|
||||
#define FS_POLICY_FLAGS_VALID FSCRYPT_POLICY_FLAGS_VALID
|
||||
#define FS_ENCRYPTION_MODE_INVALID 0 /* never used */
|
||||
#define FS_ENCRYPTION_MODE_AES_256_XTS FSCRYPT_MODE_AES_256_XTS
|
||||
#define FS_ENCRYPTION_MODE_AES_256_GCM 2 /* never used */
|
||||
#define FS_ENCRYPTION_MODE_AES_256_CBC 3 /* never used */
|
||||
#define FS_ENCRYPTION_MODE_AES_256_CTS FSCRYPT_MODE_AES_256_CTS
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CBC FSCRYPT_MODE_AES_128_CBC
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CTS FSCRYPT_MODE_AES_128_CTS
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7 /* removed */
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8 /* removed */
|
||||
#define FS_ENCRYPTION_MODE_ADIANTUM FSCRYPT_MODE_ADIANTUM
|
||||
#define FS_KEY_DESC_PREFIX FSCRYPT_KEY_DESC_PREFIX
|
||||
#define FS_KEY_DESC_PREFIX_SIZE FSCRYPT_KEY_DESC_PREFIX_SIZE
|
||||
#define FS_MAX_KEY_SIZE FSCRYPT_MAX_KEY_SIZE
|
||||
#endif /* !__KERNEL__ */
|
||||
|
||||
#endif /* _UAPI_LINUX_FSCRYPT_H */
|
||||
40
include/uapi/linux/fsverity.h
Normal file
40
include/uapi/linux/fsverity.h
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* fs-verity user API
|
||||
*
|
||||
* These ioctls can be used on filesystems that support fs-verity. See the
|
||||
* "User API" section of Documentation/filesystems/fsverity.rst.
|
||||
*
|
||||
* Copyright 2019 Google LLC
|
||||
*/
|
||||
#ifndef _UAPI_LINUX_FSVERITY_H
|
||||
#define _UAPI_LINUX_FSVERITY_H
|
||||
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#define FS_VERITY_HASH_ALG_SHA256 1
|
||||
#define FS_VERITY_HASH_ALG_SHA512 2
|
||||
|
||||
struct fsverity_enable_arg {
|
||||
__u32 version;
|
||||
__u32 hash_algorithm;
|
||||
__u32 block_size;
|
||||
__u32 salt_size;
|
||||
__u64 salt_ptr;
|
||||
__u32 sig_size;
|
||||
__u32 __reserved1;
|
||||
__u64 sig_ptr;
|
||||
__u64 __reserved2[11];
|
||||
};
|
||||
|
||||
struct fsverity_digest {
|
||||
__u16 digest_algorithm;
|
||||
__u16 digest_size; /* input/output */
|
||||
__u8 digest[];
|
||||
};
|
||||
|
||||
#define FS_IOC_ENABLE_VERITY _IOW('f', 133, struct fsverity_enable_arg)
|
||||
#define FS_IOC_MEASURE_VERITY _IOWR('f', 134, struct fsverity_digest)
|
||||
|
||||
#endif /* _UAPI_LINUX_FSVERITY_H */
|
||||
|
|
@ -37,5 +37,7 @@ struct gsm_netconfig {
|
|||
#define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig)
|
||||
#define GSMIOC_DISABLE_NET _IO('G', 3)
|
||||
|
||||
/* get the base tty number for a configured gsmmux tty */
|
||||
#define GSMIOC_GETFIRST _IOR('G', 4, __u32)
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -237,6 +237,7 @@ struct br_mdb_entry {
|
|||
#define MDB_PERMANENT 1
|
||||
__u8 state;
|
||||
#define MDB_FLAGS_OFFLOAD (1 << 0)
|
||||
#define MDB_FLAGS_FAST_LEAVE (1 << 1)
|
||||
__u8 flags;
|
||||
__u16 vid;
|
||||
struct {
|
||||
|
|
|
|||
|
|
@ -16,6 +16,18 @@
|
|||
#define XDP_SHARED_UMEM (1 << 0)
|
||||
#define XDP_COPY (1 << 1) /* Force copy-mode */
|
||||
#define XDP_ZEROCOPY (1 << 2) /* Force zero-copy mode */
|
||||
/* If this option is set, the driver might go sleep and in that case
|
||||
* the XDP_RING_NEED_WAKEUP flag in the fill and/or Tx rings will be
|
||||
* set. If it is set, the application need to explicitly wake up the
|
||||
* driver with a poll() (Rx and Tx) or sendto() (Tx only). If you are
|
||||
* running the driver and the application on the same core, you should
|
||||
* use this option so that the kernel will yield to the user space
|
||||
* application.
|
||||
*/
|
||||
#define XDP_USE_NEED_WAKEUP (1 << 3)
|
||||
|
||||
/* Flags for xsk_umem_config flags */
|
||||
#define XDP_UMEM_UNALIGNED_CHUNK_FLAG (1 << 0)
|
||||
|
||||
struct sockaddr_xdp {
|
||||
__u16 sxdp_family;
|
||||
|
|
@ -25,10 +37,14 @@ struct sockaddr_xdp {
|
|||
__u32 sxdp_shared_umem_fd;
|
||||
};
|
||||
|
||||
/* XDP_RING flags */
|
||||
#define XDP_RING_NEED_WAKEUP (1 << 0)
|
||||
|
||||
struct xdp_ring_offset {
|
||||
__u64 producer;
|
||||
__u64 consumer;
|
||||
__u64 desc;
|
||||
__u64 flags;
|
||||
};
|
||||
|
||||
struct xdp_mmap_offsets {
|
||||
|
|
@ -53,6 +69,7 @@ struct xdp_umem_reg {
|
|||
__u64 len; /* Length of packet data area */
|
||||
__u32 chunk_size;
|
||||
__u32 headroom;
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
struct xdp_statistics {
|
||||
|
|
@ -74,6 +91,11 @@ struct xdp_options {
|
|||
#define XDP_UMEM_PGOFF_FILL_RING 0x100000000ULL
|
||||
#define XDP_UMEM_PGOFF_COMPLETION_RING 0x180000000ULL
|
||||
|
||||
/* Masks for unaligned chunks mode */
|
||||
#define XSK_UNALIGNED_BUF_OFFSET_SHIFT 48
|
||||
#define XSK_UNALIGNED_BUF_ADDR_MASK \
|
||||
((1ULL << XSK_UNALIGNED_BUF_OFFSET_SHIFT) - 1)
|
||||
|
||||
/* Rx/Tx descriptor */
|
||||
struct xdp_desc {
|
||||
__u64 addr;
|
||||
|
|
|
|||
|
|
@ -153,11 +153,20 @@ enum {
|
|||
INET_DIAG_BBRINFO, /* request as INET_DIAG_VEGASINFO */
|
||||
INET_DIAG_CLASS_ID, /* request as INET_DIAG_TCLASS */
|
||||
INET_DIAG_MD5SIG,
|
||||
INET_DIAG_ULP_INFO,
|
||||
__INET_DIAG_MAX,
|
||||
};
|
||||
|
||||
#define INET_DIAG_MAX (__INET_DIAG_MAX - 1)
|
||||
|
||||
enum {
|
||||
INET_ULP_INFO_UNSPEC,
|
||||
INET_ULP_INFO_NAME,
|
||||
INET_ULP_INFO_TLS,
|
||||
__INET_ULP_INFO_MAX,
|
||||
};
|
||||
#define INET_ULP_INFO_MAX (__INET_ULP_INFO_MAX - 1)
|
||||
|
||||
/* INET_DIAG_MEM */
|
||||
|
||||
struct inet_diag_meminfo {
|
||||
|
|
|
|||
|
|
@ -128,11 +128,17 @@ struct io_uring_params {
|
|||
__u32 flags;
|
||||
__u32 sq_thread_cpu;
|
||||
__u32 sq_thread_idle;
|
||||
__u32 resv[5];
|
||||
__u32 features;
|
||||
__u32 resv[4];
|
||||
struct io_sqring_offsets sq_off;
|
||||
struct io_cqring_offsets cq_off;
|
||||
};
|
||||
|
||||
/*
|
||||
* io_uring_params->features flags
|
||||
*/
|
||||
#define IORING_FEAT_SINGLE_MMAP (1U << 0)
|
||||
|
||||
/*
|
||||
* io_uring_register(2) opcodes and arguments
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
#define KEXEC_ARCH_DEFAULT ( 0 << 16)
|
||||
#define KEXEC_ARCH_386 ( 3 << 16)
|
||||
#define KEXEC_ARCH_68K ( 4 << 16)
|
||||
#define KEXEC_ARCH_PARISC (15 << 16)
|
||||
#define KEXEC_ARCH_X86_64 (62 << 16)
|
||||
#define KEXEC_ARCH_PPC (20 << 16)
|
||||
#define KEXEC_ARCH_PPC64 (21 << 16)
|
||||
|
|
|
|||
|
|
@ -243,6 +243,8 @@ struct kvm_hyperv_exit {
|
|||
#define KVM_INTERNAL_ERROR_SIMUL_EX 2
|
||||
/* Encounter unexpected vm-exit due to delivery event. */
|
||||
#define KVM_INTERNAL_ERROR_DELIVERY_EV 3
|
||||
/* Encounter unexpected vm-exit reason */
|
||||
#define KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON 4
|
||||
|
||||
/* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */
|
||||
struct kvm_run {
|
||||
|
|
@ -996,6 +998,7 @@ struct kvm_ppc_resize_hpt {
|
|||
#define KVM_CAP_ARM_PTRAUTH_ADDRESS 171
|
||||
#define KVM_CAP_ARM_PTRAUTH_GENERIC 172
|
||||
#define KVM_CAP_PMU_EVENT_FILTER 173
|
||||
#define KVM_CAP_ARM_IRQ_LINE_LAYOUT_2 174
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#define SQUASHFS_MAGIC 0x73717368
|
||||
#define ECRYPTFS_SUPER_MAGIC 0xf15f
|
||||
#define EFS_SUPER_MAGIC 0x414A53
|
||||
#define EROFS_SUPER_MAGIC_V1 0xE0F5E1E2
|
||||
#define EXT2_SUPER_MAGIC 0xEF53
|
||||
#define EXT3_SUPER_MAGIC 0xEF53
|
||||
#define XENFS_SUPER_MAGIC 0xabba1974
|
||||
|
|
|
|||
|
|
@ -45,11 +45,14 @@
|
|||
#define MDIO_AN_ADVERTISE 16 /* AN advertising (base page) */
|
||||
#define MDIO_AN_LPA 19 /* AN LP abilities (base page) */
|
||||
#define MDIO_PCS_EEE_ABLE 20 /* EEE Capability register */
|
||||
#define MDIO_PCS_EEE_ABLE2 21 /* EEE Capability register 2 */
|
||||
#define MDIO_PMA_NG_EXTABLE 21 /* 2.5G/5G PMA/PMD extended ability */
|
||||
#define MDIO_PCS_EEE_WK_ERR 22 /* EEE wake error counter */
|
||||
#define MDIO_PHYXS_LNSTAT 24 /* PHY XGXS lane state */
|
||||
#define MDIO_AN_EEE_ADV 60 /* EEE advertisement */
|
||||
#define MDIO_AN_EEE_LPABLE 61 /* EEE link partner ability */
|
||||
#define MDIO_AN_EEE_ADV2 62 /* EEE advertisement 2 */
|
||||
#define MDIO_AN_EEE_LPABLE2 63 /* EEE link partner ability 2 */
|
||||
|
||||
/* Media-dependent registers. */
|
||||
#define MDIO_PMA_10GBT_SWAPPOL 130 /* 10GBASE-T pair swap & polarity */
|
||||
|
|
@ -276,6 +279,13 @@
|
|||
#define MDIO_EEE_1000KX 0x0010 /* 1000KX EEE cap */
|
||||
#define MDIO_EEE_10GKX4 0x0020 /* 10G KX4 EEE cap */
|
||||
#define MDIO_EEE_10GKR 0x0040 /* 10G KR EEE cap */
|
||||
#define MDIO_EEE_40GR_FW 0x0100 /* 40G R fast wake */
|
||||
#define MDIO_EEE_40GR_DS 0x0200 /* 40G R deep sleep */
|
||||
#define MDIO_EEE_100GR_FW 0x1000 /* 100G R fast wake */
|
||||
#define MDIO_EEE_100GR_DS 0x2000 /* 100G R deep sleep */
|
||||
|
||||
#define MDIO_EEE_2_5GT 0x0001 /* 2.5GT EEE cap */
|
||||
#define MDIO_EEE_5GT 0x0002 /* 5GT EEE cap */
|
||||
|
||||
/* 2.5G/5G Extended abilities register. */
|
||||
#define MDIO_PMA_NG_EXTABLE_2_5GBT 0x0001 /* 2.5GBASET ability */
|
||||
|
|
|
|||
|
|
@ -53,6 +53,11 @@ enum {
|
|||
NET_DM_CMD_CONFIG,
|
||||
NET_DM_CMD_START,
|
||||
NET_DM_CMD_STOP,
|
||||
NET_DM_CMD_PACKET_ALERT,
|
||||
NET_DM_CMD_CONFIG_GET,
|
||||
NET_DM_CMD_CONFIG_NEW,
|
||||
NET_DM_CMD_STATS_GET,
|
||||
NET_DM_CMD_STATS_NEW,
|
||||
_NET_DM_CMD_MAX,
|
||||
};
|
||||
|
||||
|
|
@ -62,4 +67,65 @@ enum {
|
|||
* Our group identifiers
|
||||
*/
|
||||
#define NET_DM_GRP_ALERT 1
|
||||
|
||||
enum net_dm_attr {
|
||||
NET_DM_ATTR_UNSPEC,
|
||||
|
||||
NET_DM_ATTR_ALERT_MODE, /* u8 */
|
||||
NET_DM_ATTR_PC, /* u64 */
|
||||
NET_DM_ATTR_SYMBOL, /* string */
|
||||
NET_DM_ATTR_IN_PORT, /* nested */
|
||||
NET_DM_ATTR_TIMESTAMP, /* u64 */
|
||||
NET_DM_ATTR_PROTO, /* u16 */
|
||||
NET_DM_ATTR_PAYLOAD, /* binary */
|
||||
NET_DM_ATTR_PAD,
|
||||
NET_DM_ATTR_TRUNC_LEN, /* u32 */
|
||||
NET_DM_ATTR_ORIG_LEN, /* u32 */
|
||||
NET_DM_ATTR_QUEUE_LEN, /* u32 */
|
||||
NET_DM_ATTR_STATS, /* nested */
|
||||
NET_DM_ATTR_HW_STATS, /* nested */
|
||||
NET_DM_ATTR_ORIGIN, /* u16 */
|
||||
NET_DM_ATTR_HW_TRAP_GROUP_NAME, /* string */
|
||||
NET_DM_ATTR_HW_TRAP_NAME, /* string */
|
||||
NET_DM_ATTR_HW_ENTRIES, /* nested */
|
||||
NET_DM_ATTR_HW_ENTRY, /* nested */
|
||||
NET_DM_ATTR_HW_TRAP_COUNT, /* u32 */
|
||||
NET_DM_ATTR_SW_DROPS, /* flag */
|
||||
NET_DM_ATTR_HW_DROPS, /* flag */
|
||||
|
||||
__NET_DM_ATTR_MAX,
|
||||
NET_DM_ATTR_MAX = __NET_DM_ATTR_MAX - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum net_dm_alert_mode - Alert mode.
|
||||
* @NET_DM_ALERT_MODE_SUMMARY: A summary of recent drops is sent to user space.
|
||||
* @NET_DM_ALERT_MODE_PACKET: Each dropped packet is sent to user space along
|
||||
* with metadata.
|
||||
*/
|
||||
enum net_dm_alert_mode {
|
||||
NET_DM_ALERT_MODE_SUMMARY,
|
||||
NET_DM_ALERT_MODE_PACKET,
|
||||
};
|
||||
|
||||
enum {
|
||||
NET_DM_ATTR_PORT_NETDEV_IFINDEX, /* u32 */
|
||||
NET_DM_ATTR_PORT_NETDEV_NAME, /* string */
|
||||
|
||||
__NET_DM_ATTR_PORT_MAX,
|
||||
NET_DM_ATTR_PORT_MAX = __NET_DM_ATTR_PORT_MAX - 1
|
||||
};
|
||||
|
||||
enum {
|
||||
NET_DM_ATTR_STATS_DROPPED, /* u64 */
|
||||
|
||||
__NET_DM_ATTR_STATS_MAX,
|
||||
NET_DM_ATTR_STATS_MAX = __NET_DM_ATTR_STATS_MAX - 1
|
||||
};
|
||||
|
||||
enum net_dm_origin {
|
||||
NET_DM_ORIGIN_SW,
|
||||
NET_DM_ORIGIN_HW,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -636,6 +636,7 @@ enum nft_lookup_attributes {
|
|||
enum nft_dynset_ops {
|
||||
NFT_DYNSET_OP_ADD,
|
||||
NFT_DYNSET_OP_UPDATE,
|
||||
NFT_DYNSET_OP_DELETE,
|
||||
};
|
||||
|
||||
enum nft_dynset_flags {
|
||||
|
|
@ -799,6 +800,9 @@ enum nft_exthdr_attributes {
|
|||
* @NFT_META_OIFKIND: packet output interface kind name (dev->rtnl_link_ops->kind)
|
||||
* @NFT_META_BRI_IIFPVID: packet input bridge port pvid
|
||||
* @NFT_META_BRI_IIFVPROTO: packet input bridge vlan proto
|
||||
* @NFT_META_TIME_NS: time since epoch (in nanoseconds)
|
||||
* @NFT_META_TIME_DAY: day of week (from 0 = Sunday to 6 = Saturday)
|
||||
* @NFT_META_TIME_HOUR: hour of day (in seconds)
|
||||
*/
|
||||
enum nft_meta_keys {
|
||||
NFT_META_LEN,
|
||||
|
|
@ -831,6 +835,9 @@ enum nft_meta_keys {
|
|||
NFT_META_OIFKIND,
|
||||
NFT_META_BRI_IIFPVID,
|
||||
NFT_META_BRI_IIFVPROTO,
|
||||
NFT_META_TIME_NS,
|
||||
NFT_META_TIME_DAY,
|
||||
NFT_META_TIME_HOUR,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -1474,7 +1481,8 @@ enum nft_ct_expectation_attributes {
|
|||
#define NFT_OBJECT_CT_TIMEOUT 7
|
||||
#define NFT_OBJECT_SECMARK 8
|
||||
#define NFT_OBJECT_CT_EXPECT 9
|
||||
#define __NFT_OBJECT_MAX 10
|
||||
#define NFT_OBJECT_SYNPROXY 10
|
||||
#define __NFT_OBJECT_MAX 11
|
||||
#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1)
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -33,6 +33,15 @@ struct nfulnl_msg_packet_timestamp {
|
|||
__aligned_be64 usec;
|
||||
};
|
||||
|
||||
enum nfulnl_vlan_attr {
|
||||
NFULA_VLAN_UNSPEC,
|
||||
NFULA_VLAN_PROTO, /* __be16 skb vlan_proto */
|
||||
NFULA_VLAN_TCI, /* __be16 skb htons(vlan_tci) */
|
||||
__NFULA_VLAN_MAX,
|
||||
};
|
||||
|
||||
#define NFULA_VLAN_MAX (__NFULA_VLAN_MAX + 1)
|
||||
|
||||
enum nfulnl_attr_type {
|
||||
NFULA_UNSPEC,
|
||||
NFULA_PACKET_HDR,
|
||||
|
|
@ -54,6 +63,8 @@ enum nfulnl_attr_type {
|
|||
NFULA_HWLEN, /* hardware header length */
|
||||
NFULA_CT, /* nf_conntrack_netlink.h */
|
||||
NFULA_CT_INFO, /* enum ip_conntrack_info */
|
||||
NFULA_VLAN, /* nested attribute: packet vlan info */
|
||||
NFULA_L2HDR, /* full L2 header */
|
||||
|
||||
__NFULA_MAX
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _XT_POLICY_H
|
||||
#define _XT_POLICY_H
|
||||
|
||||
#include <linux/netfilter.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/in6.h>
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
#ifndef _IPT_LOG_H
|
||||
#define _IPT_LOG_H
|
||||
|
||||
#warning "Please update iptables, this file will be removed soon!"
|
||||
|
||||
/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */
|
||||
#define IPT_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */
|
||||
#define IPT_LOG_TCPOPT 0x02 /* Log TCP options */
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
#ifndef _IP6T_LOG_H
|
||||
#define _IP6T_LOG_H
|
||||
|
||||
#warning "Please update iptables, this file will be removed soon!"
|
||||
|
||||
/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */
|
||||
#define IP6T_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */
|
||||
#define IP6T_LOG_TCPOPT 0x02 /* Log TCP options */
|
||||
|
|
|
|||
|
|
@ -52,6 +52,11 @@
|
|||
#define NL80211_MULTICAST_GROUP_NAN "nan"
|
||||
#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
|
||||
|
||||
#define NL80211_EDMG_BW_CONFIG_MIN 4
|
||||
#define NL80211_EDMG_BW_CONFIG_MAX 15
|
||||
#define NL80211_EDMG_CHANNELS_MIN 1
|
||||
#define NL80211_EDMG_CHANNELS_MAX 0x3c /* 0b00111100 */
|
||||
|
||||
/**
|
||||
* DOC: Station handling
|
||||
*
|
||||
|
|
@ -657,7 +662,9 @@
|
|||
* is used during CSA period.
|
||||
* @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
|
||||
* command may be used with the corresponding cookie to cancel the wait
|
||||
* time if it is known that it is no longer necessary.
|
||||
* time if it is known that it is no longer necessary. This command is
|
||||
* also sent as an event whenever the driver has completed the off-channel
|
||||
* wait time.
|
||||
* @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.
|
||||
* @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame
|
||||
* transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
|
||||
|
|
@ -2356,6 +2363,16 @@ enum nl80211_commands {
|
|||
*
|
||||
* @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support.
|
||||
*
|
||||
* @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection
|
||||
* functionality.
|
||||
*
|
||||
* @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
|
||||
* channel(s) that are allowed to be used for EDMG transmissions.
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute)
|
||||
* @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
|
||||
* the allowed channel bandwidth configurations. (u8 attribute)
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
|
|
@ -2813,6 +2830,11 @@ enum nl80211_attrs {
|
|||
|
||||
NL80211_ATTR_TWT_RESPONDER,
|
||||
|
||||
NL80211_ATTR_HE_OBSS_PD,
|
||||
|
||||
NL80211_ATTR_WIPHY_EDMG_CHANNELS,
|
||||
NL80211_ATTR_WIPHY_EDMG_BW_CONFIG,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
|
|
@ -3194,6 +3216,8 @@ enum nl80211_sta_bss_param {
|
|||
* sent to the station (u64, usec)
|
||||
* @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
|
||||
* @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
|
||||
* @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds)
|
||||
* of STA's association
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
*/
|
||||
|
|
@ -3240,6 +3264,7 @@ enum nl80211_sta_info {
|
|||
NL80211_STA_INFO_TX_DURATION,
|
||||
NL80211_STA_INFO_AIRTIME_WEIGHT,
|
||||
NL80211_STA_INFO_AIRTIME_LINK_METRIC,
|
||||
NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_INFO_AFTER_LAST,
|
||||
|
|
@ -3421,6 +3446,12 @@ enum nl80211_band_iftype_attr {
|
|||
* @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE
|
||||
* @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using
|
||||
* attributes from &enum nl80211_band_iftype_attr
|
||||
* @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
|
||||
* channel(s) that are allowed to be used for EDMG transmissions.
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251.
|
||||
* @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
|
||||
* the allowed channel bandwidth configurations.
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
|
||||
* @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
|
||||
* @__NL80211_BAND_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
|
|
@ -3438,6 +3469,9 @@ enum nl80211_band_attr {
|
|||
NL80211_BAND_ATTR_VHT_CAPA,
|
||||
NL80211_BAND_ATTR_IFTYPE_DATA,
|
||||
|
||||
NL80211_BAND_ATTR_EDMG_CHANNELS,
|
||||
NL80211_BAND_ATTR_EDMG_BW_CONFIG,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_BAND_ATTR_AFTER_LAST,
|
||||
NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
|
||||
|
|
@ -3836,6 +3870,8 @@ enum nl80211_user_reg_hint_type {
|
|||
* @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
|
||||
* (on this channel or globally)
|
||||
* @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment
|
||||
* @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent
|
||||
* receiving frames destined to the local BSS
|
||||
* @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
|
||||
* currently defined
|
||||
* @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
|
||||
|
|
@ -3852,6 +3888,7 @@ enum nl80211_survey_info {
|
|||
NL80211_SURVEY_INFO_TIME_TX,
|
||||
NL80211_SURVEY_INFO_TIME_SCAN,
|
||||
NL80211_SURVEY_INFO_PAD,
|
||||
NL80211_SURVEY_INFO_TIME_BSS_RX,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_SURVEY_INFO_AFTER_LAST,
|
||||
|
|
@ -4536,6 +4573,7 @@ enum nl80211_txrate_gi {
|
|||
* @NL80211_BAND_2GHZ: 2.4 GHz ISM band
|
||||
* @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
|
||||
* @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
|
||||
* @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
|
||||
* @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
|
||||
* since newer kernel versions may support more bands
|
||||
*/
|
||||
|
|
@ -4543,6 +4581,7 @@ enum nl80211_band {
|
|||
NL80211_BAND_2GHZ,
|
||||
NL80211_BAND_5GHZ,
|
||||
NL80211_BAND_60GHZ,
|
||||
NL80211_BAND_6GHZ,
|
||||
|
||||
NUM_NL80211_BANDS,
|
||||
};
|
||||
|
|
@ -6488,4 +6527,26 @@ enum nl80211_peer_measurement_ftm_resp {
|
|||
NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_obss_pd_attributes - OBSS packet detection attributes
|
||||
* @__NL80211_HE_OBSS_PD_ATTR_INVALID: Invalid
|
||||
*
|
||||
* @NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET: the OBSS PD minimum tx power offset.
|
||||
* @NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET: the OBSS PD maximum tx power offset.
|
||||
*
|
||||
* @__NL80211_HE_OBSS_PD_ATTR_LAST: Internal
|
||||
* @NL80211_HE_OBSS_PD_ATTR_MAX: highest OBSS PD attribute.
|
||||
*/
|
||||
enum nl80211_obss_pd_attributes {
|
||||
__NL80211_HE_OBSS_PD_ATTR_INVALID,
|
||||
|
||||
NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET,
|
||||
NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_HE_OBSS_PD_ATTR_LAST,
|
||||
NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1,
|
||||
};
|
||||
|
||||
|
||||
#endif /* __LINUX_NL80211_H */
|
||||
|
|
|
|||
|
|
@ -123,6 +123,9 @@ struct ovs_vport_stats {
|
|||
/* Allow datapath to associate multiple Netlink PIDs to each vport */
|
||||
#define OVS_DP_F_VPORT_PIDS (1 << 1)
|
||||
|
||||
/* Allow tc offload recirc sharing */
|
||||
#define OVS_DP_F_TC_RECIRC_SHARING (1 << 2)
|
||||
|
||||
/* Fixed logical ports. */
|
||||
#define OVSP_LOCAL ((__u32)0)
|
||||
|
||||
|
|
|
|||
|
|
@ -374,7 +374,8 @@ struct perf_event_attr {
|
|||
namespaces : 1, /* include namespaces data */
|
||||
ksymbol : 1, /* include ksymbol events */
|
||||
bpf_event : 1, /* include bpf events */
|
||||
__reserved_1 : 33;
|
||||
aux_output : 1, /* generate AUX records instead of events */
|
||||
__reserved_1 : 32;
|
||||
|
||||
union {
|
||||
__u32 wakeup_events; /* wakeup every n events */
|
||||
|
|
|
|||
|
|
@ -160,6 +160,8 @@ enum {
|
|||
TCA_POLICE_RESULT,
|
||||
TCA_POLICE_TM,
|
||||
TCA_POLICE_PAD,
|
||||
TCA_POLICE_RATE64,
|
||||
TCA_POLICE_PEAKRATE64,
|
||||
__TCA_POLICE_MAX
|
||||
#define TCA_POLICE_RESULT TCA_POLICE_RESULT
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1160,7 +1160,8 @@ enum {
|
|||
* [TCA_TAPRIO_ATTR_SCHED_ENTRY_INTERVAL]
|
||||
*/
|
||||
|
||||
#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST 0x1
|
||||
#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST BIT(0)
|
||||
#define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD BIT(1)
|
||||
|
||||
enum {
|
||||
TCA_TAPRIO_ATTR_UNSPEC,
|
||||
|
|
|
|||
|
|
@ -15,6 +15,9 @@
|
|||
* Added PPGETMODES/PPGETMODE/PPGETPHASE, Fred Barnes <frmb2@ukc.ac.uk>, 03/01/2001
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_PPDEV_H
|
||||
#define _UAPI_LINUX_PPDEV_H
|
||||
|
||||
#define PP_IOCTL 'p'
|
||||
|
||||
/* Set mode for read/write (e.g. IEEE1284_MODE_EPP) */
|
||||
|
|
@ -97,4 +100,4 @@ struct ppdev_frob_struct {
|
|||
/* only masks user-visible flags */
|
||||
#define PP_FLAGMASK (PP_FASTWRITE | PP_FASTREAD | PP_W91284PIC)
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_PPDEV_H */
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ struct prctl_mm_map {
|
|||
#define PR_GET_THP_DISABLE 42
|
||||
|
||||
/*
|
||||
* Tell the kernel to start/stop helping userspace manage bounds tables.
|
||||
* No longer implemented, but left here to ensure the numbers stay reserved:
|
||||
*/
|
||||
#define PR_MPX_ENABLE_MANAGEMENT 43
|
||||
#define PR_MPX_DISABLE_MANAGEMENT 44
|
||||
|
|
@ -229,6 +229,11 @@ struct prctl_mm_map {
|
|||
# define PR_PAC_APDBKEY (1UL << 3)
|
||||
# define PR_PAC_APGAKEY (1UL << 4)
|
||||
|
||||
/* Tagged user address controls for arm64 */
|
||||
#define PR_SET_TAGGED_ADDR_CTRL 55
|
||||
#define PR_GET_TAGGED_ADDR_CTRL 56
|
||||
# define PR_TAGGED_ADDR_ENABLE (1UL << 0)
|
||||
|
||||
#define PR_SET_VMA 0x53564d41
|
||||
# define PR_SET_VMA_ANON_NAME 0
|
||||
|
||||
|
|
|
|||
|
|
@ -25,11 +25,21 @@
|
|||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/* PTP_xxx bits, for the flags field within the request structures. */
|
||||
/*
|
||||
* Bits of the ptp_extts_request.flags field:
|
||||
*/
|
||||
#define PTP_ENABLE_FEATURE (1<<0)
|
||||
#define PTP_RISING_EDGE (1<<1)
|
||||
#define PTP_FALLING_EDGE (1<<2)
|
||||
#define PTP_EXTTS_VALID_FLAGS (PTP_ENABLE_FEATURE | \
|
||||
PTP_RISING_EDGE | \
|
||||
PTP_FALLING_EDGE)
|
||||
|
||||
/*
|
||||
* Bits of the ptp_perout_request.flags field:
|
||||
*/
|
||||
#define PTP_PEROUT_ONE_SHOT (1<<0)
|
||||
#define PTP_PEROUT_VALID_FLAGS (PTP_PEROUT_ONE_SHOT)
|
||||
/*
|
||||
* struct ptp_clock_time - represents a time value
|
||||
*
|
||||
|
|
@ -67,7 +77,7 @@ struct ptp_perout_request {
|
|||
struct ptp_clock_time start; /* Absolute start time. */
|
||||
struct ptp_clock_time period; /* Desired period, zero means disable. */
|
||||
unsigned int index; /* Which channel to configure. */
|
||||
unsigned int flags; /* Reserved for future use. */
|
||||
unsigned int flags;
|
||||
unsigned int rsv[4]; /* Reserved for future use. */
|
||||
};
|
||||
|
||||
|
|
@ -149,6 +159,18 @@ struct ptp_pin_desc {
|
|||
#define PTP_SYS_OFFSET_EXTENDED \
|
||||
_IOWR(PTP_CLK_MAGIC, 9, struct ptp_sys_offset_extended)
|
||||
|
||||
#define PTP_CLOCK_GETCAPS2 _IOR(PTP_CLK_MAGIC, 10, struct ptp_clock_caps)
|
||||
#define PTP_EXTTS_REQUEST2 _IOW(PTP_CLK_MAGIC, 11, struct ptp_extts_request)
|
||||
#define PTP_PEROUT_REQUEST2 _IOW(PTP_CLK_MAGIC, 12, struct ptp_perout_request)
|
||||
#define PTP_ENABLE_PPS2 _IOW(PTP_CLK_MAGIC, 13, int)
|
||||
#define PTP_SYS_OFFSET2 _IOW(PTP_CLK_MAGIC, 14, struct ptp_sys_offset)
|
||||
#define PTP_PIN_GETFUNC2 _IOWR(PTP_CLK_MAGIC, 15, struct ptp_pin_desc)
|
||||
#define PTP_PIN_SETFUNC2 _IOW(PTP_CLK_MAGIC, 16, struct ptp_pin_desc)
|
||||
#define PTP_SYS_OFFSET_PRECISE2 \
|
||||
_IOWR(PTP_CLK_MAGIC, 17, struct ptp_sys_offset_precise)
|
||||
#define PTP_SYS_OFFSET_EXTENDED2 \
|
||||
_IOWR(PTP_CLK_MAGIC, 18, struct ptp_sys_offset_extended)
|
||||
|
||||
struct ptp_extts_event {
|
||||
struct ptp_clock_time t; /* Time event occured. */
|
||||
unsigned int index; /* Which channel produced the event. */
|
||||
|
|
|
|||
|
|
@ -329,6 +329,7 @@ struct mdp_superblock_1 {
|
|||
#define MD_FEATURE_JOURNAL 512 /* support write cache */
|
||||
#define MD_FEATURE_PPL 1024 /* support PPL */
|
||||
#define MD_FEATURE_MULTIPLE_PPLS 2048 /* support for multiple PPLs */
|
||||
#define MD_FEATURE_RAID0_LAYOUT 4096 /* layout is meaningful for RAID0 */
|
||||
#define MD_FEATURE_ALL (MD_FEATURE_BITMAP_OFFSET \
|
||||
|MD_FEATURE_RECOVERY_OFFSET \
|
||||
|MD_FEATURE_RESHAPE_ACTIVE \
|
||||
|
|
@ -341,6 +342,7 @@ struct mdp_superblock_1 {
|
|||
|MD_FEATURE_JOURNAL \
|
||||
|MD_FEATURE_PPL \
|
||||
|MD_FEATURE_MULTIPLE_PPLS \
|
||||
|MD_FEATURE_RAID0_LAYOUT \
|
||||
)
|
||||
|
||||
struct r5l_payload_header {
|
||||
|
|
|
|||
|
|
@ -134,6 +134,9 @@ typedef __s32 sctp_assoc_t;
|
|||
#define SCTP_INTERLEAVING_SUPPORTED 125
|
||||
#define SCTP_SENDMSG_CONNECT 126
|
||||
#define SCTP_EVENT 127
|
||||
#define SCTP_ASCONF_SUPPORTED 128
|
||||
#define SCTP_AUTH_SUPPORTED 129
|
||||
#define SCTP_ECN_SUPPORTED 130
|
||||
|
||||
/* PR-SCTP policies */
|
||||
#define SCTP_PR_SCTP_NONE 0x0000
|
||||
|
|
|
|||
|
|
@ -161,9 +161,6 @@
|
|||
/* Blackfin bf5xx */
|
||||
#define PORT_BFIN 75
|
||||
|
||||
/* Micrel KS8695 */
|
||||
#define PORT_KS8695 76
|
||||
|
||||
/* Broadcom SB1250, etc. SOC */
|
||||
#define PORT_SB1250_DUART 77
|
||||
|
||||
|
|
@ -290,4 +287,10 @@
|
|||
/* SiFive UART */
|
||||
#define PORT_SIFIVE_V0 120
|
||||
|
||||
/* Sunix UART */
|
||||
#define PORT_SUNIX 121
|
||||
|
||||
/* Freescale Linflex UART */
|
||||
#define PORT_LINFLEXUART 121
|
||||
|
||||
#endif /* _UAPILINUX_SERIAL_CORE_H */
|
||||
|
|
|
|||
|
|
@ -270,6 +270,12 @@ struct tcp_info {
|
|||
__u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */
|
||||
__u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */
|
||||
__u32 tcpi_reord_seen; /* reordering events seen */
|
||||
|
||||
__u32 tcpi_rcv_ooopack; /* Out-of-order packets received */
|
||||
|
||||
__u32 tcpi_snd_wnd; /* peer's advertised receive window after
|
||||
* scaling (bytes)
|
||||
*/
|
||||
};
|
||||
|
||||
/* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */
|
||||
|
|
|
|||
|
|
@ -109,4 +109,19 @@ struct tls12_crypto_info_aes_ccm_128 {
|
|||
unsigned char rec_seq[TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE];
|
||||
};
|
||||
|
||||
enum {
|
||||
TLS_INFO_UNSPEC,
|
||||
TLS_INFO_VERSION,
|
||||
TLS_INFO_CIPHER,
|
||||
TLS_INFO_TXCONF,
|
||||
TLS_INFO_RXCONF,
|
||||
__TLS_INFO_MAX,
|
||||
};
|
||||
#define TLS_INFO_MAX (__TLS_INFO_MAX - 1)
|
||||
|
||||
#define TLS_CONF_BASE 1
|
||||
#define TLS_CONF_SW 2
|
||||
#define TLS_CONF_HW 3
|
||||
#define TLS_CONF_HW_RECORD 4
|
||||
|
||||
#endif /* _UAPI_LINUX_TLS_H */
|
||||
|
|
|
|||
|
|
@ -894,6 +894,8 @@ struct usb_ext_cap_descriptor { /* Link Power Management */
|
|||
#define USB_BESL_SUPPORT (1 << 2) /* supports BESL */
|
||||
#define USB_BESL_BASELINE_VALID (1 << 3) /* Baseline BESL valid*/
|
||||
#define USB_BESL_DEEP_VALID (1 << 4) /* Deep BESL valid */
|
||||
#define USB_SET_BESL_BASELINE(p) (((p) & 0xf) << 8)
|
||||
#define USB_SET_BESL_DEEP(p) (((p) & 0xf) << 12)
|
||||
#define USB_GET_BESL_BASELINE(p) (((p) & (0xf << 8)) >> 8)
|
||||
#define USB_GET_BESL_DEEP(p) (((p) & (0xf << 12)) >> 12)
|
||||
} __attribute__((packed));
|
||||
|
|
|
|||
|
|
@ -158,6 +158,7 @@ struct usbdevfs_hub_portinfo {
|
|||
#define USBDEVFS_CAP_MMAP 0x20
|
||||
#define USBDEVFS_CAP_DROP_PRIVILEGES 0x40
|
||||
#define USBDEVFS_CAP_CONNINFO_EX 0x80
|
||||
#define USBDEVFS_CAP_SUSPEND 0x100
|
||||
|
||||
/* USBDEVFS_DISCONNECT_CLAIM flags & struct */
|
||||
|
||||
|
|
@ -223,5 +224,8 @@ struct usbdevfs_streams {
|
|||
* extending size of the data returned.
|
||||
*/
|
||||
#define USBDEVFS_CONNINFO_EX(len) _IOC(_IOC_READ, 'U', 32, len)
|
||||
#define USBDEVFS_FORBID_SUSPEND _IO('U', 33)
|
||||
#define USBDEVFS_ALLOW_SUSPEND _IO('U', 34)
|
||||
#define USBDEVFS_WAIT_FOR_RESUME _IO('U', 35)
|
||||
|
||||
#endif /* _UAPI_LINUX_USBDEVICE_FS_H */
|
||||
|
|
|
|||
|
|
@ -774,8 +774,10 @@ struct v4l2_fmtdesc {
|
|||
__u32 reserved[4];
|
||||
};
|
||||
|
||||
#define V4L2_FMT_FLAG_COMPRESSED 0x0001
|
||||
#define V4L2_FMT_FLAG_EMULATED 0x0002
|
||||
#define V4L2_FMT_FLAG_COMPRESSED 0x0001
|
||||
#define V4L2_FMT_FLAG_EMULATED 0x0002
|
||||
#define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM 0x0004
|
||||
#define V4L2_FMT_FLAG_DYN_RESOLUTION 0x0008
|
||||
|
||||
/* Frame Size and frame rate enumeration */
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
#define P_ALL 0
|
||||
#define P_PID 1
|
||||
#define P_PGID 2
|
||||
#define P_PIDFD 3
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_WAIT_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue