* [BUG] netfilter: nft_fib: NULL-ptr-deref (GPF) in nft_fib6_eval on netdev egress hook
@ 2026-06-24 19:04 Theodor Arsenij Larionov-Trichkine
2026-06-24 20:19 ` Florian Westphal
0 siblings, 1 reply; 4+ messages in thread
From: Theodor Arsenij Larionov-Trichkine @ 2026-06-24 19:04 UTC (permalink / raw)
To: Pablo Neira Ayuso, Florian Westphal
Cc: Phil Sutter, netfilter-devel, coreteam
[-- Attachment #1: Type: text/plain, Size: 8906 bytes --]
Hi!
A `fib' expression in a netdev `egress' base chain dereferences the input
device nft_in(pkt), which is NULL on the transmit path, so any IPv6 packet
leaving the chain's device hits a GPF / KASAN NULL-ptr-deref. An unprivileged
user can set this up in a user+net namespace.
The bug was found with a custom syzkaller-based fuzzer.
Environment:
- Kernel: reproduced on mainline v7.1.0 (commit f0e6f20cb52b) and linux-next
next-20260409; gcc 11.4.0.
- Vanilla kernel, untainted.
- Arch: x86_64; guest is QEMU (i440FX) under KVM.
- Config: CONFIG_NF_TABLES_NETDEV=y, CONFIG_NETFILTER_INGRESS=y,
CONFIG_NETFILTER_EGRESS=y, CONFIG_IPV6=y, CONFIG_KASAN=y. Built with
CONFIG_DEBUG_INFO=y and CONFIG_KALLSYMS=y.
Crash stack-trace:
Oops: general protection fault, probably for non-canonical address
0xdffffc0000000016: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x00000000000000b0-0x00000000000000b7]
CPU: 0 UID: 0 PID: 482 Comm: repro_bugA Not tainted
7.1.0-gf0e6f20cb52b #1 PREEMPT(full)
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/2014
RIP: 0010:nft_fib_is_loopback include/net/netfilter/nft_fib.h:19 [inline]
RIP: 0010:nft_fib_can_skip include/net/netfilter/nft_fib.h:40 [inline]
RIP: 0010:nft_fib6_eval+0x433/0x1060 net/ipv6/netfilter/nft_fib_ipv6.c:219
Code: d3 20 27 fd 0f b6 44 24 30 3c 05 74 4c e8 15 2c 27 fd 49 8d bf
b0 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6
04 02 84 c0 74 08 3c 03 0f 8e ad 08 00 00 41 8b 87 b0 00 00
RSP: 0018:ffff8880099ae470 EFLAGS: 00010212
RAX: dffffc0000000000 RBX: ffff8880099ae930 RCX: ffffffff8dc9cebb
RDX: 0000000000000016 RSI: 0000000000000005 RDI: 00000000000000b0
RBP: ffff88800e0c5780 R08: ffff8880099ae8d0 R09: 000000000000003c
R10: 0000000000000000 R11: 000000000003b819 R12: ffff88800e79f458
R13: ffff8880099aeb68 R14: ffff88800e79f460 R15: 0000000000000000
FS: 00007fb3a83926c0(0000) GS:ffff8880dc124000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000003100 CR3: 0000000003a3f000 CR4: 0000000000750ef0
PKRU: 55555554
Call Trace:
<TASK>
nft_fib_netdev_eval+0x146/0x280 net/netfilter/nft_fib_netdev.c:43
expr_call_ops_eval net/netfilter/nf_tables_core.c:237 [inline]
nft_do_chain+0x28b/0x1740 net/netfilter/nf_tables_core.c:285
nft_do_chain_netdev+0x76a/0xf40 net/netfilter/nft_chain_filter.c:307
nf_hook_entry_hookfn include/linux/netfilter.h:158 [inline]
nf_hook_slow+0xcc/0x220 net/netfilter/core.c:619
nf_hook_egress include/linux/netfilter_netdev.h:108 [inline]
__dev_queue_xmit+0x1f12/0x3440 net/core/dev.c:4801
dev_queue_xmit include/linux/netdevice.h:3436 [inline]
neigh_resolve_output net/core/neighbour.c:1616 [inline]
neigh_resolve_output+0x44c/0x780 net/core/neighbour.c:1596
neigh_output include/net/neighbour.h:560 [inline]
ip6_finish_output2+0x981/0x17c0 net/ipv6/ip6_output.c:136
__ip6_finish_output+0x446/0x7b0 net/ipv6/ip6_output.c:208
ip6_finish_output net/ipv6/ip6_output.c:219 [inline]
NF_HOOK_COND include/linux/netfilter.h:307 [inline]
ip6_output+0x23b/0x480 net/ipv6/ip6_output.c:246
dst_output include/net/dst.h:470 [inline]
NF_HOOK include/linux/netfilter.h:318 [inline]
NF_HOOK include/linux/netfilter.h:312 [inline]
ip6_xmit+0xc9e/0x1a50 net/ipv6/ip6_output.c:379
tcp_v6_send_response+0xe5d/0x1cb0 net/ipv6/tcp_ipv6.c:992
tcp_v6_send_reset+0x508/0xda0 net/ipv6/tcp_ipv6.c:1127
tcp_v6_rcv+0x124c/0x3760 net/ipv6/tcp_ipv6.c:1929
ip6_protocol_deliver_rcu+0x315/0x10a0 net/ipv6/ip6_input.c:479
ip6_input_finish+0x1b8/0x3c0 net/ipv6/ip6_input.c:534
NF_HOOK include/linux/netfilter.h:318 [inline]
NF_HOOK include/linux/netfilter.h:312 [inline]
ip6_input+0xcd/0x200 net/ipv6/ip6_input.c:545
dst_input include/net/dst.h:480 [inline]
ip6_rcv_finish net/ipv6/ip6_input.c:119 [inline]
ip6_rcv_finish net/ipv6/ip6_input.c:109 [inline]
NF_HOOK include/linux/netfilter.h:318 [inline]
NF_HOOK include/linux/netfilter.h:312 [inline]
ipv6_rcv+0x244/0x2c0 net/ipv6/ip6_input.c:351
__netif_receive_skb_one_core+0x12d/0x1e0 net/core/dev.c:6206
__netif_receive_skb+0x1d/0x160 net/core/dev.c:6319
netif_receive_skb_internal net/core/dev.c:6405 [inline]
netif_receive_skb+0x8f/0x480 net/core/dev.c:6464
tun_rx_batched drivers/net/tun.c:1518 [inline]
tun_get_user+0x2b96/0x3b00 drivers/net/tun.c:1986
tun_chr_write_iter+0x172/0x2b0 drivers/net/tun.c:2032
new_sync_write fs/read_write.c:595 [inline]
vfs_write+0xa5c/0xd30 fs/read_write.c:687
ksys_write+0x124/0x240 fs/read_write.c:739
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x10c/0x5b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
Root cause:
nft_fib_is_loopback() reads in->flags without a NULL check
(include/net/netfilter/nft_fib.h):
static inline bool
nft_fib_is_loopback(const struct sk_buff *skb, const struct net_device *in)
{
return skb->pkt_type == PACKET_LOOPBACK || in->flags & IFF_LOOPBACK;
}
nft_fib_can_skip() calls it with indev = nft_in(pkt):
static inline bool nft_fib_can_skip(const struct nft_pktinfo *pkt)
{
const struct net_device *indev = nft_in(pkt);
const struct sock *sk;
switch (nft_hook(pkt)) {
case NF_INET_PRE_ROUTING:
case NF_INET_INGRESS:
case NF_INET_LOCAL_IN:
break;
default:
return false;
}
sk = pkt->skb->sk;
if (sk && sk_fullsock(sk))
return sk->sk_rx_dst_ifindex == indev->ifindex;
return nft_fib_is_loopback(pkt->skb, indev);
}
On the netdev egress hook nft_in(pkt) is NULL (there is no RX device on TX;
nf_hook_egress initializes the hook state with in = NULL). Both the
sk_fullsock branch (indev->ifindex) and the final nft_fib_is_loopback() call
dereference indev. The switch is supposed to exclude such hooks, but a
hook-number collision between two separate enums defeats it
(include/uapi/linux/netfilter.h):
enum nf_inet_hooks { NF_INET_PRE_ROUTING=0, NF_INET_LOCAL_IN=1, ... };
enum nf_dev_hooks { NF_NETDEV_INGRESS=0, NF_NETDEV_EGRESS=1 };
NF_NETDEV_EGRESS and NF_INET_LOCAL_IN are both 1. So a netdev egress chain
(chain->ops.hooknum == NF_NETDEV_EGRESS) matches case NF_INET_LOCAL_IN and
reaches the indev deref.
The same collision gets it past creation-time validation. nft_fib_validate()
(net/netfilter/nft_fib.c) gates the hook with NF_INET_* bit masks, e.g. for
oif/oifname:
hooks = (1 << NF_INET_PRE_ROUTING) | (1 << NF_INET_LOCAL_IN) |
(1 << NF_INET_FORWARD);
return nft_chain_validate_hooks(ctx->chain, hooks);
(1 << NF_INET_LOCAL_IN) is bit 1, and the netdev egress chain's hooknum is also
1, so nft_chain_validate_hooks() accepts the rule. Nothing special-cases
NFPROTO_NETDEV, so fib is allowed on the netdev egress hook and then crashes at
eval.
This is not IPv6-specific. nft_fib_netdev_eval() routes ETH_P_IP the same way
to nft_fib4_eval(), which also calls the shared nft_fib_can_skip(), so an IPv4
packet egressing the hooked device faults identically. The IPv6 splat above is
just what the reproducer hit first.
Reproducer:
syz and standalone C reproducers are attached. The shape is:
table netdev t {
chain c {
type filter hook egress device "lo" priority 0;
fib daddr oif <reg> # any fib with result oif/oifname
}
}
# then send an IPv6 packet out lo
Steps:
1. Open a netlink netfilter socket and send one nfnetlink batch creating a
netdev table plus an egress/device "lo" base chain holding a fib (oif)
rule.
2. Send an IPv6 packet out lo. The attached C reproducer injects a TCP
segment via a tun device whose RST egresses lo.
Reproduction is intermittent; loop the reproducer. Both the syz and C
reproducers triggered the crash in a KVM VM.
Possible fix:
fib has no input device on the netdev egress hook, so it should be rejected
there rather than faulting. Two options, both used elsewhere in nft:
- restrict fib on NFPROTO_NETDEV to NF_NETDEV_INGRESS in nft_fib_validate()
(cf. nft_reject_netdev.c, which validates against (1 << NF_NETDEV_INGRESS)
rather than NF_INET_* masks); and/or
- guard with `if (!nft_in(pkt))' before the deref (cf. nft_socket.c, which
does `if (!indev) return NULL;').
I am not sure which approach is the best, so I have not sent a patch.
Also, there is a similar open syzbot report "KASAN: slab-out-of-bounds
Read in nft_fib6_eval"
(syzkaller-upstream-moderation thread uuxFZL40IOo) but so far I
consider it to be a
different bug: a heap OOB read in nft_fib6_info_nh_uses_dev (inet
path), no reproducer.
This is a NULL deref in nft_fib_can_skip on the netdev egress path,
with a reproducer.
Thanks,
Theodor Arsenij Larionov
[-- Attachment #2: repro.txt --]
[-- Type: text/plain, Size: 5660 bytes --]
r0 = socket$nl_netfilter(0x10, 0x3, 0xc)
sendmsg$NFT_BATCH(r0, &(0x7f0000001140)={0x0, 0x0, &(0x7f0000001100)={&(0x7f0000000000)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syza\x00'}]}, @NFT_MSG_NEWCHAIN={0x60, 0x3, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_CHAIN_TABLE={0x9, 0x1, 'syza\x00'}, @NFTA_CHAIN_NAME={0x9, 0x3, 'syzb\x00'}, @NFTA_CHAIN_TYPE={0xa, 0x7, 'filter\x00'}, @NFTA_CHAIN_HOOK={0x28, 0x4, 0x0, 0x1, [@NFTA_HOOK_HOOKNUM={0x8, 0x1, 0x1, 0x0, 0x1}, @NFTA_HOOK_PRIORITY={0x8, 0x2, 0x1, 0x0, 0x12c}, @NFTA_HOOK_DEV={0x14, 0x3, 'lo\x00'}]}]}, @NFT_MSG_NEWCHAIN={0x2c, 0x3, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_CHAIN_TABLE={0x9, 0x1, 'syza\x00'}, @NFTA_CHAIN_NAME={0x9, 0x3, 'syze\x00'}]}, @NFT_MSG_NEWCHAIN={0x48, 0x3, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_CHAIN_TABLE={0x9, 0x1, 'syza\x00'}, @NFTA_CHAIN_NAME={0x9, 0x3, 'syzb\x00'}, @NFTA_CHAIN_COUNTERS={0x1c, 0x8, 0x0, 0x1, [@NFTA_COUNTER_PACKETS={0xc, 0x2, 0x1, 0x0, 0xffffffffffffffff}, @NFTA_COUNTER_BYTES={0xc}]}]}, @NFT_MSG_NEWRULE={0xc8, 0x6, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_RULE_TABLE={0x9, 0x1, 'syza\x00'}, @NFTA_RULE_CHAIN={0x9, 0x2, 'syze\x00'}, @NFTA_RULE_EXPRESSIONS={0x9c, 0x4, 0x0, 0x1, [{0x68, 0x1, 0x0, 0x1, @inner={{0xa}, @val={0x58, 0x2, 0x0, 0x1, [@NFTA_INNER_NUM={0x8}, @NFTA_INNER_TYPE={0x8, 0x2, 0x1, 0x0, 0x2}, @NFTA_INNER_FLAGS={0x8, 0x3, 0x1, 0x0, 0x9}, @NFTA_INNER_HDRSIZE={0x8, 0x4, 0x1, 0x0, 0x1f}, @NFTA_INNER_EXPR={0x34, 0x5, 0x0, 0x1, @payload={{0xc}, @val={0x24, 0x2, 0x0, 0x1, [@NFTA_PAYLOAD_BASE={0x8, 0x2, 0x1, 0x0, 0x2}, @NFTA_PAYLOAD_OFFSET={0x8, 0x3, 0x1, 0x0, 0x4}, @NFTA_PAYLOAD_LEN={0x8, 0x4, 0x1, 0x0, 0x1}, @NFTA_PAYLOAD_DREG={0x8, 0x1, 0x1, 0x0, 0x1}]}}}]}}}, {0x30, 0x1, 0x0, 0x1, @immediate={{0xe}, @val={0x1c, 0x2, 0x0, 0x1, [@NFTA_IMMEDIATE_DREG={0x8}, @NFTA_IMMEDIATE_DATA={0x10, 0x2, 0x0, 0x1, [@NFTA_DATA_VERDICT={0xc, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffb}]}]}]}}}]}]}, @NFT_MSG_NEWCHAIN={0x30, 0x3, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_CHAIN_TABLE={0x9, 0x1, 'syza\x00'}, @NFTA_CHAIN_ID={0x8, 0xb, 0x1, 0x0, 0x1}, @NFTA_CHAIN_FLAGS={0x8, 0xa, 0x1, 0x0, 0x4}]}, @NFT_MSG_NEWRULE={0x68, 0x6, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_RULE_TABLE={0x9, 0x1, 'syza\x00'}, @NFTA_RULE_CHAIN={0x9, 0x2, 'syze\x00'}, @NFTA_RULE_EXPRESSIONS={0x3c, 0x4, 0x0, 0x1, [{0x38, 0x1, 0x0, 0x1, @immediate={{0xe}, @val={0x24, 0x2, 0x0, 0x1, [@NFTA_IMMEDIATE_DREG={0x8}, @NFTA_IMMEDIATE_DATA={0x18, 0x2, 0x0, 0x1, [@NFTA_DATA_VERDICT={0x14, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffd}, @NFTA_VERDICT_CHAIN_ID={0x8, 0x3, 0x1, 0x0, 0x1}]}]}]}}}]}]}, @NFT_MSG_NEWCHAIN={0x30, 0x3, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_CHAIN_TABLE={0x9, 0x1, 'syza\x00'}, @NFTA_CHAIN_ID={0x8, 0xb, 0x1, 0x0, 0x2}, @NFTA_CHAIN_FLAGS={0x8, 0xa, 0x1, 0x0, 0x4}]}, @NFT_MSG_NEWRULE={0x68, 0x6, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_RULE_TABLE={0x9, 0x1, 'syza\x00'}, @NFTA_RULE_CHAIN={0x9, 0x2, 'syzb\x00'}, @NFTA_RULE_EXPRESSIONS={0x3c, 0x4, 0x0, 0x1, [{0x38, 0x1, 0x0, 0x1, @immediate={{0xe}, @val={0x24, 0x2, 0x0, 0x1, [@NFTA_IMMEDIATE_DREG={0x8}, @NFTA_IMMEDIATE_DATA={0x18, 0x2, 0x0, 0x1, [@NFTA_DATA_VERDICT={0x14, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffc}, @NFTA_VERDICT_CHAIN_ID={0x8, 0x3, 0x1, 0x0, 0x2}]}]}]}}}]}]}, @NFT_MSG_NEWRULE={0x100, 0x6, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_RULE_TABLE={0x9, 0x1, 'syza\x00'}, @NFTA_RULE_CHAIN={0x9, 0x2, 'syzb\x00'}, @NFTA_RULE_EXPRESSIONS={0xd4, 0x4, 0x0, 0x1, [{0x58, 0x1, 0x0, 0x1, @fib={{0x8}, @val={0x4c, 0x2, 0x0, 0x1, [@NFTA_FIB_DREG={0x8}, @NFTA_FIB_DREG={0x8, 0x1, 0x1, 0x0, 0x14}, @NFTA_FIB_DREG={0x8, 0x1, 0x1, 0x0, 0x11}, @NFTA_FIB_FLAGS={0x8, 0x3, 0x1, 0x0, 0x8}, @NFTA_FIB_RESULT={0x8, 0x2, 0x1, 0x0, 0x1}, @NFTA_FIB_RESULT={0x8, 0x2, 0x1, 0x0, 0x3}, @NFTA_FIB_RESULT={0x8, 0x2, 0x1, 0x0, 0x2}, @NFTA_FIB_FLAGS={0x8, 0x3, 0x1, 0x0, 0x30}, @NFTA_FIB_FLAGS={0x8, 0x3, 0x1, 0x0, 0x1}]}}}, {0x2c, 0x1, 0x0, 0x1, @immediate={{0xe}, @val={0x18, 0x2, 0x0, 0x1, [@NFTA_IMMEDIATE_DREG={0x8, 0x1, 0x1, 0x0, 0x1}, @NFTA_IMMEDIATE_DATA={0xc, 0x2, 0x0, 0x1, [@NFTA_DATA_VALUE={0x6, 0x1, "21bb"}]}]}}}, {0x4c, 0x1, 0x0, 0x1, @bitwise={{0xc}, @val={0x3c, 0x2, 0x0, 0x1, [@NFTA_BITWISE_SREG={0x8, 0x1, 0x1, 0x0, 0x1}, @NFTA_BITWISE_DREG={0x8, 0x2, 0x1, 0x0, 0x2}, @NFTA_BITWISE_LEN={0x8, 0x3, 0x1, 0x0, 0x2}, @NFTA_BITWISE_OP={0x8}, @NFTA_BITWISE_MASK={0xc, 0x4, 0x0, 0x1, [@NFTA_DATA_VALUE={0x6, 0x1, "ae4a"}]}, @NFTA_BITWISE_XOR={0xc, 0x5, 0x0, 0x1, [@NFTA_DATA_VALUE={0x6, 0x1, "0440"}]}]}}}]}]}, @NFT_MSG_NEWRULE={0xb8, 0x6, 0xa, 0x401, 0x0, 0x0, {0x5}, [@NFTA_RULE_TABLE={0x9, 0x1, 'syza\x00'}, @NFTA_RULE_CHAIN={0x9, 0x2, 'syzb\x00'}, @NFTA_RULE_EXPRESSIONS={0x8c, 0x4, 0x0, 0x1, [{0x58, 0x1, 0x0, 0x1, @inner={{0xa}, @val={0x48, 0x2, 0x0, 0x1, [@NFTA_INNER_NUM={0x8}, @NFTA_INNER_TYPE={0x8, 0x2, 0x1, 0x0, 0x1}, @NFTA_INNER_FLAGS={0x8, 0x3, 0x1, 0x0, 0x2}, @NFTA_INNER_HDRSIZE={0x8}, @NFTA_INNER_EXPR={0x24, 0x5, 0x0, 0x1, @meta={{0x9}, @val={0x14, 0x2, 0x0, 0x1, [@NFTA_META_KEY={0x8, 0x2, 0x1, 0x0, 0x1}, @NFTA_META_DREG={0x8, 0x1, 0x1, 0x0, 0x1}]}}}]}}}, {0x30, 0x1, 0x0, 0x1, @immediate={{0xe}, @val={0x1c, 0x2, 0x0, 0x1, [@NFTA_IMMEDIATE_DREG={0x8}, @NFTA_IMMEDIATE_DATA={0x10, 0x2, 0x0, 0x1, [@NFTA_DATA_VERDICT={0xc, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0x1}]}]}]}}}]}]}], {0x14}}, 0x4cc}, 0x1, 0x0, 0x0, 0x4040}, 0x4000000)
syz_emit_ethernet(0x4a, &(0x7f0000003100)={@local, @local, @void, {@ipv6={0x86dd, @tcp={0x5, 0x6, "bd1f5a", 0x14, 0x6, 0x1, @local, @local, {[], {{0x4e21, 0x4e22, 0x41424344, 0x41424344, 0x1, 0x0, 0x5, 0x40, 0x0, 0x0, 0x2}}}}}}}, 0x0)
[-- Attachment #3: repro.c --]
[-- Type: text/x-csrc, Size: 241302 bytes --]
// autogenerated by syzkaller (https://github.com/google/syzkaller)
#define _GNU_SOURCE
#include <arpa/inet.h>
#include <dirent.h>
#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <netinet/in.h>
#include <pthread.h>
#include <sched.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/prctl.h>
#include <sys/resource.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/sysmacros.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>
#include <linux/capability.h>
#include <linux/futex.h>
#include <linux/genetlink.h>
#include <linux/if_addr.h>
#include <linux/if_ether.h>
#include <linux/if_link.h>
#include <linux/if_tun.h>
#include <linux/in6.h>
#include <linux/ip.h>
#include <linux/neighbour.h>
#include <linux/net.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <linux/tcp.h>
#include <linux/veth.h>
static unsigned long long procid;
static void sleep_ms(uint64_t ms)
{
usleep(ms * 1000);
}
static uint64_t current_time_ms(void)
{
struct timespec ts;
if (clock_gettime(CLOCK_MONOTONIC, &ts))
exit(1);
return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000;
}
static void use_temporary_dir(void)
{
char tmpdir_template[] = "./syzkaller.XXXXXX";
char* tmpdir = mkdtemp(tmpdir_template);
if (!tmpdir)
exit(1);
if (chmod(tmpdir, 0777))
exit(1);
if (chdir(tmpdir))
exit(1);
}
static void thread_start(void* (*fn)(void*), void* arg)
{
pthread_t th;
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setstacksize(&attr, 128 << 10);
int i = 0;
for (; i < 100; i++) {
if (pthread_create(&th, &attr, fn, arg) == 0) {
pthread_attr_destroy(&attr);
return;
}
if (errno == EAGAIN) {
usleep(50);
continue;
}
break;
}
exit(1);
}
#define BITMASK(bf_off, bf_len) (((1ull << (bf_len)) - 1) << (bf_off))
#define STORE_BY_BITMASK(type, htobe, addr, val, bf_off, bf_len) \
*(type*)(addr) = \
htobe((htobe(*(type*)(addr)) & ~BITMASK((bf_off), (bf_len))) | \
(((type)(val) << (bf_off)) & BITMASK((bf_off), (bf_len))))
struct csum_inet {
uint32_t acc;
};
static void csum_inet_init(struct csum_inet* csum)
{
csum->acc = 0;
}
static void csum_inet_update(struct csum_inet* csum, const uint8_t* data,
size_t length)
{
if (length == 0)
return;
size_t i = 0;
for (; i < length - 1; i += 2)
csum->acc += *(uint16_t*)&data[i];
if (length & 1)
csum->acc += le16toh((uint16_t)data[length - 1]);
while (csum->acc > 0xffff)
csum->acc = (csum->acc & 0xffff) + (csum->acc >> 16);
}
static uint16_t csum_inet_digest(struct csum_inet* csum)
{
return ~csum->acc;
}
typedef struct {
int state;
} event_t;
static void event_init(event_t* ev)
{
ev->state = 0;
}
static void event_reset(event_t* ev)
{
ev->state = 0;
}
static void event_set(event_t* ev)
{
if (ev->state)
exit(1);
__atomic_store_n(&ev->state, 1, __ATOMIC_RELEASE);
syscall(SYS_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1000000);
}
static void event_wait(event_t* ev)
{
while (!__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE))
syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0);
}
static int event_isset(event_t* ev)
{
return __atomic_load_n(&ev->state, __ATOMIC_ACQUIRE);
}
static int event_timedwait(event_t* ev, uint64_t timeout)
{
uint64_t start = current_time_ms();
uint64_t now = start;
for (;;) {
uint64_t remain = timeout - (now - start);
struct timespec ts;
ts.tv_sec = remain / 1000;
ts.tv_nsec = (remain % 1000) * 1000 * 1000;
syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts);
if (__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE))
return 1;
now = current_time_ms();
if (now - start > timeout)
return 0;
}
}
static bool write_file(const char* file, const char* what, ...)
{
char buf[1024];
va_list args;
va_start(args, what);
vsnprintf(buf, sizeof(buf), what, args);
va_end(args);
buf[sizeof(buf) - 1] = 0;
int len = strlen(buf);
int fd = open(file, O_WRONLY | O_CLOEXEC);
if (fd == -1)
return false;
if (write(fd, buf, len) != len) {
int err = errno;
close(fd);
errno = err;
return false;
}
close(fd);
return true;
}
struct nlmsg {
char* pos;
int nesting;
struct nlattr* nested[8];
char buf[4096];
};
static void netlink_init(struct nlmsg* nlmsg, int typ, int flags,
const void* data, int size)
{
memset(nlmsg, 0, sizeof(*nlmsg));
struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf;
hdr->nlmsg_type = typ;
hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK | flags;
memcpy(hdr + 1, data, size);
nlmsg->pos = (char*)(hdr + 1) + NLMSG_ALIGN(size);
}
static void netlink_attr(struct nlmsg* nlmsg, int typ, const void* data,
int size)
{
struct nlattr* attr = (struct nlattr*)nlmsg->pos;
attr->nla_len = sizeof(*attr) + size;
attr->nla_type = typ;
if (size > 0)
memcpy(attr + 1, data, size);
nlmsg->pos += NLMSG_ALIGN(attr->nla_len);
}
static void netlink_nest(struct nlmsg* nlmsg, int typ)
{
struct nlattr* attr = (struct nlattr*)nlmsg->pos;
attr->nla_type = typ;
nlmsg->pos += sizeof(*attr);
nlmsg->nested[nlmsg->nesting++] = attr;
}
static void netlink_done(struct nlmsg* nlmsg)
{
struct nlattr* attr = nlmsg->nested[--nlmsg->nesting];
attr->nla_len = nlmsg->pos - (char*)attr;
}
static int netlink_send_ext(struct nlmsg* nlmsg, int sock, uint16_t reply_type,
int* reply_len, bool dofail)
{
if (nlmsg->pos > nlmsg->buf + sizeof(nlmsg->buf) || nlmsg->nesting)
exit(1);
struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf;
hdr->nlmsg_len = nlmsg->pos - nlmsg->buf;
struct sockaddr_nl addr;
memset(&addr, 0, sizeof(addr));
addr.nl_family = AF_NETLINK;
ssize_t n = sendto(sock, nlmsg->buf, hdr->nlmsg_len, 0,
(struct sockaddr*)&addr, sizeof(addr));
if (n != (ssize_t)hdr->nlmsg_len) {
if (dofail)
exit(1);
return -1;
}
n = recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0);
if (reply_len)
*reply_len = 0;
if (n < 0) {
if (dofail)
exit(1);
return -1;
}
if (n < (ssize_t)sizeof(struct nlmsghdr)) {
errno = EINVAL;
if (dofail)
exit(1);
return -1;
}
if (hdr->nlmsg_type == NLMSG_DONE)
return 0;
if (reply_len && hdr->nlmsg_type == reply_type) {
*reply_len = n;
return 0;
}
if (n < (ssize_t)(sizeof(struct nlmsghdr) + sizeof(struct nlmsgerr))) {
errno = EINVAL;
if (dofail)
exit(1);
return -1;
}
if (hdr->nlmsg_type != NLMSG_ERROR) {
errno = EINVAL;
if (dofail)
exit(1);
return -1;
}
errno = -((struct nlmsgerr*)(hdr + 1))->error;
return -errno;
}
static int netlink_send(struct nlmsg* nlmsg, int sock)
{
return netlink_send_ext(nlmsg, sock, 0, NULL, true);
}
static int netlink_query_family_id(struct nlmsg* nlmsg, int sock,
const char* family_name, bool dofail)
{
struct genlmsghdr genlhdr;
memset(&genlhdr, 0, sizeof(genlhdr));
genlhdr.cmd = CTRL_CMD_GETFAMILY;
netlink_init(nlmsg, GENL_ID_CTRL, 0, &genlhdr, sizeof(genlhdr));
netlink_attr(nlmsg, CTRL_ATTR_FAMILY_NAME, family_name,
strnlen(family_name, GENL_NAMSIZ - 1) + 1);
int n = 0;
int err = netlink_send_ext(nlmsg, sock, GENL_ID_CTRL, &n, dofail);
if (err < 0) {
return -1;
}
uint16_t id = 0;
struct nlattr* attr = (struct nlattr*)(nlmsg->buf + NLMSG_HDRLEN +
NLMSG_ALIGN(sizeof(genlhdr)));
for (; (char*)attr < nlmsg->buf + n;
attr = (struct nlattr*)((char*)attr + NLMSG_ALIGN(attr->nla_len))) {
if (attr->nla_type == CTRL_ATTR_FAMILY_ID) {
id = *(uint16_t*)(attr + 1);
break;
}
}
if (!id) {
errno = EINVAL;
return -1;
}
recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0);
return id;
}
static int netlink_next_msg(struct nlmsg* nlmsg, unsigned int offset,
unsigned int total_len)
{
struct nlmsghdr* hdr = (struct nlmsghdr*)(nlmsg->buf + offset);
if (offset == total_len || offset + hdr->nlmsg_len > total_len)
return -1;
return hdr->nlmsg_len;
}
static unsigned int queue_count = 2;
static void netlink_add_device_impl(struct nlmsg* nlmsg, const char* type,
const char* name, bool up)
{
struct ifinfomsg hdr;
memset(&hdr, 0, sizeof(hdr));
if (up)
hdr.ifi_flags = hdr.ifi_change = IFF_UP;
netlink_init(nlmsg, RTM_NEWLINK, NLM_F_EXCL | NLM_F_CREATE, &hdr,
sizeof(hdr));
if (name)
netlink_attr(nlmsg, IFLA_IFNAME, name, strlen(name));
netlink_attr(nlmsg, IFLA_NUM_TX_QUEUES, &queue_count, sizeof(queue_count));
netlink_attr(nlmsg, IFLA_NUM_RX_QUEUES, &queue_count, sizeof(queue_count));
netlink_nest(nlmsg, IFLA_LINKINFO);
netlink_attr(nlmsg, IFLA_INFO_KIND, type, strlen(type));
}
static void netlink_add_device(struct nlmsg* nlmsg, int sock, const char* type,
const char* name)
{
netlink_add_device_impl(nlmsg, type, name, false);
netlink_done(nlmsg);
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
static void netlink_add_veth(struct nlmsg* nlmsg, int sock, const char* name,
const char* peer)
{
netlink_add_device_impl(nlmsg, "veth", name, false);
netlink_nest(nlmsg, IFLA_INFO_DATA);
netlink_nest(nlmsg, VETH_INFO_PEER);
nlmsg->pos += sizeof(struct ifinfomsg);
netlink_attr(nlmsg, IFLA_IFNAME, peer, strlen(peer));
netlink_attr(nlmsg, IFLA_NUM_TX_QUEUES, &queue_count, sizeof(queue_count));
netlink_attr(nlmsg, IFLA_NUM_RX_QUEUES, &queue_count, sizeof(queue_count));
netlink_done(nlmsg);
netlink_done(nlmsg);
netlink_done(nlmsg);
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
static void netlink_add_xfrm(struct nlmsg* nlmsg, int sock, const char* name)
{
netlink_add_device_impl(nlmsg, "xfrm", name, true);
netlink_nest(nlmsg, IFLA_INFO_DATA);
int if_id = 1;
netlink_attr(nlmsg, 2, &if_id, sizeof(if_id));
netlink_done(nlmsg);
netlink_done(nlmsg);
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
static void netlink_add_hsr(struct nlmsg* nlmsg, int sock, const char* name,
const char* slave1, const char* slave2)
{
netlink_add_device_impl(nlmsg, "hsr", name, false);
netlink_nest(nlmsg, IFLA_INFO_DATA);
int ifindex1 = if_nametoindex(slave1);
netlink_attr(nlmsg, IFLA_HSR_SLAVE1, &ifindex1, sizeof(ifindex1));
int ifindex2 = if_nametoindex(slave2);
netlink_attr(nlmsg, IFLA_HSR_SLAVE2, &ifindex2, sizeof(ifindex2));
netlink_done(nlmsg);
netlink_done(nlmsg);
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
static void netlink_add_linked(struct nlmsg* nlmsg, int sock, const char* type,
const char* name, const char* link)
{
netlink_add_device_impl(nlmsg, type, name, false);
netlink_done(nlmsg);
int ifindex = if_nametoindex(link);
netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
static void netlink_add_vlan(struct nlmsg* nlmsg, int sock, const char* name,
const char* link, uint16_t id, uint16_t proto)
{
netlink_add_device_impl(nlmsg, "vlan", name, false);
netlink_nest(nlmsg, IFLA_INFO_DATA);
netlink_attr(nlmsg, IFLA_VLAN_ID, &id, sizeof(id));
netlink_attr(nlmsg, IFLA_VLAN_PROTOCOL, &proto, sizeof(proto));
netlink_done(nlmsg);
netlink_done(nlmsg);
int ifindex = if_nametoindex(link);
netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
static void netlink_add_macvlan(struct nlmsg* nlmsg, int sock, const char* name,
const char* link)
{
netlink_add_device_impl(nlmsg, "macvlan", name, false);
netlink_nest(nlmsg, IFLA_INFO_DATA);
uint32_t mode = MACVLAN_MODE_BRIDGE;
netlink_attr(nlmsg, IFLA_MACVLAN_MODE, &mode, sizeof(mode));
netlink_done(nlmsg);
netlink_done(nlmsg);
int ifindex = if_nametoindex(link);
netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
static void netlink_add_geneve(struct nlmsg* nlmsg, int sock, const char* name,
uint32_t vni, struct in_addr* addr4,
struct in6_addr* addr6)
{
netlink_add_device_impl(nlmsg, "geneve", name, false);
netlink_nest(nlmsg, IFLA_INFO_DATA);
netlink_attr(nlmsg, IFLA_GENEVE_ID, &vni, sizeof(vni));
if (addr4)
netlink_attr(nlmsg, IFLA_GENEVE_REMOTE, addr4, sizeof(*addr4));
if (addr6)
netlink_attr(nlmsg, IFLA_GENEVE_REMOTE6, addr6, sizeof(*addr6));
netlink_done(nlmsg);
netlink_done(nlmsg);
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
#define IFLA_IPVLAN_FLAGS 2
#define IPVLAN_MODE_L3S 2
#undef IPVLAN_F_VEPA
#define IPVLAN_F_VEPA 2
static void netlink_add_ipvlan(struct nlmsg* nlmsg, int sock, const char* name,
const char* link, uint16_t mode, uint16_t flags)
{
netlink_add_device_impl(nlmsg, "ipvlan", name, false);
netlink_nest(nlmsg, IFLA_INFO_DATA);
netlink_attr(nlmsg, IFLA_IPVLAN_MODE, &mode, sizeof(mode));
netlink_attr(nlmsg, IFLA_IPVLAN_FLAGS, &flags, sizeof(flags));
netlink_done(nlmsg);
netlink_done(nlmsg);
int ifindex = if_nametoindex(link);
netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
static void netlink_device_change(struct nlmsg* nlmsg, int sock,
const char* name, bool up, const char* master,
const void* mac, int macsize,
const char* new_name)
{
struct ifinfomsg hdr;
memset(&hdr, 0, sizeof(hdr));
if (up)
hdr.ifi_flags = hdr.ifi_change = IFF_UP;
hdr.ifi_index = if_nametoindex(name);
netlink_init(nlmsg, RTM_NEWLINK, 0, &hdr, sizeof(hdr));
if (new_name)
netlink_attr(nlmsg, IFLA_IFNAME, new_name, strlen(new_name));
if (master) {
int ifindex = if_nametoindex(master);
netlink_attr(nlmsg, IFLA_MASTER, &ifindex, sizeof(ifindex));
}
if (macsize)
netlink_attr(nlmsg, IFLA_ADDRESS, mac, macsize);
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
static int netlink_add_addr(struct nlmsg* nlmsg, int sock, const char* dev,
const void* addr, int addrsize)
{
struct ifaddrmsg hdr;
memset(&hdr, 0, sizeof(hdr));
hdr.ifa_family = addrsize == 4 ? AF_INET : AF_INET6;
hdr.ifa_prefixlen = addrsize == 4 ? 24 : 120;
hdr.ifa_scope = RT_SCOPE_UNIVERSE;
hdr.ifa_index = if_nametoindex(dev);
netlink_init(nlmsg, RTM_NEWADDR, NLM_F_CREATE | NLM_F_REPLACE, &hdr,
sizeof(hdr));
netlink_attr(nlmsg, IFA_LOCAL, addr, addrsize);
netlink_attr(nlmsg, IFA_ADDRESS, addr, addrsize);
return netlink_send(nlmsg, sock);
}
static void netlink_add_addr4(struct nlmsg* nlmsg, int sock, const char* dev,
const char* addr)
{
struct in_addr in_addr;
inet_pton(AF_INET, addr, &in_addr);
int err = netlink_add_addr(nlmsg, sock, dev, &in_addr, sizeof(in_addr));
if (err < 0) {
}
}
static void netlink_add_addr6(struct nlmsg* nlmsg, int sock, const char* dev,
const char* addr)
{
struct in6_addr in6_addr;
inet_pton(AF_INET6, addr, &in6_addr);
int err = netlink_add_addr(nlmsg, sock, dev, &in6_addr, sizeof(in6_addr));
if (err < 0) {
}
}
static void netlink_add_neigh(struct nlmsg* nlmsg, int sock, const char* name,
const void* addr, int addrsize, const void* mac,
int macsize)
{
struct ndmsg hdr;
memset(&hdr, 0, sizeof(hdr));
hdr.ndm_family = addrsize == 4 ? AF_INET : AF_INET6;
hdr.ndm_ifindex = if_nametoindex(name);
hdr.ndm_state = NUD_PERMANENT;
netlink_init(nlmsg, RTM_NEWNEIGH, NLM_F_EXCL | NLM_F_CREATE, &hdr,
sizeof(hdr));
netlink_attr(nlmsg, NDA_DST, addr, addrsize);
netlink_attr(nlmsg, NDA_LLADDR, mac, macsize);
int err = netlink_send(nlmsg, sock);
if (err < 0) {
}
}
static struct nlmsg nlmsg;
static int tunfd = -1;
#define TUN_IFACE "syz_tun"
#define LOCAL_MAC 0xaaaaaaaaaaaa
#define REMOTE_MAC 0xaaaaaaaaaabb
#define LOCAL_IPV4 "172.20.20.170"
#define REMOTE_IPV4 "172.20.20.187"
#define LOCAL_IPV6 "fe80::aa"
#define REMOTE_IPV6 "fe80::bb"
#define IFF_NAPI 0x0010
static void correct_dev_net_tun(void)
{
struct stat st;
if (stat("/dev/net/tun", &st) == 0) {
if (S_ISCHR(st.st_mode) && major(st.st_rdev) == 10 &&
minor(st.st_rdev) == 200)
return;
if (unlink("/dev/net/tun")) {
}
}
if (mkdir("/dev/net", 0755) && errno != EEXIST) {
}
if (mknod("/dev/net/tun", S_IFCHR | 0666, makedev(10, 200))) {
}
if (chmod("/dev/net/tun", 0666)) {
}
}
static void initialize_tun(void)
{
correct_dev_net_tun();
tunfd = open("/dev/net/tun", O_RDWR | O_NONBLOCK);
if (tunfd == -1) {
printf("tun: can't open /dev/net/tun: please enable CONFIG_TUN=y\n");
printf("otherwise fuzzing or reproducing might not work as intended\n");
return;
}
const int kTunFd = 200;
if (dup2(tunfd, kTunFd) < 0)
exit(1);
close(tunfd);
tunfd = kTunFd;
struct ifreq ifr;
memset(&ifr, 0, sizeof(ifr));
strncpy(ifr.ifr_name, TUN_IFACE, IFNAMSIZ);
ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
if (ioctl(tunfd, TUNSETIFF, (void*)&ifr) < 0) {
exit(1);
}
char sysctl[64];
sprintf(sysctl, "/proc/sys/net/ipv6/conf/%s/accept_dad", TUN_IFACE);
write_file(sysctl, "0");
sprintf(sysctl, "/proc/sys/net/ipv6/conf/%s/router_solicitations", TUN_IFACE);
write_file(sysctl, "0");
int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
if (sock == -1)
exit(1);
netlink_add_addr4(&nlmsg, sock, TUN_IFACE, LOCAL_IPV4);
netlink_add_addr6(&nlmsg, sock, TUN_IFACE, LOCAL_IPV6);
uint64_t macaddr = REMOTE_MAC;
struct in_addr in_addr;
inet_pton(AF_INET, REMOTE_IPV4, &in_addr);
netlink_add_neigh(&nlmsg, sock, TUN_IFACE, &in_addr, sizeof(in_addr),
&macaddr, ETH_ALEN);
struct in6_addr in6_addr;
inet_pton(AF_INET6, REMOTE_IPV6, &in6_addr);
netlink_add_neigh(&nlmsg, sock, TUN_IFACE, &in6_addr, sizeof(in6_addr),
&macaddr, ETH_ALEN);
macaddr = LOCAL_MAC;
netlink_device_change(&nlmsg, sock, TUN_IFACE, true, 0, &macaddr, ETH_ALEN,
NULL);
close(sock);
}
#define DEVLINK_FAMILY_NAME "devlink"
#define DEVLINK_CMD_PORT_GET 5
#define DEVLINK_ATTR_BUS_NAME 1
#define DEVLINK_ATTR_DEV_NAME 2
#define DEVLINK_ATTR_NETDEV_NAME 7
static struct nlmsg nlmsg2;
static void initialize_devlink_ports(const char* bus_name, const char* dev_name,
const char* netdev_prefix)
{
struct genlmsghdr genlhdr;
int len, total_len, id, err, offset;
uint16_t netdev_index;
int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
if (sock == -1)
exit(1);
int rtsock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
if (rtsock == -1)
exit(1);
id = netlink_query_family_id(&nlmsg, sock, DEVLINK_FAMILY_NAME, true);
if (id == -1)
goto error;
memset(&genlhdr, 0, sizeof(genlhdr));
genlhdr.cmd = DEVLINK_CMD_PORT_GET;
netlink_init(&nlmsg, id, NLM_F_DUMP, &genlhdr, sizeof(genlhdr));
netlink_attr(&nlmsg, DEVLINK_ATTR_BUS_NAME, bus_name, strlen(bus_name) + 1);
netlink_attr(&nlmsg, DEVLINK_ATTR_DEV_NAME, dev_name, strlen(dev_name) + 1);
err = netlink_send_ext(&nlmsg, sock, id, &total_len, true);
if (err < 0) {
goto error;
}
offset = 0;
netdev_index = 0;
while ((len = netlink_next_msg(&nlmsg, offset, total_len)) != -1) {
struct nlattr* attr = (struct nlattr*)(nlmsg.buf + offset + NLMSG_HDRLEN +
NLMSG_ALIGN(sizeof(genlhdr)));
for (; (char*)attr < nlmsg.buf + offset + len;
attr = (struct nlattr*)((char*)attr + NLMSG_ALIGN(attr->nla_len))) {
if (attr->nla_type == DEVLINK_ATTR_NETDEV_NAME) {
char* port_name;
char netdev_name[IFNAMSIZ];
port_name = (char*)(attr + 1);
snprintf(netdev_name, sizeof(netdev_name), "%s%d", netdev_prefix,
netdev_index);
netlink_device_change(&nlmsg2, rtsock, port_name, true, 0, 0, 0,
netdev_name);
break;
}
}
offset += len;
netdev_index++;
}
error:
close(rtsock);
close(sock);
}
#define DEV_IPV4 "172.20.20.%d"
#define DEV_IPV6 "fe80::%02x"
#define DEV_MAC 0x00aaaaaaaaaa
static void netdevsim_add(unsigned int addr, unsigned int port_count)
{
write_file("/sys/bus/netdevsim/del_device", "%u", addr);
if (write_file("/sys/bus/netdevsim/new_device", "%u %u", addr, port_count)) {
char buf[32];
snprintf(buf, sizeof(buf), "netdevsim%d", addr);
initialize_devlink_ports("netdevsim", buf, "netdevsim");
}
}
#define WG_GENL_NAME "wireguard"
enum wg_cmd {
WG_CMD_GET_DEVICE,
WG_CMD_SET_DEVICE,
};
enum wgdevice_attribute {
WGDEVICE_A_UNSPEC,
WGDEVICE_A_IFINDEX,
WGDEVICE_A_IFNAME,
WGDEVICE_A_PRIVATE_KEY,
WGDEVICE_A_PUBLIC_KEY,
WGDEVICE_A_FLAGS,
WGDEVICE_A_LISTEN_PORT,
WGDEVICE_A_FWMARK,
WGDEVICE_A_PEERS,
};
enum wgpeer_attribute {
WGPEER_A_UNSPEC,
WGPEER_A_PUBLIC_KEY,
WGPEER_A_PRESHARED_KEY,
WGPEER_A_FLAGS,
WGPEER_A_ENDPOINT,
WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
WGPEER_A_LAST_HANDSHAKE_TIME,
WGPEER_A_RX_BYTES,
WGPEER_A_TX_BYTES,
WGPEER_A_ALLOWEDIPS,
WGPEER_A_PROTOCOL_VERSION,
};
enum wgallowedip_attribute {
WGALLOWEDIP_A_UNSPEC,
WGALLOWEDIP_A_FAMILY,
WGALLOWEDIP_A_IPADDR,
WGALLOWEDIP_A_CIDR_MASK,
};
static void netlink_wireguard_setup(void)
{
const char ifname_a[] = "wg0";
const char ifname_b[] = "wg1";
const char ifname_c[] = "wg2";
const char private_a[] =
"\xa0\x5c\xa8\x4f\x6c\x9c\x8e\x38\x53\xe2\xfd\x7a\x70\xae\x0f\xb2\x0f\xa1"
"\x52\x60\x0c\xb0\x08\x45\x17\x4f\x08\x07\x6f\x8d\x78\x43";
const char private_b[] =
"\xb0\x80\x73\xe8\xd4\x4e\x91\xe3\xda\x92\x2c\x22\x43\x82\x44\xbb\x88\x5c"
"\x69\xe2\x69\xc8\xe9\xd8\x35\xb1\x14\x29\x3a\x4d\xdc\x6e";
const char private_c[] =
"\xa0\xcb\x87\x9a\x47\xf5\xbc\x64\x4c\x0e\x69\x3f\xa6\xd0\x31\xc7\x4a\x15"
"\x53\xb6\xe9\x01\xb9\xff\x2f\x51\x8c\x78\x04\x2f\xb5\x42";
const char public_a[] =
"\x97\x5c\x9d\x81\xc9\x83\xc8\x20\x9e\xe7\x81\x25\x4b\x89\x9f\x8e\xd9\x25"
"\xae\x9f\x09\x23\xc2\x3c\x62\xf5\x3c\x57\xcd\xbf\x69\x1c";
const char public_b[] =
"\xd1\x73\x28\x99\xf6\x11\xcd\x89\x94\x03\x4d\x7f\x41\x3d\xc9\x57\x63\x0e"
"\x54\x93\xc2\x85\xac\xa4\x00\x65\xcb\x63\x11\xbe\x69\x6b";
const char public_c[] =
"\xf4\x4d\xa3\x67\xa8\x8e\xe6\x56\x4f\x02\x02\x11\x45\x67\x27\x08\x2f\x5c"
"\xeb\xee\x8b\x1b\xf5\xeb\x73\x37\x34\x1b\x45\x9b\x39\x22";
const uint16_t listen_a = 20001;
const uint16_t listen_b = 20002;
const uint16_t listen_c = 20003;
const uint16_t af_inet = AF_INET;
const uint16_t af_inet6 = AF_INET6;
const struct sockaddr_in endpoint_b_v4 = {
.sin_family = AF_INET,
.sin_port = htons(listen_b),
.sin_addr = {htonl(INADDR_LOOPBACK)}};
const struct sockaddr_in endpoint_c_v4 = {
.sin_family = AF_INET,
.sin_port = htons(listen_c),
.sin_addr = {htonl(INADDR_LOOPBACK)}};
struct sockaddr_in6 endpoint_a_v6 = {.sin6_family = AF_INET6,
.sin6_port = htons(listen_a)};
endpoint_a_v6.sin6_addr = in6addr_loopback;
struct sockaddr_in6 endpoint_c_v6 = {.sin6_family = AF_INET6,
.sin6_port = htons(listen_c)};
endpoint_c_v6.sin6_addr = in6addr_loopback;
const struct in_addr first_half_v4 = {0};
const struct in_addr second_half_v4 = {(uint32_t)htonl(128 << 24)};
const struct in6_addr first_half_v6 = {{{0}}};
const struct in6_addr second_half_v6 = {{{0x80}}};
const uint8_t half_cidr = 1;
const uint16_t persistent_keepalives[] = {1, 3, 7, 9, 14, 19};
struct genlmsghdr genlhdr = {.cmd = WG_CMD_SET_DEVICE, .version = 1};
int sock;
int id, err;
sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
if (sock == -1) {
return;
}
id = netlink_query_family_id(&nlmsg, sock, WG_GENL_NAME, true);
if (id == -1)
goto error;
netlink_init(&nlmsg, id, 0, &genlhdr, sizeof(genlhdr));
netlink_attr(&nlmsg, WGDEVICE_A_IFNAME, ifname_a, strlen(ifname_a) + 1);
netlink_attr(&nlmsg, WGDEVICE_A_PRIVATE_KEY, private_a, 32);
netlink_attr(&nlmsg, WGDEVICE_A_LISTEN_PORT, &listen_a, 2);
netlink_nest(&nlmsg, NLA_F_NESTED | WGDEVICE_A_PEERS);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_b, 32);
netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_b_v4,
sizeof(endpoint_b_v4));
netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
&persistent_keepalives[0], 2);
netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v4,
sizeof(first_half_v4));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v6,
sizeof(first_half_v6));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_c, 32);
netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_c_v6,
sizeof(endpoint_c_v6));
netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
&persistent_keepalives[1], 2);
netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v4,
sizeof(second_half_v4));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v6,
sizeof(second_half_v6));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
err = netlink_send(&nlmsg, sock);
if (err < 0) {
}
netlink_init(&nlmsg, id, 0, &genlhdr, sizeof(genlhdr));
netlink_attr(&nlmsg, WGDEVICE_A_IFNAME, ifname_b, strlen(ifname_b) + 1);
netlink_attr(&nlmsg, WGDEVICE_A_PRIVATE_KEY, private_b, 32);
netlink_attr(&nlmsg, WGDEVICE_A_LISTEN_PORT, &listen_b, 2);
netlink_nest(&nlmsg, NLA_F_NESTED | WGDEVICE_A_PEERS);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_a, 32);
netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_a_v6,
sizeof(endpoint_a_v6));
netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
&persistent_keepalives[2], 2);
netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v4,
sizeof(first_half_v4));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v6,
sizeof(first_half_v6));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_c, 32);
netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_c_v4,
sizeof(endpoint_c_v4));
netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
&persistent_keepalives[3], 2);
netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v4,
sizeof(second_half_v4));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v6,
sizeof(second_half_v6));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
err = netlink_send(&nlmsg, sock);
if (err < 0) {
}
netlink_init(&nlmsg, id, 0, &genlhdr, sizeof(genlhdr));
netlink_attr(&nlmsg, WGDEVICE_A_IFNAME, ifname_c, strlen(ifname_c) + 1);
netlink_attr(&nlmsg, WGDEVICE_A_PRIVATE_KEY, private_c, 32);
netlink_attr(&nlmsg, WGDEVICE_A_LISTEN_PORT, &listen_c, 2);
netlink_nest(&nlmsg, NLA_F_NESTED | WGDEVICE_A_PEERS);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_a, 32);
netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_a_v6,
sizeof(endpoint_a_v6));
netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
&persistent_keepalives[4], 2);
netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v4,
sizeof(first_half_v4));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v6,
sizeof(first_half_v6));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_b, 32);
netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_b_v4,
sizeof(endpoint_b_v4));
netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
&persistent_keepalives[5], 2);
netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v4,
sizeof(second_half_v4));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_nest(&nlmsg, NLA_F_NESTED | 0);
netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v6,
sizeof(second_half_v6));
netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
netlink_done(&nlmsg);
err = netlink_send(&nlmsg, sock);
if (err < 0) {
}
error:
close(sock);
}
static void initialize_netdevices(void)
{
char netdevsim[16];
sprintf(netdevsim, "netdevsim%d", (int)procid);
struct {
const char* type;
const char* dev;
} devtypes[] = {
{"ip6gretap", "ip6gretap0"}, {"bridge", "bridge0"}, {"vcan", "vcan0"},
{"bond", "bond0"}, {"team", "team0"}, {"dummy", "dummy0"},
{"nlmon", "nlmon0"}, {"caif", "caif0"}, {"batadv", "batadv0"},
{"vxcan", "vxcan1"}, {"veth", 0}, {"wireguard", "wg0"},
{"wireguard", "wg1"}, {"wireguard", "wg2"},
};
const char* devmasters[] = {"bridge", "bond", "team", "batadv"};
struct {
const char* name;
int macsize;
bool noipv6;
} devices[] = {
{"lo", ETH_ALEN},
{"sit0", 0},
{"bridge0", ETH_ALEN},
{"vcan0", 0, true},
{"tunl0", 0},
{"gre0", 0},
{"gretap0", ETH_ALEN},
{"ip_vti0", 0},
{"ip6_vti0", 0},
{"ip6tnl0", 0},
{"ip6gre0", 0},
{"ip6gretap0", ETH_ALEN},
{"erspan0", ETH_ALEN},
{"bond0", ETH_ALEN},
{"veth0", ETH_ALEN},
{"veth1", ETH_ALEN},
{"team0", ETH_ALEN},
{"veth0_to_bridge", ETH_ALEN},
{"veth1_to_bridge", ETH_ALEN},
{"veth0_to_bond", ETH_ALEN},
{"veth1_to_bond", ETH_ALEN},
{"veth0_to_team", ETH_ALEN},
{"veth1_to_team", ETH_ALEN},
{"veth0_to_hsr", ETH_ALEN},
{"veth1_to_hsr", ETH_ALEN},
{"hsr0", 0},
{"dummy0", ETH_ALEN},
{"nlmon0", 0},
{"vxcan0", 0, true},
{"vxcan1", 0, true},
{"caif0", ETH_ALEN},
{"batadv0", ETH_ALEN},
{netdevsim, ETH_ALEN},
{"xfrm0", ETH_ALEN},
{"veth0_virt_wifi", ETH_ALEN},
{"veth1_virt_wifi", ETH_ALEN},
{"virt_wifi0", ETH_ALEN},
{"veth0_vlan", ETH_ALEN},
{"veth1_vlan", ETH_ALEN},
{"vlan0", ETH_ALEN},
{"vlan1", ETH_ALEN},
{"macvlan0", ETH_ALEN},
{"macvlan1", ETH_ALEN},
{"ipvlan0", ETH_ALEN},
{"ipvlan1", ETH_ALEN},
{"veth0_macvtap", ETH_ALEN},
{"veth1_macvtap", ETH_ALEN},
{"macvtap0", ETH_ALEN},
{"macsec0", ETH_ALEN},
{"veth0_to_batadv", ETH_ALEN},
{"veth1_to_batadv", ETH_ALEN},
{"batadv_slave_0", ETH_ALEN},
{"batadv_slave_1", ETH_ALEN},
{"geneve0", ETH_ALEN},
{"geneve1", ETH_ALEN},
{"wg0", 0},
{"wg1", 0},
{"wg2", 0},
};
int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
if (sock == -1)
exit(1);
unsigned i;
for (i = 0; i < sizeof(devtypes) / sizeof(devtypes[0]); i++)
netlink_add_device(&nlmsg, sock, devtypes[i].type, devtypes[i].dev);
for (i = 0; i < sizeof(devmasters) / (sizeof(devmasters[0])); i++) {
char master[32], slave0[32], veth0[32], slave1[32], veth1[32];
sprintf(slave0, "%s_slave_0", devmasters[i]);
sprintf(veth0, "veth0_to_%s", devmasters[i]);
netlink_add_veth(&nlmsg, sock, slave0, veth0);
sprintf(slave1, "%s_slave_1", devmasters[i]);
sprintf(veth1, "veth1_to_%s", devmasters[i]);
netlink_add_veth(&nlmsg, sock, slave1, veth1);
sprintf(master, "%s0", devmasters[i]);
netlink_device_change(&nlmsg, sock, slave0, false, master, 0, 0, NULL);
netlink_device_change(&nlmsg, sock, slave1, false, master, 0, 0, NULL);
}
netlink_add_xfrm(&nlmsg, sock, "xfrm0");
netlink_device_change(&nlmsg, sock, "bridge_slave_0", true, 0, 0, 0, NULL);
netlink_device_change(&nlmsg, sock, "bridge_slave_1", true, 0, 0, 0, NULL);
netlink_add_veth(&nlmsg, sock, "hsr_slave_0", "veth0_to_hsr");
netlink_add_veth(&nlmsg, sock, "hsr_slave_1", "veth1_to_hsr");
netlink_add_hsr(&nlmsg, sock, "hsr0", "hsr_slave_0", "hsr_slave_1");
netlink_device_change(&nlmsg, sock, "hsr_slave_0", true, 0, 0, 0, NULL);
netlink_device_change(&nlmsg, sock, "hsr_slave_1", true, 0, 0, 0, NULL);
netlink_add_veth(&nlmsg, sock, "veth0_virt_wifi", "veth1_virt_wifi");
netlink_add_linked(&nlmsg, sock, "virt_wifi", "virt_wifi0",
"veth1_virt_wifi");
netlink_add_veth(&nlmsg, sock, "veth0_vlan", "veth1_vlan");
netlink_add_vlan(&nlmsg, sock, "vlan0", "veth0_vlan", 0, htons(ETH_P_8021Q));
netlink_add_vlan(&nlmsg, sock, "vlan1", "veth0_vlan", 1, htons(ETH_P_8021AD));
netlink_add_macvlan(&nlmsg, sock, "macvlan0", "veth1_vlan");
netlink_add_macvlan(&nlmsg, sock, "macvlan1", "veth1_vlan");
netlink_add_ipvlan(&nlmsg, sock, "ipvlan0", "veth0_vlan", IPVLAN_MODE_L2, 0);
netlink_add_ipvlan(&nlmsg, sock, "ipvlan1", "veth0_vlan", IPVLAN_MODE_L3S,
IPVLAN_F_VEPA);
netlink_add_veth(&nlmsg, sock, "veth0_macvtap", "veth1_macvtap");
netlink_add_linked(&nlmsg, sock, "macvtap", "macvtap0", "veth0_macvtap");
netlink_add_linked(&nlmsg, sock, "macsec", "macsec0", "veth1_macvtap");
char addr[32];
sprintf(addr, DEV_IPV4, 14 + 10);
struct in_addr geneve_addr4;
if (inet_pton(AF_INET, addr, &geneve_addr4) <= 0)
exit(1);
struct in6_addr geneve_addr6;
if (inet_pton(AF_INET6, "fc00::01", &geneve_addr6) <= 0)
exit(1);
netlink_add_geneve(&nlmsg, sock, "geneve0", 0, &geneve_addr4, 0);
netlink_add_geneve(&nlmsg, sock, "geneve1", 1, 0, &geneve_addr6);
netdevsim_add((int)procid, 4);
netlink_wireguard_setup();
for (i = 0; i < sizeof(devices) / (sizeof(devices[0])); i++) {
char addr[32];
sprintf(addr, DEV_IPV4, i + 10);
netlink_add_addr4(&nlmsg, sock, devices[i].name, addr);
if (!devices[i].noipv6) {
sprintf(addr, DEV_IPV6, i + 10);
netlink_add_addr6(&nlmsg, sock, devices[i].name, addr);
}
uint64_t macaddr = DEV_MAC + ((i + 10ull) << 40);
netlink_device_change(&nlmsg, sock, devices[i].name, true, 0, &macaddr,
devices[i].macsize, NULL);
}
close(sock);
}
static void initialize_netdevices_init(void)
{
int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
if (sock == -1)
exit(1);
struct {
const char* type;
int macsize;
bool noipv6;
bool noup;
} devtypes[] = {
{"nr", 7, true},
{"rose", 5, true, true},
};
unsigned i;
for (i = 0; i < sizeof(devtypes) / sizeof(devtypes[0]); i++) {
char dev[32], addr[32];
sprintf(dev, "%s%d", devtypes[i].type, (int)procid);
sprintf(addr, "172.30.%d.%d", i, (int)procid + 1);
netlink_add_addr4(&nlmsg, sock, dev, addr);
if (!devtypes[i].noipv6) {
sprintf(addr, "fe88::%02x:%02x", i, (int)procid + 1);
netlink_add_addr6(&nlmsg, sock, dev, addr);
}
int macsize = devtypes[i].macsize;
uint64_t macaddr = 0xbbbbbb +
((unsigned long long)i << (8 * (macsize - 2))) +
(procid << (8 * (macsize - 1)));
netlink_device_change(&nlmsg, sock, dev, !devtypes[i].noup, 0, &macaddr,
macsize, NULL);
}
close(sock);
}
static int read_tun(char* data, int size)
{
if (tunfd < 0)
return -1;
int rv = read(tunfd, data, size);
if (rv < 0) {
if (errno == EAGAIN || errno == EBADF || errno == EBADFD)
return -1;
exit(1);
}
return rv;
}
static long syz_emit_ethernet(volatile long a0, volatile long a1,
volatile long a2)
{
if (tunfd < 0)
return (uintptr_t)-1;
uint32_t length = a0;
char* data = (char*)a1;
return write(tunfd, data, length);
}
static void flush_tun()
{
char data[1000];
while (read_tun(&data[0], sizeof(data)) != -1) {
}
}
static void setup_gadgetfs();
static void setup_binderfs();
static void setup_fusectl();
static void sandbox_common_mount_tmpfs(void)
{
write_file("/proc/sys/fs/mount-max", "100000");
if (mkdir("./syz-tmp", 0777))
exit(1);
if (mount("", "./syz-tmp", "tmpfs", 0, NULL))
exit(1);
if (mkdir("./syz-tmp/newroot", 0777))
exit(1);
if (mkdir("./syz-tmp/newroot/dev", 0700))
exit(1);
unsigned bind_mount_flags = MS_BIND | MS_REC | MS_PRIVATE;
if (mount("/dev", "./syz-tmp/newroot/dev", NULL, bind_mount_flags, NULL))
exit(1);
if (mkdir("./syz-tmp/newroot/proc", 0700))
exit(1);
if (mount("syz-proc", "./syz-tmp/newroot/proc", "proc", 0, NULL))
exit(1);
if (mkdir("./syz-tmp/newroot/selinux", 0700))
exit(1);
const char* selinux_path = "./syz-tmp/newroot/selinux";
if (mount("/selinux", selinux_path, NULL, bind_mount_flags, NULL)) {
if (errno != ENOENT)
exit(1);
if (mount("/sys/fs/selinux", selinux_path, NULL, bind_mount_flags, NULL) &&
errno != ENOENT)
exit(1);
}
if (mkdir("./syz-tmp/newroot/sys", 0700))
exit(1);
if (mount("/sys", "./syz-tmp/newroot/sys", 0, bind_mount_flags, NULL))
exit(1);
if (mount("/sys/kernel/debug", "./syz-tmp/newroot/sys/kernel/debug", NULL,
bind_mount_flags, NULL) &&
errno != ENOENT)
exit(1);
if (mount("/sys/fs/smackfs", "./syz-tmp/newroot/sys/fs/smackfs", NULL,
bind_mount_flags, NULL) &&
errno != ENOENT)
exit(1);
if (mount("/proc/sys/fs/binfmt_misc",
"./syz-tmp/newroot/proc/sys/fs/binfmt_misc", NULL, bind_mount_flags,
NULL) &&
errno != ENOENT)
exit(1);
if (mkdir("./syz-tmp/newroot/syz-inputs", 0700))
exit(1);
if (mount("/syz-inputs", "./syz-tmp/newroot/syz-inputs", NULL,
bind_mount_flags | MS_RDONLY, NULL) &&
errno != ENOENT)
exit(1);
if (mkdir("./syz-tmp/pivot", 0777))
exit(1);
if (syscall(SYS_pivot_root, "./syz-tmp", "./syz-tmp/pivot")) {
if (chdir("./syz-tmp"))
exit(1);
} else {
if (chdir("/"))
exit(1);
if (umount2("./pivot", MNT_DETACH))
exit(1);
}
if (chroot("./newroot"))
exit(1);
if (chdir("/"))
exit(1);
setup_gadgetfs();
setup_binderfs();
setup_fusectl();
}
static void setup_gadgetfs()
{
if (mkdir("/dev/gadgetfs", 0777)) {
}
if (mount("gadgetfs", "/dev/gadgetfs", "gadgetfs", 0, NULL)) {
}
}
static void setup_fusectl()
{
if (mount(0, "/sys/fs/fuse/connections", "fusectl", 0, 0)) {
}
}
static void setup_binderfs()
{
if (mkdir("/dev/binderfs", 0777)) {
}
if (mount("binder", "/dev/binderfs", "binder", 0, NULL)) {
}
}
static void loop();
static void sandbox_common()
{
prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
if (getppid() == 1)
exit(1);
struct rlimit rlim;
rlim.rlim_cur = rlim.rlim_max = (200 << 20);
setrlimit(RLIMIT_AS, &rlim);
rlim.rlim_cur = rlim.rlim_max = 32 << 20;
setrlimit(RLIMIT_MEMLOCK, &rlim);
rlim.rlim_cur = rlim.rlim_max = 136 << 20;
setrlimit(RLIMIT_FSIZE, &rlim);
rlim.rlim_cur = rlim.rlim_max = 1 << 20;
setrlimit(RLIMIT_STACK, &rlim);
rlim.rlim_cur = rlim.rlim_max = 128 << 20;
setrlimit(RLIMIT_CORE, &rlim);
rlim.rlim_cur = rlim.rlim_max = 256;
setrlimit(RLIMIT_NOFILE, &rlim);
if (unshare(CLONE_NEWNS)) {
}
if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, NULL)) {
}
if (unshare(CLONE_NEWIPC)) {
}
if (unshare(0x02000000)) {
}
if (unshare(CLONE_NEWUTS)) {
}
if (unshare(CLONE_SYSVSEM)) {
}
typedef struct {
const char* name;
const char* value;
} sysctl_t;
static const sysctl_t sysctls[] = {
{"/proc/sys/kernel/shmmax", "16777216"},
{"/proc/sys/kernel/shmall", "536870912"},
{"/proc/sys/kernel/shmmni", "1024"},
{"/proc/sys/kernel/msgmax", "8192"},
{"/proc/sys/kernel/msgmni", "1024"},
{"/proc/sys/kernel/msgmnb", "1024"},
{"/proc/sys/kernel/sem", "1024 1048576 500 1024"},
};
unsigned i;
for (i = 0; i < sizeof(sysctls) / sizeof(sysctls[0]); i++)
write_file(sysctls[i].name, sysctls[i].value);
}
static int wait_for_loop(int pid)
{
if (pid < 0)
exit(1);
int status = 0;
while (waitpid(-1, &status, __WALL) != pid) {
}
return WEXITSTATUS(status);
}
static void drop_caps(void)
{
struct __user_cap_header_struct cap_hdr = {};
struct __user_cap_data_struct cap_data[2] = {};
cap_hdr.version = _LINUX_CAPABILITY_VERSION_3;
cap_hdr.pid = getpid();
if (syscall(SYS_capget, &cap_hdr, &cap_data))
exit(1);
const int drop = (1 << CAP_SYS_PTRACE) | (1 << CAP_SYS_NICE);
cap_data[0].effective &= ~drop;
cap_data[0].permitted &= ~drop;
cap_data[0].inheritable &= ~drop;
if (syscall(SYS_capset, &cap_hdr, &cap_data))
exit(1);
}
static int real_uid;
static int real_gid;
__attribute__((aligned(64 << 10))) static char sandbox_stack[1 << 20];
static int namespace_sandbox_proc(void* arg)
{
sandbox_common();
write_file("/proc/self/setgroups", "deny");
if (!write_file("/proc/self/uid_map", "0 %d 1\n", real_uid))
exit(1);
if (!write_file("/proc/self/gid_map", "0 %d 1\n", real_gid))
exit(1);
initialize_netdevices_init();
if (unshare(CLONE_NEWNET))
exit(1);
write_file("/proc/sys/net/ipv4/ping_group_range", "0 65535");
initialize_tun();
initialize_netdevices();
sandbox_common_mount_tmpfs();
drop_caps();
loop();
exit(1);
}
static int do_sandbox_namespace(void)
{
real_uid = getuid();
real_gid = getgid();
mprotect(sandbox_stack, 4096, PROT_NONE);
int pid =
clone(namespace_sandbox_proc, &sandbox_stack[sizeof(sandbox_stack) - 64],
CLONE_NEWUSER | CLONE_NEWPID, 0);
return wait_for_loop(pid);
}
#define FS_IOC_SETFLAGS _IOW('f', 2, long)
static void remove_dir(const char* dir)
{
int iter = 0;
DIR* dp = 0;
const int umount_flags = MNT_FORCE | UMOUNT_NOFOLLOW;
retry:
while (umount2(dir, umount_flags) == 0) {
}
dp = opendir(dir);
if (dp == NULL) {
if (errno == EMFILE) {
exit(1);
}
exit(1);
}
struct dirent* ep = 0;
while ((ep = readdir(dp))) {
if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0)
continue;
char filename[FILENAME_MAX];
snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name);
while (umount2(filename, umount_flags) == 0) {
}
struct stat st;
if (lstat(filename, &st))
exit(1);
if (S_ISDIR(st.st_mode)) {
remove_dir(filename);
continue;
}
int i;
for (i = 0;; i++) {
if (unlink(filename) == 0)
break;
if (errno == EPERM) {
int fd = open(filename, O_RDONLY);
if (fd != -1) {
long flags = 0;
if (ioctl(fd, FS_IOC_SETFLAGS, &flags) == 0) {
}
close(fd);
continue;
}
}
if (errno == EROFS) {
break;
}
if (errno != EBUSY || i > 100)
exit(1);
if (umount2(filename, umount_flags))
exit(1);
}
}
closedir(dp);
for (int i = 0;; i++) {
if (rmdir(dir) == 0)
break;
if (i < 100) {
if (errno == EPERM) {
int fd = open(dir, O_RDONLY);
if (fd != -1) {
long flags = 0;
if (ioctl(fd, FS_IOC_SETFLAGS, &flags) == 0) {
}
close(fd);
continue;
}
}
if (errno == EROFS) {
break;
}
if (errno == EBUSY) {
if (umount2(dir, umount_flags))
exit(1);
continue;
}
if (errno == ENOTEMPTY) {
if (iter < 100) {
iter++;
goto retry;
}
}
}
exit(1);
}
}
static void kill_and_wait(int pid, int* status)
{
kill(-pid, SIGKILL);
kill(pid, SIGKILL);
for (int i = 0; i < 100; i++) {
if (waitpid(-1, status, WNOHANG | __WALL) == pid)
return;
usleep(1000);
}
DIR* dir = opendir("/sys/fs/fuse/connections");
if (dir) {
for (;;) {
struct dirent* ent = readdir(dir);
if (!ent)
break;
if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
continue;
char abort[300];
snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort",
ent->d_name);
int fd = open(abort, O_WRONLY);
if (fd == -1) {
continue;
}
if (write(fd, abort, 1) < 0) {
}
close(fd);
}
closedir(dir);
} else {
}
while (waitpid(-1, status, __WALL) != pid) {
}
}
static void setup_test()
{
prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
setpgrp();
write_file("/proc/self/oom_score_adj", "1000");
flush_tun();
if (symlink("/dev/binderfs", "./binderfs")) {
}
}
struct thread_t {
int created, call;
event_t ready, done;
};
static struct thread_t threads[16];
static void execute_call(int call);
static int running;
static void* thr(void* arg)
{
struct thread_t* th = (struct thread_t*)arg;
for (;;) {
event_wait(&th->ready);
event_reset(&th->ready);
execute_call(th->call);
__atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED);
event_set(&th->done);
}
return 0;
}
static void execute_one(void)
{
if (write(1, "executing program\n", sizeof("executing program\n") - 1)) {
}
int i, call, thread;
for (call = 0; call < 5; call++) {
for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0]));
thread++) {
struct thread_t* th = &threads[thread];
if (!th->created) {
th->created = 1;
event_init(&th->ready);
event_init(&th->done);
event_set(&th->done);
thread_start(thr, th);
}
if (!event_isset(&th->done))
continue;
event_reset(&th->done);
th->call = call;
__atomic_fetch_add(&running, 1, __ATOMIC_RELAXED);
event_set(&th->ready);
if (call == 1)
break;
event_timedwait(&th->done, 50);
break;
}
}
for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++)
sleep_ms(1);
}
static void execute_one(void);
#define WAIT_FLAGS __WALL
static void loop(void)
{
int iter = 0;
for (;; iter++) {
char cwdbuf[32];
sprintf(cwdbuf, "./%d", iter);
if (mkdir(cwdbuf, 0777))
exit(1);
int pid = fork();
if (pid < 0)
exit(1);
if (pid == 0) {
if (chdir(cwdbuf))
exit(1);
setup_test();
execute_one();
exit(0);
}
int status = 0;
uint64_t start = current_time_ms();
for (;;) {
sleep_ms(10);
if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid)
break;
if (current_time_ms() - start < 5000)
continue;
kill_and_wait(pid, &status);
break;
}
remove_dir(cwdbuf);
}
}
uint64_t r[1] = {0xffffffffffffffff};
void execute_call(int call)
{
intptr_t res = 0;
switch (call) {
case 0:
// socket$nl_netfilter arguments: [
// domain: const = 0x10 (8 bytes)
// type: const = 0x3 (8 bytes)
// proto: const = 0xc (4 bytes)
// ]
// returns sock_nl_netfilter
res = syscall(__NR_socket, /*domain=*/0x10ul, /*type=*/3ul, /*proto=*/0xc);
if (res != -1)
r[0] = res;
break;
case 1:
// syz_emit_ethernet arguments: [
// len: len = 0x3a (8 bytes)
// packet: ptr[in, eth_packet] {
// eth_packet {
// dst_mac: union mac_addr {
// local: mac_addr_t[const[0xaa, int8]] {
// a0: buffer: {aa aa aa aa aa} (length 0x5)
// a1: const = 0xaa (1 bytes)
// }
// }
// src_mac: union mac_addr {
// random: buffer: {cd 7c 1e 70 5d 31} (length 0x6)
// }
// vtag: union optional[vlan_tag] {
// void: buffer: {} (length 0x0)
// }
// payload: eth_payload {
// eth2: union eth2_packet {
// ipv4: eth2_packet_t[ETH_P_IP, ipv4_packet] {
// etype: const = 0x800 (2 bytes)
// payload: union ipv4_packet {
// udp: ipv4_packet_t[const[IPPROTO_UDP, int8], udp_packet] {
// header: ipv4_header[const[IPPROTO_UDP, int8]] {
// ihl: bytesize4 = 0x5 (0 bytes)
// version: const = 0x4 (1 bytes)
// ecn: int8 = 0x0 (0 bytes)
// dscp: int8 = 0x35 (1 bytes)
// total_len: len = 0x2c (2 bytes)
// id: int16be = 0x66 (2 bytes)
// frag_off: int16be = 0x0 (2 bytes)
// ttl: int8 = 0x8 (1 bytes)
// protocol: const = 0x11 (1 bytes)
// csum: csum = 0x0 (2 bytes)
// src_ip: union ipv4_addr {
// rand_addr: int32be = 0x64010101 (4 bytes)
// }
// dst_ip: union ipv4_addr {
// local: ipv4_addr_t[const[170, int8]] {
// a0: const = 0xac (1 bytes)
// a1: const = 0x14 (1 bytes)
// a2: const = 0x14 (1 bytes)
// a3: const = 0xaa (1 bytes)
// }
// }
// options: ipv4_options {
// options: array[ipv4_option] {
// }
// }
// }
// payload: udp_packet {
// src_port: int16be = 0x4e21 (2 bytes)
// dst_port: int16be = 0x4e24 (2 bytes)
// length: len = 0x18 (2 bytes)
// csum: csum = 0x0 (2 bytes)
// payload: union udp_payload {
// wg: union wg_packet {
// data: message_data {
// type: const = 0x4 (4 bytes)
// key_idx: int32 = 0x9 (4 bytes)
// counter: int64 = 0x1800000000 (8 bytes)
// encrypted_data: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// }
// }
// }
// }
// }
// }
// frags: nil
// ]
memset((void*)0x2000000006c0, 170, 5);
*(uint8_t*)0x2000000006c5 = 0xaa;
memcpy((void*)0x2000000006c6, "\xcd\x7c\x1e\x70\x5d\x31", 6);
*(uint16_t*)0x2000000006cc = htobe16(0x800);
STORE_BY_BITMASK(uint8_t, , 0x2000000006ce, 5, 0, 4);
STORE_BY_BITMASK(uint8_t, , 0x2000000006ce, 4, 4, 4);
STORE_BY_BITMASK(uint8_t, , 0x2000000006cf, 0, 0, 2);
STORE_BY_BITMASK(uint8_t, , 0x2000000006cf, 0x35, 2, 6);
*(uint16_t*)0x2000000006d0 = htobe16(0x2c);
*(uint16_t*)0x2000000006d2 = htobe16(0x66);
*(uint16_t*)0x2000000006d4 = htobe16(0);
*(uint8_t*)0x2000000006d6 = 8;
*(uint8_t*)0x2000000006d7 = 0x11;
*(uint16_t*)0x2000000006d8 = htobe16(0);
*(uint32_t*)0x2000000006da = htobe32(0x64010101);
*(uint8_t*)0x2000000006de = 0xac;
*(uint8_t*)0x2000000006df = 0x14;
*(uint8_t*)0x2000000006e0 = 0x14;
*(uint8_t*)0x2000000006e1 = 0xaa;
*(uint16_t*)0x2000000006e2 = htobe16(0x4e21);
*(uint16_t*)0x2000000006e4 = htobe16(0x4e24);
*(uint16_t*)0x2000000006e6 = htobe16(0x18);
*(uint16_t*)0x2000000006e8 = htobe16(0);
*(uint32_t*)0x2000000006ea = 4;
*(uint32_t*)0x2000000006ee = 9;
*(uint64_t*)0x2000000006f2 = 0x1800000000;
struct csum_inet csum_1;
csum_inet_init(&csum_1);
csum_inet_update(&csum_1, (const uint8_t*)0x2000000006da, 4);
csum_inet_update(&csum_1, (const uint8_t*)0x2000000006de, 4);
uint16_t csum_1_chunk_2 = 0x1100;
csum_inet_update(&csum_1, (const uint8_t*)&csum_1_chunk_2, 2);
uint16_t csum_1_chunk_3 = 0x1800;
csum_inet_update(&csum_1, (const uint8_t*)&csum_1_chunk_3, 2);
csum_inet_update(&csum_1, (const uint8_t*)0x2000000006e2, 24);
*(uint16_t*)0x2000000006e8 = csum_inet_digest(&csum_1);
struct csum_inet csum_2;
csum_inet_init(&csum_2);
csum_inet_update(&csum_2, (const uint8_t*)0x2000000006ce, 20);
*(uint16_t*)0x2000000006d8 = csum_inet_digest(&csum_2);
syz_emit_ethernet(/*len=*/0x3a, /*packet=*/0x2000000006c0, /*frags=*/0);
break;
case 2:
// syz_emit_ethernet arguments: [
// len: len = 0x3a (8 bytes)
// packet: ptr[in, eth_packet] {
// eth_packet {
// dst_mac: union mac_addr {
// local: mac_addr_t[const[0xaa, int8]] {
// a0: buffer: {aa aa aa aa aa} (length 0x5)
// a1: const = 0xaa (1 bytes)
// }
// }
// src_mac: union mac_addr {
// random: buffer: {cd 7c 1e 70 5d 31} (length 0x6)
// }
// vtag: union optional[vlan_tag] {
// void: buffer: {} (length 0x0)
// }
// payload: eth_payload {
// eth2: union eth2_packet {
// ipv4: eth2_packet_t[ETH_P_IP, ipv4_packet] {
// etype: const = 0x800 (2 bytes)
// payload: union ipv4_packet {
// udp: ipv4_packet_t[const[IPPROTO_UDP, int8], udp_packet] {
// header: ipv4_header[const[IPPROTO_UDP, int8]] {
// ihl: bytesize4 = 0x5 (0 bytes)
// version: const = 0x4 (1 bytes)
// ecn: int8 = 0x0 (0 bytes)
// dscp: int8 = 0x35 (1 bytes)
// total_len: len = 0x2c (2 bytes)
// id: int16be = 0x66 (2 bytes)
// frag_off: int16be = 0x0 (2 bytes)
// ttl: int8 = 0x8 (1 bytes)
// protocol: const = 0x11 (1 bytes)
// csum: csum = 0x0 (2 bytes)
// src_ip: union ipv4_addr {
// rand_addr: int32be = 0x64010101 (4 bytes)
// }
// dst_ip: union ipv4_addr {
// local: ipv4_addr_t[const[170, int8]] {
// a0: const = 0xac (1 bytes)
// a1: const = 0x14 (1 bytes)
// a2: const = 0x14 (1 bytes)
// a3: const = 0xaa (1 bytes)
// }
// }
// options: ipv4_options {
// options: array[ipv4_option] {
// }
// }
// }
// payload: udp_packet {
// src_port: int16be = 0x4e21 (2 bytes)
// dst_port: int16be = 0x4e24 (2 bytes)
// length: len = 0x18 (2 bytes)
// csum: csum = 0x0 (2 bytes)
// payload: union udp_payload {
// wg: union wg_packet {
// data: message_data {
// type: const = 0x4 (4 bytes)
// key_idx: int32 = 0x9 (4 bytes)
// counter: int64 = 0x1800000000 (8 bytes)
// encrypted_data: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// }
// }
// }
// }
// }
// }
// frags: nil
// ]
memset((void*)0x2000000006c0, 170, 5);
*(uint8_t*)0x2000000006c5 = 0xaa;
memcpy((void*)0x2000000006c6, "\xcd\x7c\x1e\x70\x5d\x31", 6);
*(uint16_t*)0x2000000006cc = htobe16(0x800);
STORE_BY_BITMASK(uint8_t, , 0x2000000006ce, 5, 0, 4);
STORE_BY_BITMASK(uint8_t, , 0x2000000006ce, 4, 4, 4);
STORE_BY_BITMASK(uint8_t, , 0x2000000006cf, 0, 0, 2);
STORE_BY_BITMASK(uint8_t, , 0x2000000006cf, 0x35, 2, 6);
*(uint16_t*)0x2000000006d0 = htobe16(0x2c);
*(uint16_t*)0x2000000006d2 = htobe16(0x66);
*(uint16_t*)0x2000000006d4 = htobe16(0);
*(uint8_t*)0x2000000006d6 = 8;
*(uint8_t*)0x2000000006d7 = 0x11;
*(uint16_t*)0x2000000006d8 = htobe16(0);
*(uint32_t*)0x2000000006da = htobe32(0x64010101);
*(uint8_t*)0x2000000006de = 0xac;
*(uint8_t*)0x2000000006df = 0x14;
*(uint8_t*)0x2000000006e0 = 0x14;
*(uint8_t*)0x2000000006e1 = 0xaa;
*(uint16_t*)0x2000000006e2 = htobe16(0x4e21);
*(uint16_t*)0x2000000006e4 = htobe16(0x4e24);
*(uint16_t*)0x2000000006e6 = htobe16(0x18);
*(uint16_t*)0x2000000006e8 = htobe16(0);
*(uint32_t*)0x2000000006ea = 4;
*(uint32_t*)0x2000000006ee = 9;
*(uint64_t*)0x2000000006f2 = 0x1800000000;
struct csum_inet csum_3;
csum_inet_init(&csum_3);
csum_inet_update(&csum_3, (const uint8_t*)0x2000000006da, 4);
csum_inet_update(&csum_3, (const uint8_t*)0x2000000006de, 4);
uint16_t csum_3_chunk_2 = 0x1100;
csum_inet_update(&csum_3, (const uint8_t*)&csum_3_chunk_2, 2);
uint16_t csum_3_chunk_3 = 0x1800;
csum_inet_update(&csum_3, (const uint8_t*)&csum_3_chunk_3, 2);
csum_inet_update(&csum_3, (const uint8_t*)0x2000000006e2, 24);
*(uint16_t*)0x2000000006e8 = csum_inet_digest(&csum_3);
struct csum_inet csum_4;
csum_inet_init(&csum_4);
csum_inet_update(&csum_4, (const uint8_t*)0x2000000006ce, 20);
*(uint16_t*)0x2000000006d8 = csum_inet_digest(&csum_4);
syz_emit_ethernet(/*len=*/0x3a, /*packet=*/0x2000000006c0, /*frags=*/0);
break;
case 3:
// sendmsg$NFT_BATCH arguments: [
// fd: sock_nl_netfilter (resource)
// msg: ptr[in, msghdr_netlink[nft_batch_msg]] {
// msghdr_netlink[nft_batch_msg] {
// addr: nil
// addrlen: len = 0x0 (4 bytes)
// pad = 0x0 (4 bytes)
// vec: ptr[in, iovec[in, nft_batch_msg]] {
// iovec[in, nft_batch_msg] {
// addr: ptr[in, nft_batch_msg] {
// nft_batch_msg {
// begin: nft_nlmsghdr[NFNL_MSG_BATCH_BEGIN] {
// nlmsg_len: len = 0x14 (4 bytes)
// nlmsg_type: const = 0x10 (2 bytes)
// nlmsg_flags: const = 0x1 (2 bytes)
// nlmsg_seq: const = 0x0 (4 bytes)
// nlmsg_pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg_nft {
// nfgen_family: families = 0x0 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: const = 0xa (2 bytes)
// }
// }
// msgs: array[nft_batch_message] {
// union nft_batch_message {
// NFT_MSG_NEWTABLE:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWTABLE, array[nft_table_policy]] {
// len: len = 0x20 (4 bytes)
// type: const = 0x0 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_table_policy] {
// union nft_table_policy {
// NFTA_TABLE_NAME: nlattr_t[const[NFTA_TABLE_NAME,
// int16], string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// }
// }
// }
// union nft_batch_message {
// NFT_MSG_NEWCHAIN:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWCHAIN, array[nft_chain_policy]] {
// len: len = 0x60 (4 bytes)
// type: const = 0x3 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_chain_policy] {
// union nft_chain_policy {
// NFTA_CHAIN_TABLE:
// nlattr_t[const[NFTA_CHAIN_TABLE, int16],
// string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_chain_policy {
// NFTA_CHAIN_NAME: nlattr_t[const[NFTA_CHAIN_NAME,
// int16], string[nft_chain_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x3 (2 bytes)
// payload: buffer: {73 79 7a 62 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_chain_policy {
// NFTA_CHAIN_TYPE: nlattr_t[const[NFTA_CHAIN_TYPE,
// int16], string[nft_chain_type]] {
// nla_len: offsetof = 0xa (2 bytes)
// nla_type: const = 0x7 (2 bytes)
// payload: buffer: {66 69 6c 74 65 72 00}
// (length 0x7) size: buffer: {} (length 0x0)
// }
// }
// union nft_chain_policy {
// NFTA_CHAIN_HOOK:
// nlattr_tt[const[NFTA_CHAIN_HOOK, int16:14], 0,
// 1, array[nft_hook_policy]] {
// nla_len: offsetof = 0x28 (2 bytes)
// nla_type: const = 0x4 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: array[nft_hook_policy] {
// union nft_hook_policy {
// NFTA_HOOK_HOOKNUM:
// nlattr_tt[const[NFTA_HOOK_HOOKNUM,
// int16:14], 1, 0, flags[nf_inet_hooks,
// int32be]] {
// nla_len: offsetof = 0x8 (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x1 (0
// bytes) NLA_F_NESTED: const = 0x0 (1
// bytes) payload: nf_inet_hooks = 0x1 (4
// bytes) size: buffer: {} (length 0x0)
// }
// }
// union nft_hook_policy {
// NFTA_HOOK_PRIORITY:
// nlattr_tt[const[NFTA_HOOK_PRIORITY,
// int16:14], 1, 0,
// int32be[NF_IP_PRI_CONNTRACK:NF_IP_PRI_LAST]]
// {
// nla_len: offsetof = 0x8 (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x1 (0
// bytes) NLA_F_NESTED: const = 0x0 (1
// bytes) payload: int32be = 0x12c (4
// bytes) size: buffer: {} (length 0x0)
// }
// }
// union nft_hook_policy {
// NFTA_HOOK_DEV:
// nlattr_t[const[NFTA_HOOK_DEV, int16],
// devname] {
// nla_len: offsetof = 0x14 (2 bytes)
// nla_type: const = 0x3 (2 bytes)
// payload: buffer: {6c 6f 00 00 00 00 00
// 00 00 00 00 00 00 00 00 00} (length
// 0x10) size: buffer: {} (length 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// union nft_batch_message {
// NFT_MSG_NEWCHAIN:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWCHAIN, array[nft_chain_policy]] {
// len: len = 0x2c (4 bytes)
// type: const = 0x3 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_chain_policy] {
// union nft_chain_policy {
// NFTA_CHAIN_TABLE:
// nlattr_t[const[NFTA_CHAIN_TABLE, int16],
// string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_chain_policy {
// NFTA_CHAIN_NAME: nlattr_t[const[NFTA_CHAIN_NAME,
// int16], string[nft_chain_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x3 (2 bytes)
// payload: buffer: {73 79 7a 65 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// }
// }
// }
// union nft_batch_message {
// NFT_MSG_NEWCHAIN:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWCHAIN, array[nft_chain_policy]] {
// len: len = 0x48 (4 bytes)
// type: const = 0x3 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_chain_policy] {
// union nft_chain_policy {
// NFTA_CHAIN_TABLE:
// nlattr_t[const[NFTA_CHAIN_TABLE, int16],
// string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_chain_policy {
// NFTA_CHAIN_NAME: nlattr_t[const[NFTA_CHAIN_NAME,
// int16], string[nft_chain_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x3 (2 bytes)
// payload: buffer: {73 79 7a 62 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_chain_policy {
// NFTA_CHAIN_COUNTERS:
// nlattr_tt[const[NFTA_CHAIN_COUNTERS, int16:14],
// 0, 1, array[nft_counter_policy]] {
// nla_len: offsetof = 0x1c (2 bytes)
// nla_type: const = 0x8 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: array[nft_counter_policy] {
// union nft_counter_policy {
// NFTA_COUNTER_PACKETS:
// nlattr_tt[const[NFTA_COUNTER_PACKETS,
// int16:14], 1, 0, int64be] {
// nla_len: offsetof = 0xc (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x1 (0
// bytes) NLA_F_NESTED: const = 0x0 (1
// bytes) payload: int64be =
// 0xffffffffffffffff (8 bytes) size:
// buffer: {} (length 0x0)
// }
// }
// union nft_counter_policy {
// NFTA_COUNTER_BYTES:
// nlattr_tt[const[NFTA_COUNTER_BYTES,
// int16:14], 1, 0, int64be] {
// nla_len: offsetof = 0xc (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x1 (0
// bytes) NLA_F_NESTED: const = 0x0 (1
// bytes) payload: int64be = 0x0 (8 bytes)
// size: buffer: {} (length 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// union nft_batch_message {
// NFT_MSG_NEWRULE:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWRULE, array[nft_rule_policy]] {
// len: len = 0xc8 (4 bytes)
// type: const = 0x6 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_rule_policy] {
// union nft_rule_policy {
// NFTA_RULE_TABLE: nlattr_t[const[NFTA_RULE_TABLE,
// int16], string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_rule_policy {
// NFTA_RULE_CHAIN: nlattr_t[const[NFTA_RULE_CHAIN,
// int16], string[nft_chain_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x2 (2 bytes)
// payload: buffer: {73 79 7a 65 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_rule_policy {
// NFTA_RULE_EXPRESSIONS:
// nlattr_tt[const[NFTA_RULE_EXPRESSIONS,
// int16:14], 0, 1, array[nlnest[NFTA_LIST_ELEM,
// nft_expr_policy]]] {
// nla_len: offsetof = 0x9c (2 bytes)
// nla_type: const = 0x4 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: array[nlattr_tt[const[NFTA_LIST_ELEM,
// int16:14], 0, 1, nft_expr_policy]] {
// nlattr_tt[const[NFTA_LIST_ELEM, int16:14],
// 0, 1, nft_expr_policy] {
// nla_len: offsetof = 0x68 (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: union nft_expr_policy {
// inner: nft_expr_policy_t["inner",
// nft_inner_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME, int16],
// string["inner"]] {
// nla_len: offsetof = 0xa (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {69 6e 6e 65 72 00}
// (length 0x6) size: buffer: {}
// (length 0x0) pad = 0x0 (2 bytes)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_inner_policy]]] {
// val: nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_inner_policy]] {
// nla_len: offsetof = 0x58 (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0
// (0 bytes) NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_inner_policy] {
// union nft_inner_policy {
// NFTA_INNER_NUM:
// nlattr_tt[const[NFTA_INNER_NUM,
// int16:14], 1, 0, int32be[0]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: int32be = 0x0 (4
// bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_inner_policy {
// NFTA_INNER_TYPE:
// nlattr_tt[const[NFTA_INNER_TYPE,
// int16:14], 1, 0,
// int32be[0:255]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: int32be = 0x2 (4
// bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_inner_policy {
// NFTA_INNER_FLAGS:
// nlattr_tt[const[NFTA_INNER_FLAGS,
// int16:14], 1, 0,
// flags[nft_inner_flags,
// int32be]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x3
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_inner_flags =
// 0x9 (4 bytes) size: buffer:
// {} (length 0x0)
// }
// }
// union nft_inner_policy {
// NFTA_INNER_HDRSIZE:
// nlattr_tt[const[NFTA_INNER_HDRSIZE,
// int16:14], 1, 0,
// int32be[0:64]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x4
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: int32be = 0x1f (4
// bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_inner_policy {
// NFTA_INNER_EXPR:
// nlattr_tt[const[NFTA_INNER_EXPR,
// int16:14], 0, 1,
// nft_expr_policy_inner] {
// nla_len: offsetof = 0x34 (2
// bytes) nla_type: const = 0x5
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x0 (0 bytes) NLA_F_NESTED:
// const = 0x1 (1 bytes)
// payload: union
// nft_expr_policy_inner {
// payload:
// nft_expr_policy_t["payload",
// nft_payload_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME,
// int16],
// string["payload"]] {
// nla_len: offsetof =
// 0xc (2 bytes)
// nla_type: const = 0x1
// (2 bytes) payload:
// buffer: {70 61 79 6c
// 6f 61 64 00} (length
// 0x8) size: buffer: {}
// (length 0x0)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_payload_policy]]]
// {
// val:
// nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_payload_policy]]
// {
// nla_len: offsetof =
// 0x24 (2 bytes)
// nla_type: const =
// 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x0 (0
// bytes) NLA_F_NESTED:
// const = 0x1 (1
// bytes) payload:
// array[nft_payload_policy]
// {
// union
// nft_payload_policy
// {
// NFTA_PAYLOAD_BASE:
// nlattr_tt[const[NFTA_PAYLOAD_BASE,
// int16:14], 1, 0,
// flags[nft_payload_bases,
// int32be]] {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type:
// const = 0x2 (1
// bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x1 (0
// bytes)
// NLA_F_NESTED:
// const = 0x0 (1
// bytes)
// payload:
// nft_payload_bases
// = 0x2 (4
// bytes) size:
// buffer: {}
// (length 0x0)
// }
// }
// union
// nft_payload_policy
// {
// NFTA_PAYLOAD_OFFSET:
// nlattr_tt[const[NFTA_PAYLOAD_OFFSET,
// int16:14], 1, 0,
// int32be[0:255]]
// {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type:
// const = 0x3 (1
// bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x1 (0
// bytes)
// NLA_F_NESTED:
// const = 0x0 (1
// bytes)
// payload:
// int32be = 0x4
// (4 bytes)
// size: buffer:
// {} (length
// 0x0)
// }
// }
// union
// nft_payload_policy
// {
// NFTA_PAYLOAD_LEN:
// nlattr_tt[const[NFTA_PAYLOAD_LEN,
// int16:14], 1, 0,
// int32be[0:255]]
// {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type:
// const = 0x4 (1
// bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x1 (0
// bytes)
// NLA_F_NESTED:
// const = 0x0 (1
// bytes)
// payload:
// int32be = 0x1
// (4 bytes)
// size: buffer:
// {} (length
// 0x0)
// }
// }
// union
// nft_payload_policy
// {
// NFTA_PAYLOAD_DREG:
// nlattr_tt[const[NFTA_PAYLOAD_DREG,
// int16:14], 1, 0,
// flags[nft_registers,
// int32be]] {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type:
// const = 0x1 (1
// bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x1 (0
// bytes)
// NLA_F_NESTED:
// const = 0x0 (1
// bytes)
// payload:
// nft_registers
// = 0x1 (4
// bytes) size:
// buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {}
// (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// nlattr_tt[const[NFTA_LIST_ELEM, int16:14],
// 0, 1, nft_expr_policy] {
// nla_len: offsetof = 0x30 (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: union nft_expr_policy {
// immediate:
// nft_expr_policy_t["immediate",
// nft_immediate_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME, int16],
// string["immediate"]] {
// nla_len: offsetof = 0xe (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {69 6d 6d 65 64 69
// 61 74 65 00} (length 0xa) size:
// buffer: {} (length 0x0) pad = 0x0 (2
// bytes)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_immediate_policy]]] {
// val: nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_immediate_policy]] {
// nla_len: offsetof = 0x1c (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0
// (0 bytes) NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_immediate_policy] {
// union nft_immediate_policy {
// NFTA_IMMEDIATE_DREG:
// nlattr_tt[const[NFTA_IMMEDIATE_DREG,
// int16:14], 1, 0,
// flags[nft_registers, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_registers = 0x0
// (4 bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_immediate_policy {
// NFTA_IMMEDIATE_DATA:
// nlattr_tt[const[NFTA_IMMEDIATE_DATA,
// int16:14], 0, 1,
// array[nft_data_policy]] {
// nla_len: offsetof = 0x10 (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x0 (0 bytes) NLA_F_NESTED:
// const = 0x1 (1 bytes)
// payload:
// array[nft_data_policy] {
// union nft_data_policy {
// NFTA_DATA_VERDICT:
// nlattr_tt[const[NFTA_DATA_VERDICT,
// int16:14], 0, 1,
// array[nft_verdict_policy]]
// {
// nla_len: offsetof =
// 0xc (2 bytes)
// nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x0 (0 bytes)
// NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_verdict_policy]
// {
// union
// nft_verdict_policy {
// NFTA_VERDICT_CODE:
// nlattr_tt[const[NFTA_VERDICT_CODE,
// int16:14], 0, 1,
// flags[nft_verdicts,
// int32be]] {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type: const
// = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x0 (0
// bytes)
// NLA_F_NESTED:
// const = 0x1 (1
// bytes) payload:
// nft_verdicts =
// 0xfffffffffffffffb
// (4 bytes) size:
// buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// union nft_batch_message {
// NFT_MSG_NEWCHAIN:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWCHAIN, array[nft_chain_policy]] {
// len: len = 0x30 (4 bytes)
// type: const = 0x3 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_chain_policy] {
// union nft_chain_policy {
// NFTA_CHAIN_TABLE:
// nlattr_t[const[NFTA_CHAIN_TABLE, int16],
// string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_chain_policy {
// NFTA_CHAIN_ID: nlattr_tt[const[NFTA_CHAIN_ID,
// int16:14], 1, 0, nft_chain_id] {
// nla_len: offsetof = 0x8 (2 bytes)
// nla_type: const = 0xb (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x1 (0 bytes)
// NLA_F_NESTED: const = 0x0 (1 bytes)
// payload: int32be = 0x1 (4 bytes)
// size: buffer: {} (length 0x0)
// }
// }
// union nft_chain_policy {
// NFTA_CHAIN_FLAGS:
// nlattr_tt[const[NFTA_CHAIN_FLAGS, int16:14], 1,
// 0, flags[nft_chain_flags, int32be]] {
// nla_len: offsetof = 0x8 (2 bytes)
// nla_type: const = 0xa (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x1 (0 bytes)
// NLA_F_NESTED: const = 0x0 (1 bytes)
// payload: nft_chain_flags = 0x4 (4 bytes)
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// union nft_batch_message {
// NFT_MSG_NEWRULE:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWRULE, array[nft_rule_policy]] {
// len: len = 0x68 (4 bytes)
// type: const = 0x6 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_rule_policy] {
// union nft_rule_policy {
// NFTA_RULE_TABLE: nlattr_t[const[NFTA_RULE_TABLE,
// int16], string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_rule_policy {
// NFTA_RULE_CHAIN: nlattr_t[const[NFTA_RULE_CHAIN,
// int16], string[nft_chain_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x2 (2 bytes)
// payload: buffer: {73 79 7a 65 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_rule_policy {
// NFTA_RULE_EXPRESSIONS:
// nlattr_tt[const[NFTA_RULE_EXPRESSIONS,
// int16:14], 0, 1, array[nlnest[NFTA_LIST_ELEM,
// nft_expr_policy]]] {
// nla_len: offsetof = 0x3c (2 bytes)
// nla_type: const = 0x4 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: array[nlattr_tt[const[NFTA_LIST_ELEM,
// int16:14], 0, 1, nft_expr_policy]] {
// nlattr_tt[const[NFTA_LIST_ELEM, int16:14],
// 0, 1, nft_expr_policy] {
// nla_len: offsetof = 0x38 (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: union nft_expr_policy {
// immediate:
// nft_expr_policy_t["immediate",
// nft_immediate_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME, int16],
// string["immediate"]] {
// nla_len: offsetof = 0xe (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {69 6d 6d 65 64 69
// 61 74 65 00} (length 0xa) size:
// buffer: {} (length 0x0) pad = 0x0 (2
// bytes)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_immediate_policy]]] {
// val: nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_immediate_policy]] {
// nla_len: offsetof = 0x24 (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0
// (0 bytes) NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_immediate_policy] {
// union nft_immediate_policy {
// NFTA_IMMEDIATE_DREG:
// nlattr_tt[const[NFTA_IMMEDIATE_DREG,
// int16:14], 1, 0,
// flags[nft_registers, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_registers = 0x0
// (4 bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_immediate_policy {
// NFTA_IMMEDIATE_DATA:
// nlattr_tt[const[NFTA_IMMEDIATE_DATA,
// int16:14], 0, 1,
// array[nft_data_policy]] {
// nla_len: offsetof = 0x18 (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x0 (0 bytes) NLA_F_NESTED:
// const = 0x1 (1 bytes)
// payload:
// array[nft_data_policy] {
// union nft_data_policy {
// NFTA_DATA_VERDICT:
// nlattr_tt[const[NFTA_DATA_VERDICT,
// int16:14], 0, 1,
// array[nft_verdict_policy]]
// {
// nla_len: offsetof =
// 0x14 (2 bytes)
// nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x0 (0 bytes)
// NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_verdict_policy]
// {
// union
// nft_verdict_policy {
// NFTA_VERDICT_CODE:
// nlattr_tt[const[NFTA_VERDICT_CODE,
// int16:14], 0, 1,
// flags[nft_verdicts,
// int32be]] {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type: const
// = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x0 (0
// bytes)
// NLA_F_NESTED:
// const = 0x1 (1
// bytes) payload:
// nft_verdicts =
// 0xfffffffffffffffd
// (4 bytes) size:
// buffer: {}
// (length 0x0)
// }
// }
// union
// nft_verdict_policy {
// NFTA_VERDICT_CHAIN_ID:
// nlattr_tt[const[NFTA_VERDICT_CHAIN_ID,
// int16:14], 1, 0,
// nft_chain_id] {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type: const
// = 0x3 (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x1 (0
// bytes)
// NLA_F_NESTED:
// const = 0x0 (1
// bytes) payload:
// int32be = 0x1 (4
// bytes) size:
// buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// union nft_batch_message {
// NFT_MSG_NEWCHAIN:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWCHAIN, array[nft_chain_policy]] {
// len: len = 0x30 (4 bytes)
// type: const = 0x3 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_chain_policy] {
// union nft_chain_policy {
// NFTA_CHAIN_TABLE:
// nlattr_t[const[NFTA_CHAIN_TABLE, int16],
// string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_chain_policy {
// NFTA_CHAIN_ID: nlattr_tt[const[NFTA_CHAIN_ID,
// int16:14], 1, 0, nft_chain_id] {
// nla_len: offsetof = 0x8 (2 bytes)
// nla_type: const = 0xb (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x1 (0 bytes)
// NLA_F_NESTED: const = 0x0 (1 bytes)
// payload: int32be = 0x2 (4 bytes)
// size: buffer: {} (length 0x0)
// }
// }
// union nft_chain_policy {
// NFTA_CHAIN_FLAGS:
// nlattr_tt[const[NFTA_CHAIN_FLAGS, int16:14], 1,
// 0, flags[nft_chain_flags, int32be]] {
// nla_len: offsetof = 0x8 (2 bytes)
// nla_type: const = 0xa (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x1 (0 bytes)
// NLA_F_NESTED: const = 0x0 (1 bytes)
// payload: nft_chain_flags = 0x4 (4 bytes)
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// union nft_batch_message {
// NFT_MSG_NEWRULE:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWRULE, array[nft_rule_policy]] {
// len: len = 0x68 (4 bytes)
// type: const = 0x6 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_rule_policy] {
// union nft_rule_policy {
// NFTA_RULE_TABLE: nlattr_t[const[NFTA_RULE_TABLE,
// int16], string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_rule_policy {
// NFTA_RULE_CHAIN: nlattr_t[const[NFTA_RULE_CHAIN,
// int16], string[nft_chain_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x2 (2 bytes)
// payload: buffer: {73 79 7a 62 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_rule_policy {
// NFTA_RULE_EXPRESSIONS:
// nlattr_tt[const[NFTA_RULE_EXPRESSIONS,
// int16:14], 0, 1, array[nlnest[NFTA_LIST_ELEM,
// nft_expr_policy]]] {
// nla_len: offsetof = 0x3c (2 bytes)
// nla_type: const = 0x4 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: array[nlattr_tt[const[NFTA_LIST_ELEM,
// int16:14], 0, 1, nft_expr_policy]] {
// nlattr_tt[const[NFTA_LIST_ELEM, int16:14],
// 0, 1, nft_expr_policy] {
// nla_len: offsetof = 0x38 (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: union nft_expr_policy {
// immediate:
// nft_expr_policy_t["immediate",
// nft_immediate_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME, int16],
// string["immediate"]] {
// nla_len: offsetof = 0xe (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {69 6d 6d 65 64 69
// 61 74 65 00} (length 0xa) size:
// buffer: {} (length 0x0) pad = 0x0 (2
// bytes)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_immediate_policy]]] {
// val: nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_immediate_policy]] {
// nla_len: offsetof = 0x24 (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0
// (0 bytes) NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_immediate_policy] {
// union nft_immediate_policy {
// NFTA_IMMEDIATE_DREG:
// nlattr_tt[const[NFTA_IMMEDIATE_DREG,
// int16:14], 1, 0,
// flags[nft_registers, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_registers = 0x0
// (4 bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_immediate_policy {
// NFTA_IMMEDIATE_DATA:
// nlattr_tt[const[NFTA_IMMEDIATE_DATA,
// int16:14], 0, 1,
// array[nft_data_policy]] {
// nla_len: offsetof = 0x18 (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x0 (0 bytes) NLA_F_NESTED:
// const = 0x1 (1 bytes)
// payload:
// array[nft_data_policy] {
// union nft_data_policy {
// NFTA_DATA_VERDICT:
// nlattr_tt[const[NFTA_DATA_VERDICT,
// int16:14], 0, 1,
// array[nft_verdict_policy]]
// {
// nla_len: offsetof =
// 0x14 (2 bytes)
// nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x0 (0 bytes)
// NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_verdict_policy]
// {
// union
// nft_verdict_policy {
// NFTA_VERDICT_CODE:
// nlattr_tt[const[NFTA_VERDICT_CODE,
// int16:14], 0, 1,
// flags[nft_verdicts,
// int32be]] {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type: const
// = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x0 (0
// bytes)
// NLA_F_NESTED:
// const = 0x1 (1
// bytes) payload:
// nft_verdicts =
// 0xfffffffffffffffc
// (4 bytes) size:
// buffer: {}
// (length 0x0)
// }
// }
// union
// nft_verdict_policy {
// NFTA_VERDICT_CHAIN_ID:
// nlattr_tt[const[NFTA_VERDICT_CHAIN_ID,
// int16:14], 1, 0,
// nft_chain_id] {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type: const
// = 0x3 (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x1 (0
// bytes)
// NLA_F_NESTED:
// const = 0x0 (1
// bytes) payload:
// int32be = 0x2 (4
// bytes) size:
// buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// union nft_batch_message {
// NFT_MSG_NEWRULE:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWRULE, array[nft_rule_policy]] {
// len: len = 0x100 (4 bytes)
// type: const = 0x6 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_rule_policy] {
// union nft_rule_policy {
// NFTA_RULE_TABLE: nlattr_t[const[NFTA_RULE_TABLE,
// int16], string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_rule_policy {
// NFTA_RULE_CHAIN: nlattr_t[const[NFTA_RULE_CHAIN,
// int16], string[nft_chain_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x2 (2 bytes)
// payload: buffer: {73 79 7a 62 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_rule_policy {
// NFTA_RULE_EXPRESSIONS:
// nlattr_tt[const[NFTA_RULE_EXPRESSIONS,
// int16:14], 0, 1, array[nlnest[NFTA_LIST_ELEM,
// nft_expr_policy]]] {
// nla_len: offsetof = 0xd4 (2 bytes)
// nla_type: const = 0x4 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: array[nlattr_tt[const[NFTA_LIST_ELEM,
// int16:14], 0, 1, nft_expr_policy]] {
// nlattr_tt[const[NFTA_LIST_ELEM, int16:14],
// 0, 1, nft_expr_policy] {
// nla_len: offsetof = 0x58 (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: union nft_expr_policy {
// fib: nft_expr_policy_t["fib",
// nft_fib_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME, int16],
// string["fib"]] {
// nla_len: offsetof = 0x8 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {66 69 62 00}
// (length 0x4) size: buffer: {}
// (length 0x0)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_fib_policy]]] {
// val: nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_fib_policy]] {
// nla_len: offsetof = 0x4c (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0
// (0 bytes) NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_fib_policy] {
// union nft_fib_policy {
// NFTA_FIB_DREG:
// nlattr_tt[const[NFTA_FIB_DREG,
// int16:14], 1, 0,
// flags[nft_registers, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_registers = 0x0
// (4 bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_fib_policy {
// NFTA_FIB_DREG:
// nlattr_tt[const[NFTA_FIB_DREG,
// int16:14], 1, 0,
// flags[nft_registers, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_registers =
// 0x14 (4 bytes) size: buffer:
// {} (length 0x0)
// }
// }
// union nft_fib_policy {
// NFTA_FIB_DREG:
// nlattr_tt[const[NFTA_FIB_DREG,
// int16:14], 1, 0,
// flags[nft_registers, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_registers =
// 0x11 (4 bytes) size: buffer:
// {} (length 0x0)
// }
// }
// union nft_fib_policy {
// NFTA_FIB_FLAGS:
// nlattr_tt[const[NFTA_FIB_FLAGS,
// int16:14], 1, 0,
// flags[nft_fib_flags, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x3
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_fib_flags = 0x8
// (4 bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_fib_policy {
// NFTA_FIB_RESULT:
// nlattr_tt[const[NFTA_FIB_RESULT,
// int16:14], 1, 0,
// flags[nft_fib_result,
// int32be]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_fib_result =
// 0x1 (4 bytes) size: buffer:
// {} (length 0x0)
// }
// }
// union nft_fib_policy {
// NFTA_FIB_RESULT:
// nlattr_tt[const[NFTA_FIB_RESULT,
// int16:14], 1, 0,
// flags[nft_fib_result,
// int32be]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_fib_result =
// 0x3 (4 bytes) size: buffer:
// {} (length 0x0)
// }
// }
// union nft_fib_policy {
// NFTA_FIB_RESULT:
// nlattr_tt[const[NFTA_FIB_RESULT,
// int16:14], 1, 0,
// flags[nft_fib_result,
// int32be]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_fib_result =
// 0x2 (4 bytes) size: buffer:
// {} (length 0x0)
// }
// }
// union nft_fib_policy {
// NFTA_FIB_FLAGS:
// nlattr_tt[const[NFTA_FIB_FLAGS,
// int16:14], 1, 0,
// flags[nft_fib_flags, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x3
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_fib_flags =
// 0x30 (4 bytes) size: buffer:
// {} (length 0x0)
// }
// }
// union nft_fib_policy {
// NFTA_FIB_FLAGS:
// nlattr_tt[const[NFTA_FIB_FLAGS,
// int16:14], 1, 0,
// flags[nft_fib_flags, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x3
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_fib_flags = 0x1
// (4 bytes) size: buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// nlattr_tt[const[NFTA_LIST_ELEM, int16:14],
// 0, 1, nft_expr_policy] {
// nla_len: offsetof = 0x2c (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: union nft_expr_policy {
// immediate:
// nft_expr_policy_t["immediate",
// nft_immediate_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME, int16],
// string["immediate"]] {
// nla_len: offsetof = 0xe (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {69 6d 6d 65 64 69
// 61 74 65 00} (length 0xa) size:
// buffer: {} (length 0x0) pad = 0x0 (2
// bytes)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_immediate_policy]]] {
// val: nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_immediate_policy]] {
// nla_len: offsetof = 0x18 (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0
// (0 bytes) NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_immediate_policy] {
// union nft_immediate_policy {
// NFTA_IMMEDIATE_DREG:
// nlattr_tt[const[NFTA_IMMEDIATE_DREG,
// int16:14], 1, 0,
// flags[nft_registers, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_registers = 0x1
// (4 bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_immediate_policy {
// NFTA_IMMEDIATE_DATA:
// nlattr_tt[const[NFTA_IMMEDIATE_DATA,
// int16:14], 0, 1,
// array[nft_data_policy]] {
// nla_len: offsetof = 0xc (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x0 (0 bytes) NLA_F_NESTED:
// const = 0x1 (1 bytes)
// payload:
// array[nft_data_policy] {
// union nft_data_policy {
// NFTA_DATA_VALUE:
// nlattr_t[const[NFTA_DATA_VALUE,
// int16], array[int8]] {
// nla_len: offsetof =
// 0x6 (2 bytes)
// nla_type: const = 0x1
// (2 bytes) payload:
// buffer: {21 bb}
// (length 0x2) size:
// buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// nlattr_tt[const[NFTA_LIST_ELEM, int16:14],
// 0, 1, nft_expr_policy] {
// nla_len: offsetof = 0x4c (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: union nft_expr_policy {
// bitwise: nft_expr_policy_t["bitwise",
// nft_bitwise_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME, int16],
// string["bitwise"]] {
// nla_len: offsetof = 0xc (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {62 69 74 77 69 73
// 65 00} (length 0x8) size: buffer: {}
// (length 0x0)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_bitwise_policy]]] {
// val: nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_bitwise_policy]] {
// nla_len: offsetof = 0x3c (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0
// (0 bytes) NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_bitwise_policy] {
// union nft_bitwise_policy {
// NFTA_BITWISE_SREG:
// nlattr_tt[const[NFTA_BITWISE_SREG,
// int16:14], 1, 0,
// flags[nft_registers, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_registers = 0x1
// (4 bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_bitwise_policy {
// NFTA_BITWISE_DREG:
// nlattr_tt[const[NFTA_BITWISE_DREG,
// int16:14], 1, 0,
// flags[nft_registers, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_registers = 0x2
// (4 bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_bitwise_policy {
// NFTA_BITWISE_LEN:
// nlattr_tt[const[NFTA_BITWISE_LEN,
// int16:14], 1, 0, int32be] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x3
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: int32be = 0x2 (4
// bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_bitwise_policy {
// NFTA_BITWISE_OP:
// nlattr_tt[const[NFTA_BITWISE_OP,
// int16:14], 1, 0,
// flags[nft_bitwise_ops,
// int32be]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x6
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_bitwise_ops =
// 0x0 (4 bytes) size: buffer:
// {} (length 0x0)
// }
// }
// union nft_bitwise_policy {
// NFTA_BITWISE_MASK:
// nlattr_tt[const[NFTA_BITWISE_MASK,
// int16:14], 0, 1,
// array[nft_data_policy]] {
// nla_len: offsetof = 0xc (2
// bytes) nla_type: const = 0x4
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x0 (0 bytes) NLA_F_NESTED:
// const = 0x1 (1 bytes)
// payload:
// array[nft_data_policy] {
// union nft_data_policy {
// NFTA_DATA_VALUE:
// nlattr_t[const[NFTA_DATA_VALUE,
// int16], array[int8]] {
// nla_len: offsetof =
// 0x6 (2 bytes)
// nla_type: const = 0x1
// (2 bytes) payload:
// buffer: {ae 4a}
// (length 0x2) size:
// buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length
// 0x0)
// }
// }
// union nft_bitwise_policy {
// NFTA_BITWISE_XOR:
// nlattr_tt[const[NFTA_BITWISE_XOR,
// int16:14], 0, 1,
// array[nft_data_policy]] {
// nla_len: offsetof = 0xc (2
// bytes) nla_type: const = 0x5
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x0 (0 bytes) NLA_F_NESTED:
// const = 0x1 (1 bytes)
// payload:
// array[nft_data_policy] {
// union nft_data_policy {
// NFTA_DATA_VALUE:
// nlattr_t[const[NFTA_DATA_VALUE,
// int16], array[int8]] {
// nla_len: offsetof =
// 0x6 (2 bytes)
// nla_type: const = 0x1
// (2 bytes) payload:
// buffer: {04 40}
// (length 0x2) size:
// buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// union nft_batch_message {
// NFT_MSG_NEWRULE:
// netlink_msg_netfilter_tt[NFNL_SUBSYS_NFTABLES,
// NFT_MSG_NEWRULE, array[nft_rule_policy]] {
// len: len = 0xb8 (4 bytes)
// type: const = 0x6 (1 bytes)
// subsys: const = 0xa (1 bytes)
// flags: netlink_netfilter_msg_flags = 0x401 (2 bytes)
// seq: const = 0x0 (4 bytes)
// pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg {
// nfgen_family: nfproto = 0x5 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: int16be = 0x0 (2 bytes)
// }
// attrs: array[nft_rule_policy] {
// union nft_rule_policy {
// NFTA_RULE_TABLE: nlattr_t[const[NFTA_RULE_TABLE,
// int16], string[nft_table_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {73 79 7a 61 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_rule_policy {
// NFTA_RULE_CHAIN: nlattr_t[const[NFTA_RULE_CHAIN,
// int16], string[nft_chain_name]] {
// nla_len: offsetof = 0x9 (2 bytes)
// nla_type: const = 0x2 (2 bytes)
// payload: buffer: {73 79 7a 62 00} (length 0x5)
// size: buffer: {} (length 0x0)
// pad = 0x0 (3 bytes)
// }
// }
// union nft_rule_policy {
// NFTA_RULE_EXPRESSIONS:
// nlattr_tt[const[NFTA_RULE_EXPRESSIONS,
// int16:14], 0, 1, array[nlnest[NFTA_LIST_ELEM,
// nft_expr_policy]]] {
// nla_len: offsetof = 0x8c (2 bytes)
// nla_type: const = 0x4 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: array[nlattr_tt[const[NFTA_LIST_ELEM,
// int16:14], 0, 1, nft_expr_policy]] {
// nlattr_tt[const[NFTA_LIST_ELEM, int16:14],
// 0, 1, nft_expr_policy] {
// nla_len: offsetof = 0x58 (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: union nft_expr_policy {
// inner: nft_expr_policy_t["inner",
// nft_inner_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME, int16],
// string["inner"]] {
// nla_len: offsetof = 0xa (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {69 6e 6e 65 72 00}
// (length 0x6) size: buffer: {}
// (length 0x0) pad = 0x0 (2 bytes)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_inner_policy]]] {
// val: nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_inner_policy]] {
// nla_len: offsetof = 0x48 (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0
// (0 bytes) NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_inner_policy] {
// union nft_inner_policy {
// NFTA_INNER_NUM:
// nlattr_tt[const[NFTA_INNER_NUM,
// int16:14], 1, 0, int32be[0]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: int32be = 0x0 (4
// bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_inner_policy {
// NFTA_INNER_TYPE:
// nlattr_tt[const[NFTA_INNER_TYPE,
// int16:14], 1, 0,
// int32be[0:255]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: int32be = 0x1 (4
// bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_inner_policy {
// NFTA_INNER_FLAGS:
// nlattr_tt[const[NFTA_INNER_FLAGS,
// int16:14], 1, 0,
// flags[nft_inner_flags,
// int32be]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x3
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_inner_flags =
// 0x2 (4 bytes) size: buffer:
// {} (length 0x0)
// }
// }
// union nft_inner_policy {
// NFTA_INNER_HDRSIZE:
// nlattr_tt[const[NFTA_INNER_HDRSIZE,
// int16:14], 1, 0,
// int32be[0:64]] {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x4
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: int32be = 0x0 (4
// bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_inner_policy {
// NFTA_INNER_EXPR:
// nlattr_tt[const[NFTA_INNER_EXPR,
// int16:14], 0, 1,
// nft_expr_policy_inner] {
// nla_len: offsetof = 0x24 (2
// bytes) nla_type: const = 0x5
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x0 (0 bytes) NLA_F_NESTED:
// const = 0x1 (1 bytes)
// payload: union
// nft_expr_policy_inner {
// meta:
// nft_expr_policy_t["meta",
// nft_meta_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME,
// int16], string["meta"]]
// {
// nla_len: offsetof =
// 0x9 (2 bytes)
// nla_type: const = 0x1
// (2 bytes) payload:
// buffer: {6d 65 74 61
// 00} (length 0x5) size:
// buffer: {} (length
// 0x0) pad = 0x0 (3
// bytes)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_meta_policy]]]
// {
// val:
// nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_meta_policy]]
// {
// nla_len: offsetof =
// 0x14 (2 bytes)
// nla_type: const =
// 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x0 (0
// bytes) NLA_F_NESTED:
// const = 0x1 (1
// bytes) payload:
// array[nft_meta_policy]
// {
// union
// nft_meta_policy {
// NFTA_META_KEY:
// nlattr_tt[const[NFTA_META_KEY,
// int16:14], 1, 0,
// int32be[NFT_META_LEN:NFT_META_BRI_BROUTE]]
// {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type:
// const = 0x2 (1
// bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x1 (0
// bytes)
// NLA_F_NESTED:
// const = 0x0 (1
// bytes)
// payload:
// int32be = 0x1
// (4 bytes)
// size: buffer:
// {} (length
// 0x0)
// }
// }
// union
// nft_meta_policy {
// NFTA_META_DREG:
// nlattr_tt[const[NFTA_META_DREG,
// int16:14], 1, 0,
// flags[nft_registers,
// int32be]] {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type:
// const = 0x1 (1
// bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x1 (0
// bytes)
// NLA_F_NESTED:
// const = 0x0 (1
// bytes)
// payload:
// nft_registers
// = 0x1 (4
// bytes) size:
// buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {}
// (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// nlattr_tt[const[NFTA_LIST_ELEM, int16:14],
// 0, 1, nft_expr_policy] {
// nla_len: offsetof = 0x30 (2 bytes)
// nla_type: const = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0 (0 bytes)
// NLA_F_NESTED: const = 0x1 (1 bytes)
// payload: union nft_expr_policy {
// immediate:
// nft_expr_policy_t["immediate",
// nft_immediate_policy] {
// NFTA_EXPR_NAME:
// nlattr_t[const[NFTA_EXPR_NAME, int16],
// string["immediate"]] {
// nla_len: offsetof = 0xe (2 bytes)
// nla_type: const = 0x1 (2 bytes)
// payload: buffer: {69 6d 6d 65 64 69
// 61 74 65 00} (length 0xa) size:
// buffer: {} (length 0x0) pad = 0x0 (2
// bytes)
// }
// NFTA_EXPR_DATA: union
// optional[nlnest[NFTA_EXPR_DATA,
// array[nft_immediate_policy]]] {
// val: nlattr_tt[const[NFTA_EXPR_DATA,
// int16:14], 0, 1,
// array[nft_immediate_policy]] {
// nla_len: offsetof = 0x1c (2 bytes)
// nla_type: const = 0x2 (1 bytes)
// NLA_F_NET_BYTEORDER: const = 0x0
// (0 bytes) NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_immediate_policy] {
// union nft_immediate_policy {
// NFTA_IMMEDIATE_DREG:
// nlattr_tt[const[NFTA_IMMEDIATE_DREG,
// int16:14], 1, 0,
// flags[nft_registers, int32be]]
// {
// nla_len: offsetof = 0x8 (2
// bytes) nla_type: const = 0x1
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x1 (0 bytes) NLA_F_NESTED:
// const = 0x0 (1 bytes)
// payload: nft_registers = 0x0
// (4 bytes) size: buffer: {}
// (length 0x0)
// }
// }
// union nft_immediate_policy {
// NFTA_IMMEDIATE_DATA:
// nlattr_tt[const[NFTA_IMMEDIATE_DATA,
// int16:14], 0, 1,
// array[nft_data_policy]] {
// nla_len: offsetof = 0x10 (2
// bytes) nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER: const =
// 0x0 (0 bytes) NLA_F_NESTED:
// const = 0x1 (1 bytes)
// payload:
// array[nft_data_policy] {
// union nft_data_policy {
// NFTA_DATA_VERDICT:
// nlattr_tt[const[NFTA_DATA_VERDICT,
// int16:14], 0, 1,
// array[nft_verdict_policy]]
// {
// nla_len: offsetof =
// 0xc (2 bytes)
// nla_type: const = 0x2
// (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x0 (0 bytes)
// NLA_F_NESTED: const =
// 0x1 (1 bytes) payload:
// array[nft_verdict_policy]
// {
// union
// nft_verdict_policy {
// NFTA_VERDICT_CODE:
// nlattr_tt[const[NFTA_VERDICT_CODE,
// int16:14], 0, 1,
// flags[nft_verdicts,
// int32be]] {
// nla_len:
// offsetof = 0x8
// (2 bytes)
// nla_type: const
// = 0x1 (1 bytes)
// NLA_F_NET_BYTEORDER:
// const = 0x0 (0
// bytes)
// NLA_F_NESTED:
// const = 0x1 (1
// bytes) payload:
// nft_verdicts =
// 0x1 (4 bytes)
// size: buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {}
// (length 0x0)
// }
// }
// }
// size: buffer: {} (length
// 0x0)
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// size: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// }
// end: nft_nlmsghdr[NFNL_MSG_BATCH_END] {
// nlmsg_len: len = 0x14 (4 bytes)
// nlmsg_type: const = 0x11 (2 bytes)
// nlmsg_flags: const = 0x1 (2 bytes)
// nlmsg_seq: const = 0x0 (4 bytes)
// nlmsg_pid: const = 0x0 (4 bytes)
// hdr: nfgenmsg_nft {
// nfgen_family: families = 0x0 (1 bytes)
// version: const = 0x0 (1 bytes)
// res_id: const = 0xa (2 bytes)
// }
// }
// }
// }
// len: len = 0x4cc (8 bytes)
// }
// }
// vlen: const = 0x1 (8 bytes)
// ctrl: const = 0x0 (8 bytes)
// ctrllen: const = 0x0 (8 bytes)
// f: send_flags = 0x4040 (4 bytes)
// pad = 0x0 (4 bytes)
// }
// }
// f: nft_batch_send_flags = 0x4000000 (8 bytes)
// ]
*(uint64_t*)0x200000001140 = 0;
*(uint32_t*)0x200000001148 = 0;
*(uint64_t*)0x200000001150 = 0x200000001100;
*(uint64_t*)0x200000001100 = 0x200000000000;
*(uint32_t*)0x200000000000 = 0x14;
*(uint16_t*)0x200000000004 = 0x10;
*(uint16_t*)0x200000000006 = 1;
*(uint32_t*)0x200000000008 = 0;
*(uint32_t*)0x20000000000c = 0;
*(uint8_t*)0x200000000010 = 0;
*(uint8_t*)0x200000000011 = 0;
*(uint16_t*)0x200000000012 = htobe16(0xa);
*(uint32_t*)0x200000000014 = 0x20;
*(uint8_t*)0x200000000018 = 0;
*(uint8_t*)0x200000000019 = 0xa;
*(uint16_t*)0x20000000001a = 0x401;
*(uint32_t*)0x20000000001c = 0;
*(uint32_t*)0x200000000020 = 0;
*(uint8_t*)0x200000000024 = 5;
*(uint8_t*)0x200000000025 = 0;
*(uint16_t*)0x200000000026 = htobe16(0);
*(uint16_t*)0x200000000028 = 9;
*(uint16_t*)0x20000000002a = 1;
memcpy((void*)0x20000000002c, "syza\000", 5);
*(uint32_t*)0x200000000034 = 0x60;
*(uint8_t*)0x200000000038 = 3;
*(uint8_t*)0x200000000039 = 0xa;
*(uint16_t*)0x20000000003a = 0x401;
*(uint32_t*)0x20000000003c = 0;
*(uint32_t*)0x200000000040 = 0;
*(uint8_t*)0x200000000044 = 5;
*(uint8_t*)0x200000000045 = 0;
*(uint16_t*)0x200000000046 = htobe16(0);
*(uint16_t*)0x200000000048 = 9;
*(uint16_t*)0x20000000004a = 1;
memcpy((void*)0x20000000004c, "syza\000", 5);
*(uint16_t*)0x200000000054 = 9;
*(uint16_t*)0x200000000056 = 3;
memcpy((void*)0x200000000058, "syzb\000", 5);
*(uint16_t*)0x200000000060 = 0xa;
*(uint16_t*)0x200000000062 = 7;
memcpy((void*)0x200000000064, "filter\000", 7);
*(uint16_t*)0x20000000006c = 0x28;
STORE_BY_BITMASK(uint16_t, , 0x20000000006e, 4, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000006f, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000006f, 1, 7, 1);
*(uint16_t*)0x200000000070 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000072, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000073, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000073, 0, 7, 1);
*(uint32_t*)0x200000000074 = htobe32(1);
*(uint16_t*)0x200000000078 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000007a, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000007b, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000007b, 0, 7, 1);
*(uint32_t*)0x20000000007c = htobe32(0x12c);
*(uint16_t*)0x200000000080 = 0x14;
*(uint16_t*)0x200000000082 = 3;
memcpy((void*)0x200000000084,
"lo\000\000\000\000\000\000\000\000\000\000\000\000\000\000", 16);
*(uint32_t*)0x200000000094 = 0x2c;
*(uint8_t*)0x200000000098 = 3;
*(uint8_t*)0x200000000099 = 0xa;
*(uint16_t*)0x20000000009a = 0x401;
*(uint32_t*)0x20000000009c = 0;
*(uint32_t*)0x2000000000a0 = 0;
*(uint8_t*)0x2000000000a4 = 5;
*(uint8_t*)0x2000000000a5 = 0;
*(uint16_t*)0x2000000000a6 = htobe16(0);
*(uint16_t*)0x2000000000a8 = 9;
*(uint16_t*)0x2000000000aa = 1;
memcpy((void*)0x2000000000ac, "syza\000", 5);
*(uint16_t*)0x2000000000b4 = 9;
*(uint16_t*)0x2000000000b6 = 3;
memcpy((void*)0x2000000000b8, "syze\000", 5);
*(uint32_t*)0x2000000000c0 = 0x48;
*(uint8_t*)0x2000000000c4 = 3;
*(uint8_t*)0x2000000000c5 = 0xa;
*(uint16_t*)0x2000000000c6 = 0x401;
*(uint32_t*)0x2000000000c8 = 0;
*(uint32_t*)0x2000000000cc = 0;
*(uint8_t*)0x2000000000d0 = 5;
*(uint8_t*)0x2000000000d1 = 0;
*(uint16_t*)0x2000000000d2 = htobe16(0);
*(uint16_t*)0x2000000000d4 = 9;
*(uint16_t*)0x2000000000d6 = 1;
memcpy((void*)0x2000000000d8, "syza\000", 5);
*(uint16_t*)0x2000000000e0 = 9;
*(uint16_t*)0x2000000000e2 = 3;
memcpy((void*)0x2000000000e4, "syzb\000", 5);
*(uint16_t*)0x2000000000ec = 0x1c;
STORE_BY_BITMASK(uint16_t, , 0x2000000000ee, 8, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000000ef, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000000ef, 1, 7, 1);
*(uint16_t*)0x2000000000f0 = 0xc;
STORE_BY_BITMASK(uint16_t, , 0x2000000000f2, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000000f3, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000000f3, 0, 7, 1);
*(uint64_t*)0x2000000000f4 = htobe64(-1);
*(uint16_t*)0x2000000000fc = 0xc;
STORE_BY_BITMASK(uint16_t, , 0x2000000000fe, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000000ff, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000000ff, 0, 7, 1);
*(uint64_t*)0x200000000100 = htobe64(0);
*(uint32_t*)0x200000000108 = 0xc8;
*(uint8_t*)0x20000000010c = 6;
*(uint8_t*)0x20000000010d = 0xa;
*(uint16_t*)0x20000000010e = 0x401;
*(uint32_t*)0x200000000110 = 0;
*(uint32_t*)0x200000000114 = 0;
*(uint8_t*)0x200000000118 = 5;
*(uint8_t*)0x200000000119 = 0;
*(uint16_t*)0x20000000011a = htobe16(0);
*(uint16_t*)0x20000000011c = 9;
*(uint16_t*)0x20000000011e = 1;
memcpy((void*)0x200000000120, "syza\000", 5);
*(uint16_t*)0x200000000128 = 9;
*(uint16_t*)0x20000000012a = 2;
memcpy((void*)0x20000000012c, "syze\000", 5);
*(uint16_t*)0x200000000134 = 0x9c;
STORE_BY_BITMASK(uint16_t, , 0x200000000136, 4, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000137, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000137, 1, 7, 1);
*(uint16_t*)0x200000000138 = 0x68;
STORE_BY_BITMASK(uint16_t, , 0x20000000013a, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000013b, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000013b, 1, 7, 1);
*(uint16_t*)0x20000000013c = 0xa;
*(uint16_t*)0x20000000013e = 1;
memcpy((void*)0x200000000140, "inner\000", 6);
*(uint16_t*)0x200000000148 = 0x58;
STORE_BY_BITMASK(uint16_t, , 0x20000000014a, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000014b, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000014b, 1, 7, 1);
*(uint16_t*)0x20000000014c = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000014e, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000014f, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000014f, 0, 7, 1);
*(uint32_t*)0x200000000150 = htobe32(0);
*(uint16_t*)0x200000000154 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000156, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000157, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000157, 0, 7, 1);
*(uint32_t*)0x200000000158 = htobe32(2);
*(uint16_t*)0x20000000015c = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000015e, 3, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000015f, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000015f, 0, 7, 1);
*(uint32_t*)0x200000000160 = htobe32(9);
*(uint16_t*)0x200000000164 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000166, 4, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000167, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000167, 0, 7, 1);
*(uint32_t*)0x200000000168 = htobe32(0x1f);
*(uint16_t*)0x20000000016c = 0x34;
STORE_BY_BITMASK(uint16_t, , 0x20000000016e, 5, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000016f, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000016f, 1, 7, 1);
*(uint16_t*)0x200000000170 = 0xc;
*(uint16_t*)0x200000000172 = 1;
memcpy((void*)0x200000000174, "payload\000", 8);
*(uint16_t*)0x20000000017c = 0x24;
STORE_BY_BITMASK(uint16_t, , 0x20000000017e, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000017f, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000017f, 1, 7, 1);
*(uint16_t*)0x200000000180 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000182, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000183, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000183, 0, 7, 1);
*(uint32_t*)0x200000000184 = htobe32(2);
*(uint16_t*)0x200000000188 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000018a, 3, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000018b, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000018b, 0, 7, 1);
*(uint32_t*)0x20000000018c = htobe32(4);
*(uint16_t*)0x200000000190 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000192, 4, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000193, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000193, 0, 7, 1);
*(uint32_t*)0x200000000194 = htobe32(1);
*(uint16_t*)0x200000000198 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000019a, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000019b, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000019b, 0, 7, 1);
*(uint32_t*)0x20000000019c = htobe32(1);
*(uint16_t*)0x2000000001a0 = 0x30;
STORE_BY_BITMASK(uint16_t, , 0x2000000001a2, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000001a3, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000001a3, 1, 7, 1);
*(uint16_t*)0x2000000001a4 = 0xe;
*(uint16_t*)0x2000000001a6 = 1;
memcpy((void*)0x2000000001a8, "immediate\000", 10);
*(uint16_t*)0x2000000001b4 = 0x1c;
STORE_BY_BITMASK(uint16_t, , 0x2000000001b6, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000001b7, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000001b7, 1, 7, 1);
*(uint16_t*)0x2000000001b8 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000001ba, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000001bb, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000001bb, 0, 7, 1);
*(uint32_t*)0x2000000001bc = htobe32(0);
*(uint16_t*)0x2000000001c0 = 0x10;
STORE_BY_BITMASK(uint16_t, , 0x2000000001c2, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000001c3, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000001c3, 1, 7, 1);
*(uint16_t*)0x2000000001c4 = 0xc;
STORE_BY_BITMASK(uint16_t, , 0x2000000001c6, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000001c7, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000001c7, 1, 7, 1);
*(uint16_t*)0x2000000001c8 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000001ca, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000001cb, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000001cb, 1, 7, 1);
*(uint32_t*)0x2000000001cc = htobe32(0xfffffffb);
*(uint32_t*)0x2000000001d0 = 0x30;
*(uint8_t*)0x2000000001d4 = 3;
*(uint8_t*)0x2000000001d5 = 0xa;
*(uint16_t*)0x2000000001d6 = 0x401;
*(uint32_t*)0x2000000001d8 = 0;
*(uint32_t*)0x2000000001dc = 0;
*(uint8_t*)0x2000000001e0 = 5;
*(uint8_t*)0x2000000001e1 = 0;
*(uint16_t*)0x2000000001e2 = htobe16(0);
*(uint16_t*)0x2000000001e4 = 9;
*(uint16_t*)0x2000000001e6 = 1;
memcpy((void*)0x2000000001e8, "syza\000", 5);
*(uint16_t*)0x2000000001f0 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000001f2, 0xb, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000001f3, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000001f3, 0, 7, 1);
*(uint32_t*)0x2000000001f4 = htobe32(1);
*(uint16_t*)0x2000000001f8 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000001fa, 0xa, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000001fb, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000001fb, 0, 7, 1);
*(uint32_t*)0x2000000001fc = htobe32(4);
*(uint32_t*)0x200000000200 = 0x68;
*(uint8_t*)0x200000000204 = 6;
*(uint8_t*)0x200000000205 = 0xa;
*(uint16_t*)0x200000000206 = 0x401;
*(uint32_t*)0x200000000208 = 0;
*(uint32_t*)0x20000000020c = 0;
*(uint8_t*)0x200000000210 = 5;
*(uint8_t*)0x200000000211 = 0;
*(uint16_t*)0x200000000212 = htobe16(0);
*(uint16_t*)0x200000000214 = 9;
*(uint16_t*)0x200000000216 = 1;
memcpy((void*)0x200000000218, "syza\000", 5);
*(uint16_t*)0x200000000220 = 9;
*(uint16_t*)0x200000000222 = 2;
memcpy((void*)0x200000000224, "syze\000", 5);
*(uint16_t*)0x20000000022c = 0x3c;
STORE_BY_BITMASK(uint16_t, , 0x20000000022e, 4, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000022f, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000022f, 1, 7, 1);
*(uint16_t*)0x200000000230 = 0x38;
STORE_BY_BITMASK(uint16_t, , 0x200000000232, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000233, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000233, 1, 7, 1);
*(uint16_t*)0x200000000234 = 0xe;
*(uint16_t*)0x200000000236 = 1;
memcpy((void*)0x200000000238, "immediate\000", 10);
*(uint16_t*)0x200000000244 = 0x24;
STORE_BY_BITMASK(uint16_t, , 0x200000000246, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000247, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000247, 1, 7, 1);
*(uint16_t*)0x200000000248 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000024a, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000024b, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000024b, 0, 7, 1);
*(uint32_t*)0x20000000024c = htobe32(0);
*(uint16_t*)0x200000000250 = 0x18;
STORE_BY_BITMASK(uint16_t, , 0x200000000252, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000253, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000253, 1, 7, 1);
*(uint16_t*)0x200000000254 = 0x14;
STORE_BY_BITMASK(uint16_t, , 0x200000000256, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000257, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000257, 1, 7, 1);
*(uint16_t*)0x200000000258 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000025a, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000025b, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000025b, 1, 7, 1);
*(uint32_t*)0x20000000025c = htobe32(0xfffffffd);
*(uint16_t*)0x200000000260 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000262, 3, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000263, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000263, 0, 7, 1);
*(uint32_t*)0x200000000264 = htobe32(1);
*(uint32_t*)0x200000000268 = 0x30;
*(uint8_t*)0x20000000026c = 3;
*(uint8_t*)0x20000000026d = 0xa;
*(uint16_t*)0x20000000026e = 0x401;
*(uint32_t*)0x200000000270 = 0;
*(uint32_t*)0x200000000274 = 0;
*(uint8_t*)0x200000000278 = 5;
*(uint8_t*)0x200000000279 = 0;
*(uint16_t*)0x20000000027a = htobe16(0);
*(uint16_t*)0x20000000027c = 9;
*(uint16_t*)0x20000000027e = 1;
memcpy((void*)0x200000000280, "syza\000", 5);
*(uint16_t*)0x200000000288 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000028a, 0xb, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000028b, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000028b, 0, 7, 1);
*(uint32_t*)0x20000000028c = htobe32(2);
*(uint16_t*)0x200000000290 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000292, 0xa, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000293, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000293, 0, 7, 1);
*(uint32_t*)0x200000000294 = htobe32(4);
*(uint32_t*)0x200000000298 = 0x68;
*(uint8_t*)0x20000000029c = 6;
*(uint8_t*)0x20000000029d = 0xa;
*(uint16_t*)0x20000000029e = 0x401;
*(uint32_t*)0x2000000002a0 = 0;
*(uint32_t*)0x2000000002a4 = 0;
*(uint8_t*)0x2000000002a8 = 5;
*(uint8_t*)0x2000000002a9 = 0;
*(uint16_t*)0x2000000002aa = htobe16(0);
*(uint16_t*)0x2000000002ac = 9;
*(uint16_t*)0x2000000002ae = 1;
memcpy((void*)0x2000000002b0, "syza\000", 5);
*(uint16_t*)0x2000000002b8 = 9;
*(uint16_t*)0x2000000002ba = 2;
memcpy((void*)0x2000000002bc, "syzb\000", 5);
*(uint16_t*)0x2000000002c4 = 0x3c;
STORE_BY_BITMASK(uint16_t, , 0x2000000002c6, 4, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000002c7, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000002c7, 1, 7, 1);
*(uint16_t*)0x2000000002c8 = 0x38;
STORE_BY_BITMASK(uint16_t, , 0x2000000002ca, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000002cb, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000002cb, 1, 7, 1);
*(uint16_t*)0x2000000002cc = 0xe;
*(uint16_t*)0x2000000002ce = 1;
memcpy((void*)0x2000000002d0, "immediate\000", 10);
*(uint16_t*)0x2000000002dc = 0x24;
STORE_BY_BITMASK(uint16_t, , 0x2000000002de, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000002df, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000002df, 1, 7, 1);
*(uint16_t*)0x2000000002e0 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000002e2, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000002e3, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000002e3, 0, 7, 1);
*(uint32_t*)0x2000000002e4 = htobe32(0);
*(uint16_t*)0x2000000002e8 = 0x18;
STORE_BY_BITMASK(uint16_t, , 0x2000000002ea, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000002eb, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000002eb, 1, 7, 1);
*(uint16_t*)0x2000000002ec = 0x14;
STORE_BY_BITMASK(uint16_t, , 0x2000000002ee, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000002ef, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000002ef, 1, 7, 1);
*(uint16_t*)0x2000000002f0 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000002f2, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000002f3, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000002f3, 1, 7, 1);
*(uint32_t*)0x2000000002f4 = htobe32(0xfffffffc);
*(uint16_t*)0x2000000002f8 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000002fa, 3, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000002fb, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000002fb, 0, 7, 1);
*(uint32_t*)0x2000000002fc = htobe32(2);
*(uint32_t*)0x200000000300 = 0x100;
*(uint8_t*)0x200000000304 = 6;
*(uint8_t*)0x200000000305 = 0xa;
*(uint16_t*)0x200000000306 = 0x401;
*(uint32_t*)0x200000000308 = 0;
*(uint32_t*)0x20000000030c = 0;
*(uint8_t*)0x200000000310 = 5;
*(uint8_t*)0x200000000311 = 0;
*(uint16_t*)0x200000000312 = htobe16(0);
*(uint16_t*)0x200000000314 = 9;
*(uint16_t*)0x200000000316 = 1;
memcpy((void*)0x200000000318, "syza\000", 5);
*(uint16_t*)0x200000000320 = 9;
*(uint16_t*)0x200000000322 = 2;
memcpy((void*)0x200000000324, "syzb\000", 5);
*(uint16_t*)0x20000000032c = 0xd4;
STORE_BY_BITMASK(uint16_t, , 0x20000000032e, 4, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000032f, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000032f, 1, 7, 1);
*(uint16_t*)0x200000000330 = 0x58;
STORE_BY_BITMASK(uint16_t, , 0x200000000332, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000333, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000333, 1, 7, 1);
*(uint16_t*)0x200000000334 = 8;
*(uint16_t*)0x200000000336 = 1;
memcpy((void*)0x200000000338, "fib\000", 4);
*(uint16_t*)0x20000000033c = 0x4c;
STORE_BY_BITMASK(uint16_t, , 0x20000000033e, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000033f, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000033f, 1, 7, 1);
*(uint16_t*)0x200000000340 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000342, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000343, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000343, 0, 7, 1);
*(uint32_t*)0x200000000344 = htobe32(0);
*(uint16_t*)0x200000000348 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000034a, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000034b, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000034b, 0, 7, 1);
*(uint32_t*)0x20000000034c = htobe32(0x14);
*(uint16_t*)0x200000000350 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000352, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000353, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000353, 0, 7, 1);
*(uint32_t*)0x200000000354 = htobe32(0x11);
*(uint16_t*)0x200000000358 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000035a, 3, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000035b, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000035b, 0, 7, 1);
*(uint32_t*)0x20000000035c = htobe32(8);
*(uint16_t*)0x200000000360 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000362, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000363, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000363, 0, 7, 1);
*(uint32_t*)0x200000000364 = htobe32(1);
*(uint16_t*)0x200000000368 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000036a, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000036b, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000036b, 0, 7, 1);
*(uint32_t*)0x20000000036c = htobe32(3);
*(uint16_t*)0x200000000370 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000372, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000373, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000373, 0, 7, 1);
*(uint32_t*)0x200000000374 = htobe32(2);
*(uint16_t*)0x200000000378 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000037a, 3, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000037b, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000037b, 0, 7, 1);
*(uint32_t*)0x20000000037c = htobe32(0x30);
*(uint16_t*)0x200000000380 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000382, 3, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000383, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000383, 0, 7, 1);
*(uint32_t*)0x200000000384 = htobe32(1);
*(uint16_t*)0x200000000388 = 0x2c;
STORE_BY_BITMASK(uint16_t, , 0x20000000038a, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000038b, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000038b, 1, 7, 1);
*(uint16_t*)0x20000000038c = 0xe;
*(uint16_t*)0x20000000038e = 1;
memcpy((void*)0x200000000390, "immediate\000", 10);
*(uint16_t*)0x20000000039c = 0x18;
STORE_BY_BITMASK(uint16_t, , 0x20000000039e, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000039f, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000039f, 1, 7, 1);
*(uint16_t*)0x2000000003a0 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000003a2, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000003a3, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000003a3, 0, 7, 1);
*(uint32_t*)0x2000000003a4 = htobe32(1);
*(uint16_t*)0x2000000003a8 = 0xc;
STORE_BY_BITMASK(uint16_t, , 0x2000000003aa, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000003ab, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000003ab, 1, 7, 1);
*(uint16_t*)0x2000000003ac = 6;
*(uint16_t*)0x2000000003ae = 1;
memcpy((void*)0x2000000003b0, "\x21\xbb", 2);
*(uint16_t*)0x2000000003b4 = 0x4c;
STORE_BY_BITMASK(uint16_t, , 0x2000000003b6, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000003b7, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000003b7, 1, 7, 1);
*(uint16_t*)0x2000000003b8 = 0xc;
*(uint16_t*)0x2000000003ba = 1;
memcpy((void*)0x2000000003bc, "bitwise\000", 8);
*(uint16_t*)0x2000000003c4 = 0x3c;
STORE_BY_BITMASK(uint16_t, , 0x2000000003c6, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000003c7, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000003c7, 1, 7, 1);
*(uint16_t*)0x2000000003c8 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000003ca, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000003cb, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000003cb, 0, 7, 1);
*(uint32_t*)0x2000000003cc = htobe32(1);
*(uint16_t*)0x2000000003d0 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000003d2, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000003d3, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000003d3, 0, 7, 1);
*(uint32_t*)0x2000000003d4 = htobe32(2);
*(uint16_t*)0x2000000003d8 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000003da, 3, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000003db, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000003db, 0, 7, 1);
*(uint32_t*)0x2000000003dc = htobe32(2);
*(uint16_t*)0x2000000003e0 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000003e2, 6, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000003e3, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000003e3, 0, 7, 1);
*(uint32_t*)0x2000000003e4 = htobe32(0);
*(uint16_t*)0x2000000003e8 = 0xc;
STORE_BY_BITMASK(uint16_t, , 0x2000000003ea, 4, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000003eb, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000003eb, 1, 7, 1);
*(uint16_t*)0x2000000003ec = 6;
*(uint16_t*)0x2000000003ee = 1;
memcpy((void*)0x2000000003f0, "\xae\x4a", 2);
*(uint16_t*)0x2000000003f4 = 0xc;
STORE_BY_BITMASK(uint16_t, , 0x2000000003f6, 5, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000003f7, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000003f7, 1, 7, 1);
*(uint16_t*)0x2000000003f8 = 6;
*(uint16_t*)0x2000000003fa = 1;
memcpy((void*)0x2000000003fc, "\x04\x40", 2);
*(uint32_t*)0x200000000400 = 0xb8;
*(uint8_t*)0x200000000404 = 6;
*(uint8_t*)0x200000000405 = 0xa;
*(uint16_t*)0x200000000406 = 0x401;
*(uint32_t*)0x200000000408 = 0;
*(uint32_t*)0x20000000040c = 0;
*(uint8_t*)0x200000000410 = 5;
*(uint8_t*)0x200000000411 = 0;
*(uint16_t*)0x200000000412 = htobe16(0);
*(uint16_t*)0x200000000414 = 9;
*(uint16_t*)0x200000000416 = 1;
memcpy((void*)0x200000000418, "syza\000", 5);
*(uint16_t*)0x200000000420 = 9;
*(uint16_t*)0x200000000422 = 2;
memcpy((void*)0x200000000424, "syzb\000", 5);
*(uint16_t*)0x20000000042c = 0x8c;
STORE_BY_BITMASK(uint16_t, , 0x20000000042e, 4, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000042f, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000042f, 1, 7, 1);
*(uint16_t*)0x200000000430 = 0x58;
STORE_BY_BITMASK(uint16_t, , 0x200000000432, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000433, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000433, 1, 7, 1);
*(uint16_t*)0x200000000434 = 0xa;
*(uint16_t*)0x200000000436 = 1;
memcpy((void*)0x200000000438, "inner\000", 6);
*(uint16_t*)0x200000000440 = 0x48;
STORE_BY_BITMASK(uint16_t, , 0x200000000442, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000443, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000443, 1, 7, 1);
*(uint16_t*)0x200000000444 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000446, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000447, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000447, 0, 7, 1);
*(uint32_t*)0x200000000448 = htobe32(0);
*(uint16_t*)0x20000000044c = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000044e, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000044f, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000044f, 0, 7, 1);
*(uint32_t*)0x200000000450 = htobe32(1);
*(uint16_t*)0x200000000454 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000456, 3, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000457, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000457, 0, 7, 1);
*(uint32_t*)0x200000000458 = htobe32(2);
*(uint16_t*)0x20000000045c = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000045e, 4, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000045f, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000045f, 0, 7, 1);
*(uint32_t*)0x200000000460 = htobe32(0);
*(uint16_t*)0x200000000464 = 0x24;
STORE_BY_BITMASK(uint16_t, , 0x200000000466, 5, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000467, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000467, 1, 7, 1);
*(uint16_t*)0x200000000468 = 9;
*(uint16_t*)0x20000000046a = 1;
memcpy((void*)0x20000000046c, "meta\000", 5);
*(uint16_t*)0x200000000474 = 0x14;
STORE_BY_BITMASK(uint16_t, , 0x200000000476, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000477, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000477, 1, 7, 1);
*(uint16_t*)0x200000000478 = 8;
STORE_BY_BITMASK(uint16_t, , 0x20000000047a, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000047b, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000047b, 0, 7, 1);
*(uint32_t*)0x20000000047c = htobe32(1);
*(uint16_t*)0x200000000480 = 8;
STORE_BY_BITMASK(uint16_t, , 0x200000000482, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x200000000483, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x200000000483, 0, 7, 1);
*(uint32_t*)0x200000000484 = htobe32(1);
*(uint16_t*)0x200000000488 = 0x30;
STORE_BY_BITMASK(uint16_t, , 0x20000000048a, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000048b, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000048b, 1, 7, 1);
*(uint16_t*)0x20000000048c = 0xe;
*(uint16_t*)0x20000000048e = 1;
memcpy((void*)0x200000000490, "immediate\000", 10);
*(uint16_t*)0x20000000049c = 0x1c;
STORE_BY_BITMASK(uint16_t, , 0x20000000049e, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x20000000049f, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x20000000049f, 1, 7, 1);
*(uint16_t*)0x2000000004a0 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000004a2, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000004a3, 1, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000004a3, 0, 7, 1);
*(uint32_t*)0x2000000004a4 = htobe32(0);
*(uint16_t*)0x2000000004a8 = 0x10;
STORE_BY_BITMASK(uint16_t, , 0x2000000004aa, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000004ab, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000004ab, 1, 7, 1);
*(uint16_t*)0x2000000004ac = 0xc;
STORE_BY_BITMASK(uint16_t, , 0x2000000004ae, 2, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000004af, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000004af, 1, 7, 1);
*(uint16_t*)0x2000000004b0 = 8;
STORE_BY_BITMASK(uint16_t, , 0x2000000004b2, 1, 0, 14);
STORE_BY_BITMASK(uint16_t, , 0x2000000004b3, 0, 6, 1);
STORE_BY_BITMASK(uint16_t, , 0x2000000004b3, 1, 7, 1);
*(uint32_t*)0x2000000004b4 = htobe32(1);
*(uint32_t*)0x2000000004b8 = 0x14;
*(uint16_t*)0x2000000004bc = 0x11;
*(uint16_t*)0x2000000004be = 1;
*(uint32_t*)0x2000000004c0 = 0;
*(uint32_t*)0x2000000004c4 = 0;
*(uint8_t*)0x2000000004c8 = 0;
*(uint8_t*)0x2000000004c9 = 0;
*(uint16_t*)0x2000000004ca = htobe16(0xa);
*(uint64_t*)0x200000001108 = 0x4cc;
*(uint64_t*)0x200000001158 = 1;
*(uint64_t*)0x200000001160 = 0;
*(uint64_t*)0x200000001168 = 0;
*(uint32_t*)0x200000001170 = 0x4040;
syscall(__NR_sendmsg, /*fd=*/r[0], /*msg=*/0x200000001140ul,
/*f=MSG_ZEROCOPY*/ 0x4000000ul);
break;
case 4:
// syz_emit_ethernet arguments: [
// len: len = 0x4a (8 bytes)
// packet: ptr[in, eth_packet] {
// eth_packet {
// dst_mac: union mac_addr {
// local: mac_addr_t[const[0xaa, int8]] {
// a0: buffer: {aa aa aa aa aa} (length 0x5)
// a1: const = 0xaa (1 bytes)
// }
// }
// src_mac: union mac_addr {
// local: mac_addr_t[const[0xaa, int8]] {
// a0: buffer: {aa aa aa aa aa} (length 0x5)
// a1: const = 0xaa (1 bytes)
// }
// }
// vtag: union optional[vlan_tag] {
// void: buffer: {} (length 0x0)
// }
// payload: eth_payload {
// eth2: union eth2_packet {
// ipv6: eth2_packet_t[ETH_P_IPV6, ipv6_packet] {
// etype: const = 0x86dd (2 bytes)
// payload: union ipv6_packet {
// tcp: ipv6_packet_t[const[IPPROTO_TCP, int8], tcp_packet] {
// priority: int8 = 0x5 (0 bytes)
// version: const = 0x6 (1 bytes)
// flow_label: buffer: {bd 1f 5a} (length 0x3)
// length: len = 0x14 (2 bytes)
// next_header: const = 0x6 (1 bytes)
// hop_limit: hop_limits = 0x1 (1 bytes)
// src_ip: union ipv6_addr {
// local: ipv6_addr_t[const[0xaa, int8]] {
// a0: const = 0xfe (1 bytes)
// a1: const = 0x80 (1 bytes)
// a2: buffer: {00 00 00 00 00 00 00 00 00 00 00 00 00}
// (length 0xd) a3: const = 0xaa (1 bytes)
// }
// }
// dst_ip: union ipv6_addr {
// local: ipv6_addr_t[const[0xaa, int8]] {
// a0: const = 0xfe (1 bytes)
// a1: const = 0x80 (1 bytes)
// a2: buffer: {00 00 00 00 00 00 00 00 00 00 00 00 00}
// (length 0xd) a3: const = 0xaa (1 bytes)
// }
// }
// payload: ipv6_packet_payload[tcp_packet] {
// ext_headers: array[ipv6_ext_header] {
// }
// payload: tcp_packet {
// header: tcp_header {
// src_port: int16be = 0x4e21 (2 bytes)
// dst_port: int16be = 0x4e22 (2 bytes)
// seq_num: tcp_seq_num (resource)
// ack_num: tcp_seq_num (resource)
// ns: int8 = 0x1 (0 bytes)
// reserved: const = 0x0 (0 bytes)
// data_off: bytesize4 = 0x5 (1 bytes)
// flags: tcp_flags = 0x40 (1 bytes)
// window_size: int16be = 0x0 (2 bytes)
// csum: csum = 0x0 (2 bytes)
// urg_ptr: int16be = 0x2 (2 bytes)
// options: tcp_options {
// options: array[tcp_option] {
// }
// }
// }
// payload: tcp_payload {
// payload: buffer: {} (length 0x0)
// }
// }
// }
// }
// }
// }
// }
// }
// }
// }
// frags: nil
// ]
memset((void*)0x200000003100, 170, 5);
*(uint8_t*)0x200000003105 = 0xaa;
memset((void*)0x200000003106, 170, 5);
*(uint8_t*)0x20000000310b = 0xaa;
*(uint16_t*)0x20000000310c = htobe16(0x86dd);
STORE_BY_BITMASK(uint8_t, , 0x20000000310e, 5, 0, 4);
STORE_BY_BITMASK(uint8_t, , 0x20000000310e, 6, 4, 4);
memcpy((void*)0x20000000310f, "\xbd\x1f\x5a", 3);
*(uint16_t*)0x200000003112 = htobe16(0x14);
*(uint8_t*)0x200000003114 = 6;
*(uint8_t*)0x200000003115 = 1;
*(uint8_t*)0x200000003116 = 0xfe;
*(uint8_t*)0x200000003117 = 0x80;
memset((void*)0x200000003118, 0, 13);
*(uint8_t*)0x200000003125 = 0xaa;
*(uint8_t*)0x200000003126 = 0xfe;
*(uint8_t*)0x200000003127 = 0x80;
memset((void*)0x200000003128, 0, 13);
*(uint8_t*)0x200000003135 = 0xaa;
*(uint16_t*)0x200000003136 = htobe16(0x4e21);
*(uint16_t*)0x200000003138 = htobe16(0x4e22);
*(uint32_t*)0x20000000313a = 0x41424344;
*(uint32_t*)0x20000000313e = 0x41424344;
STORE_BY_BITMASK(uint8_t, , 0x200000003142, 1, 0, 1);
STORE_BY_BITMASK(uint8_t, , 0x200000003142, 0, 1, 3);
STORE_BY_BITMASK(uint8_t, , 0x200000003142, 5, 4, 4);
*(uint8_t*)0x200000003143 = 0x40;
*(uint16_t*)0x200000003144 = htobe16(0);
*(uint16_t*)0x200000003146 = htobe16(0);
*(uint16_t*)0x200000003148 = htobe16(2);
struct csum_inet csum_5;
csum_inet_init(&csum_5);
csum_inet_update(&csum_5, (const uint8_t*)0x200000003116, 16);
csum_inet_update(&csum_5, (const uint8_t*)0x200000003126, 16);
uint32_t csum_5_chunk_2 = 0x14000000;
csum_inet_update(&csum_5, (const uint8_t*)&csum_5_chunk_2, 4);
uint32_t csum_5_chunk_3 = 0x6000000;
csum_inet_update(&csum_5, (const uint8_t*)&csum_5_chunk_3, 4);
csum_inet_update(&csum_5, (const uint8_t*)0x200000003136, 20);
*(uint16_t*)0x200000003146 = csum_inet_digest(&csum_5);
syz_emit_ethernet(/*len=*/0x4a, /*packet=*/0x200000003100, /*frags=*/0);
break;
}
}
int main(void)
{
syscall(__NR_mmap, /*addr=*/0x1ffffffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
/*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul,
/*fd=*/(intptr_t)-1, /*offset=*/0ul);
syscall(__NR_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul,
/*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
/*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul,
/*fd=*/(intptr_t)-1, /*offset=*/0ul);
syscall(__NR_mmap, /*addr=*/0x200001000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
/*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul,
/*fd=*/(intptr_t)-1, /*offset=*/0ul);
const char* reason;
(void)reason;
for (procid = 0; procid < 4; procid++) {
if (fork() == 0) {
use_temporary_dir();
do_sandbox_namespace();
}
}
sleep(1000000);
return 0;
}
[-- Attachment #4: dmesg.txt --]
[-- Type: text/plain, Size: 68027 bytes --]
^[cSeaBIOS (version rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org)
iPXE (http://ipxe.org) 00:03.0 CA00 PCI2.10 PnP PMM+7EFD1C10+7EF31C10 CA00
Press Ctrl-B to configure iPXE (PCI 00:03.0)...
Booting from ROM...
^[c[ 0.000000] Linux version 7.1.0-gf0e6f20cb52b (gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #1 SMP PREEMPT_DYNAMIC Wed Jun 24 21:45:00 MSK 2026
[ 0.000000] Command line: root=/dev/sda console=ttyS0 net.ifnames=0
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] System RAM
[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] device reserved
[ 0.000000] BIOS-e820: [gap 0x00000000000a0000-0x00000000000effff]
[ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] device reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007ffdffff] System RAM
[ 0.000000] BIOS-e820: [mem 0x000000007ffe0000-0x000000007fffffff] device reserved
[ 0.000000] BIOS-e820: [gap 0x0000000080000000-0x00000000feffbfff]
[ 0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] device reserved
[ 0.000000] BIOS-e820: [gap 0x00000000ff000000-0x00000000fffbffff]
[ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] device reserved
[ 0.000000] BIOS-e820: [gap 0x0000000100000000-0x000000fcffffffff]
[ 0.000000] BIOS-e820: [mem 0x000000fd00000000-0x000000ffffffffff] device reserved
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] APIC: Static calls initialized
[ 0.000000] DMI: SMBIOS 2.8 present.
[ 0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/2014
[ 0.000000] DMI: Memory slots populated: 1/1
[ 0.000000] Hypervisor detected: KVM
[ 0.000000] last_pfn = 0x7ffe0 max_arch_pfn = 0x400000000
[ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[ 0.000001] kvm-clock: using sched offset of 673225673 cycles
[ 0.000006] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[ 0.000014] tsc: Detected 3193.984 MHz processor
[ 0.005248] last_pfn = 0x7ffe0 max_arch_pfn = 0x400000000
[ 0.005287] MTRR map: 4 entries (3 fixed + 1 variable; max 19), built from 8 variable MTRRs
[ 0.005294] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT
[ 0.008028] found SMP MP-table at [mem 0x000f54b0-0x000f54bf]
[ 0.008056] Using GB pages for direct mapping
[ 0.009453] ACPI: Early table checksum verification disabled
[ 0.009460] ACPI: RSDP 0x00000000000F52D0 000014 (v00 BOCHS )
[ 0.009477] ACPI: RSDT 0x000000007FFE2389 000034 (v01 BOCHS BXPC 00000001 BXPC 00000001)
[ 0.009493] ACPI: FACP 0x000000007FFE2235 000074 (v01 BOCHS BXPC 00000001 BXPC 00000001)
[ 0.009511] ACPI: DSDT 0x000000007FFE0040 0021F5 (v01 BOCHS BXPC 00000001 BXPC 00000001)
[ 0.009523] ACPI: FACS 0x000000007FFE0000 000040
[ 0.009532] ACPI: APIC 0x000000007FFE22A9 000080 (v03 BOCHS BXPC 00000001 BXPC 00000001)
[ 0.009543] ACPI: HPET 0x000000007FFE2329 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)
[ 0.009555] ACPI: WAET 0x000000007FFE2361 000028 (v01 BOCHS BXPC 00000001 BXPC 00000001)
[ 0.009565] ACPI: Reserving FACP table memory at [mem 0x7ffe2235-0x7ffe22a8]
[ 0.009570] ACPI: Reserving DSDT table memory at [mem 0x7ffe0040-0x7ffe2234]
[ 0.009575] ACPI: Reserving FACS table memory at [mem 0x7ffe0000-0x7ffe003f]
[ 0.009579] ACPI: Reserving APIC table memory at [mem 0x7ffe22a9-0x7ffe2328]
[ 0.009583] ACPI: Reserving HPET table memory at [mem 0x7ffe2329-0x7ffe2360]
[ 0.009588] ACPI: Reserving WAET table memory at [mem 0x7ffe2361-0x7ffe2388]
[ 0.010339] No NUMA configuration found
[ 0.010343] Faking a node at [mem 0x0000000000000000-0x000000007ffdffff]
[ 0.010353] NODE_DATA(0) allocated [mem 0x7ffdc680-0x7ffdffff]
[ 0.268430] KernelAddressSanitizer initialized (generic)
[ 0.268815] ACPI: PM-Timer IO Port: 0x608
[ 0.268850] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[ 0.268900] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
[ 0.268913] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.268922] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[ 0.268927] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[ 0.268934] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[ 0.268940] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[ 0.268954] ACPI: Using ACPI (MADT) for SMP configuration information
[ 0.268958] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[ 0.268971] TSC deadline timer available
[ 0.268980] CPU topo: Max. logical packages: 1
[ 0.268984] CPU topo: Max. logical nodes: 1
[ 0.268986] CPU topo: Num. nodes per package: 1
[ 0.268993] CPU topo: Max. logical dies: 1
[ 0.268996] CPU topo: Max. dies per package: 1
[ 0.269006] CPU topo: Max. threads per core: 1
[ 0.269009] CPU topo: Num. cores per package: 2
[ 0.269012] CPU topo: Num. threads per package: 2
[ 0.269014] CPU topo: Allowing 2 present CPUs plus 0 hotplug CPUs
[ 0.269062] kvm-guest: APIC: eoi() replaced with kvm_guest_apic_eoi_write()
[ 0.269101] kvm-guest: KVM setup pv remote TLB flush
[ 0.269106] kvm-guest: setup PV sched yield
[ 0.269151] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]
[ 0.269158] PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x000fffff]
[ 0.269167] [gap 0x80000000-0xfeffbfff] available for PCI devices
[ 0.269173] Booting paravirtualized kernel on KVM
[ 0.269182] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns
[ 0.283994] Zone ranges:
[ 0.284002] DMA [mem 0x0000000000001000-0x0000000000ffffff]
[ 0.284010] DMA32 [mem 0x0000000001000000-0x000000007ffdffff]
[ 0.284016] Normal empty
[ 0.284019] Movable zone start for each node
[ 0.284022] Early memory node ranges
[ 0.284023] node 0: [mem 0x0000000000001000-0x000000000009efff]
[ 0.284029] node 0: [mem 0x0000000000100000-0x000000007ffdffff]
[ 0.284035] Initmem setup node 0 [mem 0x0000000000001000-0x000000007ffdffff]
[ 0.284068] On node 0, zone DMA: 1 pages in unavailable ranges
[ 0.284438] On node 0, zone DMA: 97 pages in unavailable ranges
[ 0.337404] On node 0, zone DMA32: 32 pages in unavailable ranges
[ 0.337428] setup_percpu: NR_CPUS:64 nr_cpumask_bits:2 nr_cpu_ids:2 nr_node_ids:1
[ 0.339309] percpu: Embedded 65 pages/cpu s225624 r8192 d32424 u1048576
[ 0.339497] Kernel command line: net.ifnames=0 root=/dev/sda console=ttyS0 net.ifnames=0
[ 0.339694] random: crng init done
[ 0.339698] printk: log buffer data + meta data: 262144 + 917504 = 1179648 bytes
[ 0.341610] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.342582] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.342981] Fallback order for Node 0: 0
[ 0.342995] Built 1 zonelists, mobility grouping on. Total pages: 524158
[ 0.343002] Policy zone: DMA32
[ 0.343010] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.343016] stackdepot: allocating hash table via alloc_large_system_hash
[ 0.343028] stackdepot hash table entries: 1048576 (order: 12, 16777216 bytes, linear)
[ 0.359568] stackdepot: allocating space for 8192 stack pools via memblock
[ 0.404243] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.404641] Dynamic Preempt: full
[ 0.404900] rcu: Preemptible hierarchical RCU implementation.
[ 0.404903] rcu: RCU event tracing is enabled.
[ 0.404905] rcu: RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=2.
[ 0.404911] Trampoline variant of Tasks RCU enabled.
[ 0.404913] Tracing variant of Tasks RCU enabled.
[ 0.404916] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
[ 0.404920] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[ 0.404963] RCU Tasks: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=2.
[ 0.447737] NR_IRQS: 4352, nr_irqs: 440, preallocated irqs: 16
[ 0.448115] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.448132] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[ 0.452893] Console: colour VGA+ 80x25
[ 0.453070] printk: legacy console [ttyS0] enabled
[ 0.549803] ACPI: Core revision 20260408
[ 0.550712] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns
[ 0.551988] APIC: Switch to symmetric I/O mode setup
[ 0.552825] x2apic enabled
[ 0.553683] APIC: Switched APIC routing to: physical x2apic
[ 0.554572] kvm-guest: APIC: send_IPI_mask() replaced with kvm_send_ipi_mask()
[ 0.555692] kvm-guest: APIC: send_IPI_mask_allbutself() replaced with kvm_send_ipi_mask_allbutself()
[ 0.556900] kvm-guest: setup PV IPIs
[ 0.558898] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[ 0.559841] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x2e0a16d682b, max_idle_ns: 440795210620 ns
[ 0.561308] Calibrating delay loop (skipped) preset value.. 6387.96 BogoMIPS (lpj=3193984)
[ 0.562422] x86/cpu: User Mode Instruction Prevention (UMIP) activated
[ 0.563417] Last level iTLB entries: 4KB 512, 2MB 255, 4MB 127
[ 0.564301] Last level dTLB entries: 4KB 512, 2MB 255, 4MB 127, 1GB 0
[ 0.565308] mitigations: Enabled attack vectors: user_kernel, user_user, SMT mitigations: auto
[ 0.566304] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl
[ 0.567302] Speculative Return Stack Overflow: IBPB-extending microcode not applied!
[ 0.568300] Speculative Return Stack Overflow: WARNING: See https://kernel.org/doc/html/latest/admin-guide/hw-vuln/srso.html for mitigation options.
[ 0.568305] Transient Scheduler Attacks: Vulnerable: No microcode
[ 0.570303] Spectre V2 : Mitigation: Retpolines
[ 0.571307] Speculative Return Stack Overflow: Vulnerable: Safe RET, no microcode
[ 0.572301] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[ 0.573303] Spectre V2 : Spectre v2 / SpectreRSB: Filling RSB on context switch and VMEXIT
[ 0.574301] Spectre V2 : Enabling Restricted Speculation for firmware calls
[ 0.575313] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier
[ 0.576307] active return thunk: srso_alias_return_thunk
[ 0.577337] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[ 0.578301] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[ 0.579300] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[ 0.580300] x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'
[ 0.581306] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
[ 0.582302] x86/fpu: xstate_offset[9]: 832, xstate_sizes[9]: 8
[ 0.583300] x86/fpu: Enabled xstate features 0x207, context size is 840 bytes, using 'compacted' format.
[ 0.683643] pid_max: default: 32768 minimum: 301
[ 0.684767] SELinux: Initializing.
[ 0.686876] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.687315] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.689682] VFS: Finished mounting rootfs on nullfs
[ 0.692066] smpboot: CPU0: AMD Ryzen 7 5800HS with Radeon Graphics (family: 0x19, model: 0x50, stepping: 0x0)
[ 0.693131] Performance Events: Fam17h+ core perfctr, AMD PMU driver.
[ 0.693309] ... version: 0
[ 0.693897] ... bit width: 48
[ 0.694307] ... generic counters: 6
[ 0.694877] ... generic bitmap: 000000000000003f
[ 0.695307] ... fixed-purpose counters: 0
[ 0.695885] ... fixed-purpose bitmap: 0000000000000000
[ 0.696304] ... value mask: 0000ffffffffffff
[ 0.697049] ... max period: 00007fffffffffff
[ 0.697304] ... global_ctrl mask: 000000000000003f
[ 0.698657] signal: max sigframe size: 3376
[ 0.699390] rcu: Hierarchical SRCU implementation.
[ 0.700215] rcu: Max phase no-delay instances is 400.
[ 0.700574] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[ 0.729644] smp: Bringing up secondary CPUs ...
[ 0.730744] smpboot: x86: Booting SMP configuration:
[ 0.731317] .... node #0, CPUs: #1
[ 0.731442] smp: Brought up 1 node, 2 CPUs
[ 0.732840] smpboot: Total of 2 processors activated (12775.93 BogoMIPS)
[ 0.733792] Memory: 1655840K/2096632K available (60933K kernel code, 9815K rwdata, 13360K rodata, 10624K init, 840K bss, 435640K reserved, 0K cma-reserved)
[ 0.734703] devtmpfs: initialized
[ 0.744347] posixtimers hash table entries: 1024 (order: 2, 16384 bytes, linear)
[ 0.745334] futex hash table entries: 512 (32768 bytes on 1 NUMA nodes, total 32 KiB, linear).
[ 0.747223] PM: RTC time: 18:46:30, date: 2026-06-24
[ 0.748292] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.750708] audit: initializing netlink subsys (disabled)
[ 0.752390] audit: type=2000 audit(1782326790.342:1): state=initialized audit_enabled=0 res=1
[ 0.753655] thermal_sys: Registered thermal governor 'step_wise'
[ 0.753784] cpuidle: using governor menu
[ 0.755703] Freeing SMP alternatives memory: 56K
[ 0.757253] PCI: Using configuration type 1 for base access
[ 0.757306] PCI: Using configuration type 1 for extended access
[ 0.758835] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[ 0.761415] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.762308] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.765869] ACPI: Added _OSI(Module Device)
[ 0.766321] ACPI: Added _OSI(Processor Device)
[ 0.766966] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.814081] ACPI: 1 ACPI AML tables successfully acquired and loaded
[ 0.820515] ACPI: \_SB_: platform _OSC: OS support mask [002a7eee]
[ 0.826167] ACPI: Interpreter enabled
[ 0.826791] ACPI: PM: (supports S0 S3 S4 S5)
[ 0.827311] ACPI: Using IOAPIC for interrupt routing
[ 0.828305] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[ 0.829305] PCI: Using E820 reservations for host bridge windows
[ 0.832768] ACPI: Enabled 2 GPEs in block 00 to 0F
[ 0.913002] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[ 0.913390] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
[ 0.914528] acpi PNP0A03:00: _OSC: OS requested [PME PCIeCapability LTR]
[ 0.915321] acpi PNP0A03:00: _OSC: platform willing to grant [PME PCIeCapability LTR]
[ 0.916311] acpi PNP0A03:00: _OSC: platform retains control of PCIe features (AE_ERROR)
[ 0.919490] PCI host bridge to bus 0000:00
[ 0.920234] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
[ 0.920325] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
[ 0.921317] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[ 0.922320] pci_bus 0000:00: root bus resource [mem 0x80000000-0xfebfffff window]
[ 0.923326] pci_bus 0000:00: root bus resource [mem 0x100000000-0x17fffffff window]
[ 0.924345] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.925539] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000 conventional PCI endpoint
[ 0.929019] pci 0000:00:01.0: [8086:7000] type 00 class 0x060100 conventional PCI endpoint
[ 0.931709] pci 0000:00:01.1: [8086:7010] type 00 class 0x010180 conventional PCI endpoint
[ 0.933389] pci 0000:00:01.1: BAR 4 [io 0xc080-0xc08f]
[ 0.934245] pci 0000:00:01.1: BAR 0 [io 0x01f0-0x01f7]: legacy IDE quirk
[ 0.934312] pci 0000:00:01.1: BAR 1 [io 0x03f6]: legacy IDE quirk
[ 0.935315] pci 0000:00:01.1: BAR 2 [io 0x0170-0x0177]: legacy IDE quirk
[ 0.936281] pci 0000:00:01.1: BAR 3 [io 0x0376]: legacy IDE quirk
[ 0.940050] pci 0000:00:01.3: [8086:7113] type 00 class 0x068000 conventional PCI endpoint
[ 0.940713] pci 0000:00:01.3: quirk: [io 0x0600-0x063f] claimed by PIIX4 ACPI
[ 0.941321] pci 0000:00:01.3: quirk: [io 0x0700-0x070f] claimed by PIIX4 SMB
[ 0.944738] pci 0000:00:02.0: [1234:1111] type 00 class 0x030000 conventional PCI endpoint
[ 0.947245] pci 0000:00:02.0: BAR 0 [mem 0xfd000000-0xfdffffff pref]
[ 0.948284] pci 0000:00:02.0: BAR 2 [mem 0xfebf0000-0xfebf0fff]
[ 0.949297] pci 0000:00:02.0: ROM [mem 0xfebe0000-0xfebeffff pref]
[ 0.950982] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[ 0.954095] pci 0000:00:03.0: [8086:100e] type 00 class 0x020000 conventional PCI endpoint
[ 0.955317] pci 0000:00:03.0: BAR 0 [mem 0xfebc0000-0xfebdffff]
[ 0.956149] pci 0000:00:03.0: BAR 1 [io 0xc000-0xc03f]
[ 0.956350] pci 0000:00:03.0: ROM [mem 0xfeb80000-0xfebbffff pref]
[ 0.986934] pci 0000:00:04.0: [1af4:1009] type 00 class 0x000200 conventional PCI endpoint
[ 0.989011] pci 0000:00:04.0: BAR 0 [io 0xc040-0xc07f]
[ 0.989317] pci 0000:00:04.0: BAR 1 [mem 0xfebf1000-0xfebf1fff]
[ 0.990154] pci 0000:00:04.0: BAR 4 [mem 0xfe000000-0xfe003fff 64bit pref]
[ 1.028794] ACPI: PCI: Interrupt link LNKA configured for IRQ 10
[ 1.031862] ACPI: PCI: Interrupt link LNKB configured for IRQ 10
[ 1.034815] ACPI: PCI: Interrupt link LNKC configured for IRQ 11
[ 1.038123] ACPI: PCI: Interrupt link LNKD configured for IRQ 11
[ 1.039341] ACPI: PCI: Interrupt link LNKS configured for IRQ 9
[ 1.049932] iommu: Default domain type: Translated
[ 1.050309] iommu: DMA domain TLB invalidation policy: lazy mode
[ 1.052923] SCSI subsystem initialized
[ 1.054692] ACPI: bus type USB registered
[ 1.055755] usbcore: registered new interface driver usbfs
[ 1.056516] usbcore: registered new interface driver hub
[ 1.057417] usbcore: registered new device driver usb
[ 1.058556] pps_core: LinuxPPS API ver. 1 registered
[ 1.059290] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 1.060374] PTP clock support registered
[ 1.062955] Advanced Linux Sound Architecture Driver Initialized.
[ 1.066724] NetLabel: Initializing
[ 1.067308] NetLabel: domain hash size = 128
[ 1.067937] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO
[ 1.068655] NetLabel: unlabeled traffic allowed by default
[ 1.070252] PCI: Using ACPI for IRQ routing
[ 1.070481] e820: register RAM buffer resource [mem 0x0009fc00-0x0009ffff]
[ 1.071335] e820: register RAM buffer resource [mem 0x7ffe0000-0x7fffffff]
[ 1.072687] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[ 1.073297] pci 0000:00:02.0: vgaarb: bridge control possible
[ 1.073297] pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[ 1.073311] vgaarb: loaded
[ 1.074783] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[ 1.075304] hpet0: 3 comparators, 64-bit 100.000000 MHz counter
[ 1.079626] clocksource: Switched to clocksource kvm-clock
[ 1.081994] VFS: Disk quotas dquot_6.6.0
[ 1.082681] VFS: Dquot-cache hash table entries: 512 (4096 bytes)
[ 1.087146] pnp: PnP ACPI init
[ 1.094159] pnp: PnP ACPI: found 5 devices
[ 1.118667] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[ 1.120462] NET: Registered PF_INET protocol family
[ 1.121509] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 1.125142] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[ 1.126560] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 1.127856] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 1.129772] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[ 1.131684] TCP: Hash tables configured (established 16384 bind 16384)
[ 1.133209] UDP hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 1.134994] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 1.137188] RPC: Registered named UNIX socket transport module.
[ 1.138075] RPC: Registered udp transport module.
[ 1.138761] RPC: Registered tcp transport module.
[ 1.139432] RPC: Registered tcp-with-tls transport module.
[ 1.140182] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.145328] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window]
[ 1.146235] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window]
[ 1.147098] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[ 1.148056] pci_bus 0000:00: resource 7 [mem 0x80000000-0xfebfffff window]
[ 1.149022] pci_bus 0000:00: resource 8 [mem 0x100000000-0x17fffffff window]
[ 1.150718] pci 0000:00:01.0: PIIX3: Enabling Passive Release
[ 1.151538] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[ 1.152654] PCI: CLS 0 bytes, default 64
[ 1.153726] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2e0a16d682b, max_idle_ns: 440795210620 ns
[ 1.165723] Initialise system trusted keyrings
[ 1.166738] workingset: timestamp_bits=40 (anon: 35) max_order=19 bucket_order=0 (anon: 0)
[ 1.171126] NFS: Registering the id_resolver key type
[ 1.171884] Key type id_resolver registered
[ 1.172479] Key type id_legacy registered
[ 1.173057] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 1.174090] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 1.175942] 9p: Installing v9fs 9p2000 file system support
[ 1.208579] Key type asymmetric registered
[ 1.209217] Asymmetric key parser 'x509' registered
[ 1.210540] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[ 1.211749] io scheduler mq-deadline registered
[ 1.212383] io scheduler kyber registered
[ 1.215714] input: Power Button as /devices/platform/LNXPWRBN:00/input/input0
[ 1.217224] ACPI: button: Power Button [PWRF]
[ 1.259827] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[ 1.263037] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 1.265675] 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 1.277076] Non-volatile memory driver v1.3
[ 1.278836] ACPI: bus type drm_connector registered
[ 1.297152] loop: module loaded
[ 1.304497] scsi host0: ata_piix
[ 1.308863] scsi host1: ata_piix
[ 1.309882] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc080 irq 14 lpm-pol 0
[ 1.310948] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc088 irq 15 lpm-pol 0
[ 1.318427] tun: Universal TUN/TAP device driver, 1.6
[ 1.319803] e100: Intel(R) PRO/100 Network Driver
[ 1.320466] e100: Copyright(c) 1999-2006 Intel Corporation
[ 1.321386] e1000: Intel(R) PRO/1000 Network Driver
[ 1.322054] e1000: Copyright (c) 1999-2006 Intel Corporation.
[ 1.362563] ACPI: \_SB_.LNKC: Enabled at IRQ 10
[ 1.466402] ata1: found unknown device (class 0)
[ 1.468808] ata2: found unknown device (class 0)
[ 1.470353] ata2.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100
[ 1.471385] ata1.00: Model 'QEMU HARDDISK', rev '2.5+', applying quirks: bridgeok
[ 1.473903] ata1.00: ATA-7: QEMU HARDDISK, 2.5+, max UDMA/100
[ 1.474724] ata1.00: 4194304 sectors, multi 16: LBA48
[ 1.479999] scsi 0:0:0:0: Direct-Access ATA QEMU HARDDISK 2.5+ PQ: 0 ANSI: 5
[ 1.486747] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 1.487649] sd 0:0:0:0: [sda] 4194304 512-byte logical blocks: (2.15 GB/2.00 GiB)
[ 1.490761] sd 0:0:0:0: [sda] Write Protect is off
[ 1.493535] scsi 1:0:0:0: CD-ROM QEMU QEMU DVD-ROM 2.5+ PQ: 0 ANSI: 5
[ 1.494832] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.498071] sd 0:0:0:0: [sda] Preferred minimum I/O size 512 bytes
[ 1.512975] sd 0:0:0:0: [sda] Attached SCSI disk
[ 1.516825] sr 1:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray
[ 1.528968] cdrom: Uniform CD-ROM driver Revision: 3.20
[ 1.543403] sr 1:0:0:0: Attached scsi generic sg1 type 5
[ 1.667232] e1000 0000:00:03.0 eth0: (PCI:33MHz:32-bit) 52:54:00:12:34:56
[ 1.668242] e1000 0000:00:03.0 eth0: Intel(R) PRO/1000 Network Connection
[ 1.669414] e1000e: Intel(R) PRO/1000 Network Driver
[ 1.670080] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 1.671117] sky2: driver version 1.30
[ 1.673771] usbcore: registered new interface driver usblp
[ 1.674691] usbcore: registered new interface driver usb-storage
[ 1.675910] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
[ 1.678058] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 1.679109] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 1.682038] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input1
[ 1.683314] rtc_cmos PNP0B00:00: RTC can wake from S4
[ 1.686557] rtc_cmos PNP0B00:00: registered as rtc0
[ 1.687530] rtc_cmos PNP0B00:00: alarms up to one day, y3k, 242 bytes nvram, hpet irqs
[ 1.693085] device-mapper: ioctl: 4.50.0-ioctl (2025-04-28) initialised: dm-devel@lists.linux.dev
[ 1.694431] amd_pstate: The CPPC feature is supported but currently disabled by the BIOS.
[ 1.694431] Please enable it if your BIOS has the CPPC option.
[ 1.696351] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled
[ 1.697913] hid: raw HID events driver (C) Jiri Kosina
[ 1.701590] usbcore: registered new interface driver usbhid
[ 1.702380] usbhid: USB HID core driver
[ 1.707654] Initializing XFRM netlink socket
[ 1.708557] NET: Registered PF_INET6 protocol family
[ 1.711926] Segment Routing with IPv6
[ 1.712598] In-situ OAM (IOAM) with IPv6
[ 1.713362] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.715858] NET: Registered PF_PACKET protocol family
[ 1.716818] 8021q: 802.1Q VLAN Support v1.8
[ 1.717584] 9pnet: Installing 9P2000 support
[ 1.719953] Key type dns_resolver registered
[ 1.722209] IPI shorthand broadcast: enabled
[ 1.784140] sched_clock: Marking stable (1677003577, 106165972)->(1840780998, -57611449)
[ 1.786367] registered taskstats version 1
[ 1.786925] Loading compiled-in X.509 certificates
[ 1.836502] Demotion targets for Node 0: null
[ 1.837760] PM: Magic number: 14:948:797
[ 1.838545] netconsole: network logging started
[ 1.839758] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.841532] kworker/u8:2 (60) used greatest stack depth: 29312 bytes left
[ 1.843333] cryptomgr_probe (62) used greatest stack depth: 29136 bytes left
[ 1.845590] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.848249] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[ 1.849547] faux_driver regulatory: Direct firmware load for regulatory.db failed with error -2
[ 1.850803] cfg80211: failed to load regulatory.db
[ 2.107745] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input3
[ 6.602002] ALSA device list:
[ 6.602521] No soundcards found.
[ 6.603607] md: Waiting for all devices to be available before autodetect
[ 6.604412] md: If you don't use raid, use raid=noautodetect
[ 6.605054] md: Autodetecting RAID arrays.
[ 6.605559] md: autorun ...
[ 6.605899] md: ... autorun DONE.
[ 6.612873] EXT4-fs (sda): INFO: recovery required on readonly filesystem
[ 6.613860] EXT4-fs (sda): write access will be enabled during recovery
[ 6.654971] EXT4-fs (sda): recovery complete
[ 6.656773] EXT4-fs (sda): mounted filesystem 1ad6e232-a749-44cb-8d6a-dabbf94e2ee4 ro with ordered data mode. Quota mode: none.
[ 6.658085] VFS: Mounted root (ext4 filesystem) readonly on device 8:0.
[ 6.659664] devtmpfs: mounted
[ 6.660149] VFS: Pivoted into new rootfs
[ 6.670153] Freeing unused kernel image (initmem) memory: 10624K
[ 6.671118] Write protecting the kernel read-only data: 75776k
[ 6.674026] Freeing unused kernel image (text/rodata gap) memory: 504K
[ 6.676062] Freeing unused kernel image (rodata/data gap) memory: 976K
[ 6.915262] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[ 6.915973] Run /sbin/init as init process
[ 7.518504] SELinux: Permission firmware_load in class system not defined in policy.
[ 7.519330] SELinux: Permission kexec_image_load in class system not defined in policy.
[ 7.520126] SELinux: Permission kexec_initramfs_load in class system not defined in policy.
[ 7.520973] SELinux: Permission policy_load in class system not defined in policy.
[ 7.521770] SELinux: Permission x509_certificate_load in class system not defined in policy.
[ 7.522729] SELinux: Permission watch_mountns in class file not defined in policy.
[ 7.523552] SELinux: Permission watch_mountns in class dir not defined in policy.
[ 7.524338] SELinux: Permission watch_mountns in class lnk_file not defined in policy.
[ 7.525126] SELinux: Permission watch_mountns in class chr_file not defined in policy.
[ 7.526052] SELinux: Permission watch_mountns in class blk_file not defined in policy.
[ 7.526988] SELinux: Permission watch_mountns in class sock_file not defined in policy.
[ 7.527929] SELinux: Permission watch_mountns in class fifo_file not defined in policy.
[ 7.529348] SELinux: Permission map_create_as in class bpf not defined in policy.
[ 7.530218] SELinux: Permission prog_load_as in class bpf not defined in policy.
[ 7.531020] SELinux: Permission watch_mountns in class anon_inode not defined in policy.
[ 7.531914] SELinux: Permission allowed in class io_uring not defined in policy.
[ 7.532680] SELinux: Class memfd_file not defined in policy.
[ 7.533307] SELinux: the above unknown classes and permissions will be allowed
[ 7.577111] SELinux: policy capability network_peer_controls=1
[ 7.577781] SELinux: policy capability open_perms=1
[ 7.578298] SELinux: policy capability extended_socket_class=1
[ 7.578907] SELinux: policy capability always_check_network=0
[ 7.579505] SELinux: policy capability cgroup_seclabel=1
[ 7.580060] SELinux: policy capability nnp_nosuid_transition=1
[ 7.580679] SELinux: policy capability genfs_seclabel_symlinks=0
[ 7.581310] SELinux: policy capability ioctl_skip_cloexec=0
[ 7.581876] SELinux: policy capability userspace_initial_context=0
[ 7.582520] SELinux: policy capability netlink_xperm=0
[ 7.583055] SELinux: policy capability netif_wildcard=0
[ 7.583608] SELinux: policy capability genfs_seclabel_wildcard=0
[ 7.584229] SELinux: policy capability functionfs_seclabel=0
[ 7.584814] SELinux: policy capability memfd_class=0
[ 7.585336] SELinux: policy capability bpf_token_perms=0
[ 7.611391] audit: type=1403 audit(1782326797.200:2): auid=4294967295 ses=4294967295 lsm=selinux res=1
[ 7.616798] systemd[1]: Successfully loaded SELinux policy in 591.933ms.
[ 7.754149] systemd[1]: Relabeled /dev/, /dev/shm/, /run/ in 47.677ms.
^[[!p^[]104\a[ 7.771080] systemd[1]: systemd 257.9-1~deb13u1 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF -XKBCOMMON -UTMP +SYSVINIT +LIBARCHIVE)
[ 7.774883] systemd[1]: Detected virtualization kvm.
[ 7.775759] systemd[1]: Detected architecture x86-64.
Welcome to Debian GNU/Linux 13 (trixie)!
[ 7.780252] systemd[1]: Hostname set to <syzkaller>.
[ 7.810049] systemd[1]: bpf-restrict-fs: BPF LSM hook not enabled in the kernel, BPF LSM not supported.
[ 7.887394] selinuxenabled (75) used greatest stack depth: 26624 bytes left
[ 7.924749] systemd-debug-g (70) used greatest stack depth: 25888 bytes left
[ 7.954615] grep (78) used greatest stack depth: 25712 bytes left
[ 7.961975] systemd-fstab-g (71) used greatest stack depth: 25616 bytes left
[ 8.056978] systemd-ssh-gen (79) used greatest stack depth: 25488 bytes left
[ 8.260128] systemd[1]: Queued start job for default target graphical.target.
[ 8.306889] systemd[1]: Created slice system-getty.slice - Slice /system/getty.
[ OK ] Created slice system-getty.slice - Slice /system/getty.
[ 8.322978] systemd[1]: Created slice system-modprobe.slice - Slice /system/modprobe.
[ OK ] Created slice system-modprobe.slice - Slice /system/modprobe.
[ 8.338479] systemd[1]: Created slice system-serial\x2dgetty.slice - Slice /system/serial-getty.
[ OK ] Created slice system-serial\x2dget…slice - Slice /system/serial-getty.
[ 8.353710] systemd[1]: Created slice user.slice - User and Session Slice.
[ OK ] Created slice user.slice - User and Session Slice.
[ 8.356242] systemd[1]: Started systemd-ask-password-console.path - Dispatch Password Requests to Console Directory Watch.
[ OK ] Started systemd-ask-password-conso…equests to Console Directory Watch.
[ 8.359342] systemd[1]: Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch.
[ OK ] Started systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[ 8.363902] systemd[1]: Set up automount proc-sys-fs-binfmt_misc.automount - Arbitrary Executable File Formats File System Automount Point.
[ OK ] Set up automount proc-sys-fs-binfm…ormats File System Automount Point.
[ 8.366601] systemd[1]: Expecting device dev-ttyS0.device - /dev/ttyS0...
Expecting device dev-ttyS0.device - /dev/ttyS0...
[ 8.368387] systemd[1]: Reached target paths.target - Path Units.
[ OK ] Reached target paths.target - Path Units.
[ 8.370046] systemd[1]: Reached target remote-fs.target - Remote File Systems.
[ OK ] Reached target remote-fs.target - Remote File Systems.
[ 8.371949] systemd[1]: Reached target slices.target - Slice Units.
[ OK ] Reached target slices.target - Slice Units.
[ 8.373674] systemd[1]: Reached target swap.target - Swaps.
[ OK ] Reached target swap.target - Swaps.
[ 8.378637] systemd[1]: Listening on systemd-creds.socket - Credential Encryption/Decryption.
[ OK ] Listening on systemd-creds.socket - Credential Encryption/Decryption.
[ 8.381811] systemd[1]: Listening on systemd-initctl.socket - initctl Compatibility Named Pipe.
[ OK ] Listening on systemd-initctl.socke…- initctl Compatibility Named Pipe.
[ 8.387292] systemd[1]: Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log).
[ OK ] Listening on systemd-journald-dev-…socket - Journal Socket (/dev/log).
[ 8.391700] systemd[1]: Listening on systemd-journald.socket - Journal Sockets.
[ OK ] Listening on systemd-journald.socket - Journal Sockets.
[ 8.393968] systemd[1]: systemd-pcrextend.socket - TPM PCR Measurements was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[ 8.395517] systemd[1]: systemd-pcrlock.socket - Make TPM PCR Policy was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[ 8.401047] systemd[1]: Listening on systemd-udevd-control.socket - udev Control Socket.
[ OK ] Listening on systemd-udevd-control.socket - udev Control Socket.
[ 8.404556] systemd[1]: Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
[ OK ] Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
[ 8.424456] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
Mounting dev-hugepages.mount - Huge Pages File System...
[ 8.443210] systemd[1]: Mounting dev-mqueue.mount - POSIX Message Queue File System...
Mounting dev-mqueue.mount - POSIX Message Queue File System...
[ 8.463768] systemd[1]: Mounting proc-sys-fs-binfmt_misc.mount - /proc/sys/fs/binfmt_misc...
Mounting proc-sys-fs-binfmt_misc.mount - /proc/sys/fs/binfmt_misc...
[ 8.498459] systemd[1]: Mounting run-lock.mount - Legacy Locks Directory /run/lock...
Mounting run-lock.mount - Legacy Locks Directory /run/lock...
[ 8.541243] systemd[1]: Mounting sys-kernel-config.mount - /sys/kernel/config...
Mounting sys-kernel-config.mount - /sys/kernel/config...
[ 8.566370] systemd[1]: Mounting sys-kernel-debug.mount - /sys/kernel/debug...
Mounting sys-kernel-debug.mount - /sys/kernel/debug...
[ 8.587331] systemd[1]: Mounting sys-kernel-tracing.mount - Kernel Trace File System...
Mounting sys-kernel-tracing.mount - Kernel Trace File System...
[ 8.617415] systemd[1]: Mounting tmp.mount - Temporary Directory /tmp...
Mounting tmp.mount - Temporary Directory /tmp...
[ 8.620392] systemd[1]: kmod-static-nodes.service - Create List of Static Device Nodes was skipped because of an unmet condition check (ConditionFileNotEmpty=/lib/modules/7.1.0-gf0e6f20cb52b/modules.devname).
[ 8.649776] systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm...
Starting modprobe@drm.service - Load Kernel Module drm...
[ 8.669710] systemd[1]: Starting modprobe@efi_pstore.service - Load Kernel Module efi_pstore...
Starting modprobe@efi_pstore.servi… - Load Kernel Module efi_pstore...
[ 8.702137] systemd[1]: Starting modprobe@fuse.service - Load Kernel Module fuse...
Starting modprobe@fuse.service - Load Kernel Module fuse...
[ 8.706385] systemd[1]: systemd-hibernate-clear.service - Clear Stale Hibernate Storage Info was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67).
[ 8.711609] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[ 8.714196] systemd[1]: systemd-journald.service: (This warning is only shown for the first unit using IP firewalling.)
[ 8.740407] systemd[1]: Starting systemd-journald.service - Journal Service...
Starting systemd-journald.service - Journal Service...
[ 8.773683] systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules...
Starting systemd-modules-load.service - Load Kernel Modules...
[ 8.778323] systemd[1]: systemd-pcrmachine.service - TPM PCR Machine ID Measurement was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[ 8.820377] systemd[1]: Starting systemd-remount-fs.service - Remount Root and Kernel File Systems...
Starting systemd-remount-fs.servic…unt Root and Kernel File Systems...
[ 8.863032] systemd[1]: Starting systemd-tmpfiles-setup-dev-early.service - Create Static Device Nodes in /dev gracefully...
Starting systemd-tmpfiles-setup-de… Device Nodes in /dev gracefully...
[ 8.871801] systemd[1]: systemd-tpm2-setup-early.service - Early TPM SRK Setup was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[ 8.910703] systemd[1]: Starting systemd-udev-load-credentials.service - Load udev Rules from Credentials...
Starting systemd-udev-load-credent…Load udev Rules from Credentials...
[ 8.950009] systemd-journald[96]: Collecting audit messages is disabled.
[ 8.955912] EXT4-fs (sda): re-mounted 1ad6e232-a749-44cb-8d6a-dabbf94e2ee4 r/w.
[ 8.976049] systemd[1]: Starting systemd-udev-trigger.service - Coldplug All udev Devices...
Starting systemd-udev-trigger.service - Coldplug All udev Devices...
[ 9.024298] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[ OK ] Mounted dev-hugepages.mount - Huge Pages File System.
[ 9.034493] systemd[1]: Mounted dev-mqueue.mount - POSIX Message Queue File System.
[ OK ] Mounted dev-mqueue.mount - POSIX Message Queue File System.
[ 9.052258] systemd[1]: Mounted proc-sys-fs-binfmt_misc.mount - /proc/sys/fs/binfmt_misc.
[ OK ] Mounted proc-sys-fs-binfmt_misc.mount - /proc/sys/fs/binfmt_misc.
[ 9.065081] systemd[1]: Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[ OK ] Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[ 9.076504] systemd[1]: Mounted sys-kernel-config.mount - /sys/kernel/config.
[ OK ] Mounted sys-kernel-config.mount - /sys/kernel/config.
[ 9.084975] systemd[1]: Mounted sys-kernel-debug.mount - /sys/kernel/debug.
[ OK ] Mounted sys-kernel-debug.mount - /sys/kernel/debug.
[ 9.097520] systemd[1]: Mounted sys-kernel-tracing.mount - Kernel Trace File System.
[ OK ] Mounted sys-kernel-tracing.mount - Kernel Trace File System.
[ 9.106908] systemd[1]: Mounted tmp.mount - Temporary Directory /tmp.
[ OK ] Mounted tmp.mount - Temporary Directory /tmp.
[ 9.117927] systemd[1]: modprobe@drm.service: Deactivated successfully.
[ 9.124090] systemd[1]: Finished modprobe@drm.service - Load Kernel Module drm.
[ OK ] Finished modprobe@drm.service - Load Kernel Module drm.
[ 9.133725] systemd[1]: modprobe@efi_pstore.service: Deactivated successfully.
[ 9.140156] systemd[1]: Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
[ OK ] Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
[ 9.148791] systemd[1]: modprobe@fuse.service: Deactivated successfully.
[ 9.152131] systemd[1]: Finished modprobe@fuse.service - Load Kernel Module fuse.
[ OK ] Finished modprobe@fuse.service - Load Kernel Module fuse.
[ 9.166533] systemd[1]: Finished systemd-modules-load.service - Load Kernel Modules.
[ OK ] Finished systemd-modules-load.service - Load Kernel Modules.
[ 9.178390] systemd[1]: Finished systemd-remount-fs.service - Remount Root and Kernel File Systems.
[ OK ] Finished systemd-remount-fs.servic…mount Root and Kernel File Systems.
[ 9.191527] systemd[1]: Finished systemd-udev-load-credentials.service - Load udev Rules from Credentials.
[ OK ] Finished systemd-udev-load-credent…- Load udev Rules from Credentials.
[ 9.208782] systemd[1]: Finished systemd-tmpfiles-setup-dev-early.service - Create Static Device Nodes in /dev gracefully.
[ OK ] Finished systemd-tmpfiles-setup-de…ic Device Nodes in /dev gracefully.
[ 9.216800] systemd[1]: sys-fs-fuse-connections.mount - FUSE Control File System was skipped because of an unmet condition check (ConditionPathExists=/sys/fs/fuse/connections).
[ 9.220438] systemd[1]: systemd-hwdb-update.service - Rebuild Hardware Database was skipped because of an unmet condition check (ConditionNeedsUpdate=/etc).
[ 9.223534] systemd[1]: systemd-pstore.service - Platform Persistent Storage Archival was skipped because of an unmet condition check (ConditionDirectoryNotEmpty=/sys/fs/pstore).
[ 9.262081] systemd[1]: Starting systemd-random-seed.service - Load/Save OS Random Seed...
Starting systemd-random-seed.service - Load/Save OS Random Seed...
[ 9.298381] systemd[1]: Starting systemd-sysctl.service - Apply Kernel Variables...
Starting systemd-sysctl.service - Apply Kernel Variables...
[ 9.303690] systemd[1]: systemd-sysusers.service - Create System Users was skipped because no trigger condition checks were met.
[ 9.345123] systemd[1]: Starting systemd-tmpfiles-setup-dev.service - Create Static Device Nodes in /dev...
Starting systemd-tmpfiles-setup-de…eate Static Device Nodes in /dev...
[ 9.351759] systemd[1]: systemd-tpm2-setup.service - TPM SRK Setup was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[ 9.358415] systemd[1]: Started systemd-journald.service - Journal Service.
[ OK ] Started systemd-journald.service - Journal Service.
[ OK ] Finished systemd-random-seed.service - Load/Save OS Random Seed.
[ OK ] Finished systemd-sysctl.service - Apply Kernel Variables.
Starting systemd-journal-flush.ser…sh Journal to Persistent Storage...
[ 9.628988] systemd-tmpfile (111) used greatest stack depth: 25224 bytes left
[ OK ] Finished systemd-tmpfiles-setup-de…Create Static Device Nodes in /dev.
[ OK ] Reached target local-fs-pre.target…Preparation for Local File Systems.
[ OK ] Reached target local-fs.target - Local File Systems.
[ OK ] Listening on systemd-sysext.socket… System Extension Image Management.
Starting systemd-udevd.service - R…ager for Device Events and Files...
[ 9.710111] systemd-journald[96]: Received client request to flush runtime journal.
[ 9.743800] systemd-journald[96]: File /var/log/journal/b5db384d8695460380fbd9e772939801/system.journal corrupted or uncleanly shut down, renaming and replacing.
[ OK ] Finished systemd-journal-flush.ser…lush Journal to Persistent Storage.
Starting systemd-tmpfiles-setup.se…ate System Files and Directories...
[ OK ] Started systemd-udevd.service - Ru…anager for Device Events and Files.
[ OK ] Finished systemd-tmpfiles-setup.se…reate System Files and Directories.
[ OK ] Found device dev-ttyS0.device - /dev/ttyS0.
[ OK ] Finished systemd-udev-trigger.service - Coldplug All udev Devices.
[ OK ] Reached target sysinit.target - System Initialization.
[ OK ] Started apt-daily.timer - Daily apt download activities.
[ OK ] Started apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[ OK ] Started dpkg-db-backup.timer - Daily dpkg database backup timer.
[ 10.712642] systemd-sysctl (170) used greatest stack depth: 25136 bytes left
[ OK ] Started e2scrub_all.timer - Period…Metadata Check for All Filesystems.
[ OK ] Started fstrim.timer - Discard unused filesystem blocks once a week.
[ OK ] Started logrotate.timer - Daily rotation of log files.
[ OK ] Started systemd-tmpfiles-clean.tim…y Cleanup of Temporary Directories.
[ OK ] Reached target timers.target - Timer Units.
[ OK ] Listening on sshd-unix-local.socke…temd-ssh-generator, AF_UNIX Local).
[ OK ] Listening on systemd-hostnamed.socket - Hostname Service Socket.
[ OK ] Reached target sockets.target - Socket Units.
Starting ifupdown-pre.service - He…synchronize boot up for ifupdown...
[ OK ] Reached target basic.target - Basic System.
[ OK ] Started cron.service - Regular background program processing daemon.
Starting e2scrub_reap.service - Re…ne ext4 Metadata Check Snapshots...
Starting getty-static.service - ge…bus and logind are not available...
Starting dpkg-db-backup.service - …ily dpkg database backup service...
[ 11.287269] audit: type=1107 audit(1782326800.871:3): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:kernel_t:s0 msg='avc: denied { start } for auid=n/a uid=0 gid=0 path="/usr/lib/systemd/system/getty@.service" cmdline="" function="bus_unit_method_start_generic" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=service permissive=1 exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'
[ 11.314512] audit: type=1107 audit(1782326800.893:4): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:kernel_t:s0 msg='avc: denied { status } for auid=n/a uid=0 gid=0 path="/usr/lib/systemd/system/getty@.service" cmdline="" function="reply_unit_path" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=service permissive=1 exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'
[ OK ] Finished ifupdown-pre.service - He…o synchronize boot up for ifupdown.
[ OK ] Listening on systemd-rfkill.socket…ll Switch Status /dev/rfkill Watch.
Starting networking.service - Raise network interfaces...
[ OK ] Finished getty-static.service - ge… dbus and logind are not available.
[ OK ] Finished e2scrub_reap.service - Re…line ext4 Metadata Check Snapshots.
[ 11.792266] 8021q: adding VLAN 0 to HW filter on device eth0
[ 11.792896] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[ OK ] Finished dpkg-db-backup.service - Daily dpkg database backup service.
[* ] Job networking.service/start running (5s / 5min 3s)
^[M[** ] Job networking.service/start running (6s / 5min 3s)
^[M[*** ] Job networking.service/start running (7s / 5min 3s)
^[M[ *** ] Job networking.service/start running (7s / 5min 3s)
^[M[ *** ] Job networking.service/start running (8s / 5min 3s)
^[M[ ***] Job networking.service/start running (8s / 5min 3s)
^[M[ **] Job networking.service/start running (9s / 5min 3s)
^[M[ *] Job networking.service/start running (10s / 5min 3s)
^[M Starting e2scrub_all.service - Onl…tadata Check for All Filesystems...
[ OK ] Finished e2scrub_all.service - Onl…Metadata Check for All Filesystems.
[ OK ] Finished networking.service - Raise network interfaces.
[ OK ] Reached target network.target - Network.
Starting ssh.service - OpenBSD Secure Shell server...
Starting systemd-user-sessions.service - Permit User Sessions...
[ OK ] Finished systemd-user-sessions.service - Permit User Sessions.
[ OK ] Started getty@tty1.service - Getty on tty1.
[ OK ] Started getty@tty2.service - Getty on tty2.
[ OK ] Started getty@tty3.service - Getty on tty3.
[ OK ] Started getty@tty4.service - Getty on tty4.
[ OK ] Started getty@tty5.service - Getty on tty5.
[ OK ] Started getty@tty6.service - Getty on tty6.
[ OK ] Started serial-getty@ttyS0.service - Serial Getty on ttyS0.
[ OK ] Reached target getty.target - Login Prompts.
[ OK ] Started ssh.service - OpenBSD Secure Shell server.
[ OK ] Reached target multi-user.target - Multi-User System.
[ OK ] Reached target graphical.target - Graphical Interface.
^[[!p^[]104\a^[[!p^[]104\a
Debian GNU/Linux 13 syzkaller ttyS0
syzkaller login: root
root
Linux syzkaller 7.1.0-gf0e6f20cb52b #1 SMP PREEMPT_DYNAMIC Wed Jun 24 21:45:00 MSK 2026 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
A valid context for root could not be obtained.
root@syzkaller:~# mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt && echo MNT_OK
mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt && echo MNT_OK/mnt/repro_bugA & echo REPRO_RUNNING
MNT_OK
root@syzkaller:~# /mnt/repro_bugA & echo REPRO_RUNNING
[1] 374
REPRO_RUNNING
root@syzkaller:~# [ 21.292790] audit: type=1400 audit(1782326810.881:5): avc: denied { execmem } for pid=374 comm="repro_bugA" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=process permissive=1
[ 21.545957] bridge0: port 1(bridge_slave_0) entered blocking state
[ 21.546919] bridge0: port 1(bridge_slave_0) entered disabled state
[ 21.547940] bridge_slave_0: entered allmulticast mode
[ 21.549297] bridge_slave_0: entered promiscuous mode
[ 21.554046] bridge0: port 2(bridge_slave_1) entered blocking state
[ 21.554794] bridge0: port 2(bridge_slave_1) entered disabled state
[ 21.555471] bridge_slave_1: entered allmulticast mode
[ 21.556370] bridge_slave_1: entered promiscuous mode
[ 21.572361] bridge0: port 1(bridge_slave_0) entered blocking state
[ 21.573061] bridge0: port 1(bridge_slave_0) entered disabled state
[ 21.573874] bridge_slave_0: entered allmulticast mode
[ 21.574784] bridge_slave_0: entered promiscuous mode
[ 21.578532] bridge0: port 1(bridge_slave_0) entered blocking state
[ 21.579424] bridge0: port 1(bridge_slave_0) entered disabled state
[ 21.580227] bridge_slave_0: entered allmulticast mode
[ 21.581161] bridge_slave_0: entered promiscuous mode
[ 21.585049] bridge0: port 2(bridge_slave_1) entered blocking state
[ 21.585790] bridge0: port 2(bridge_slave_1) entered disabled state
[ 21.586539] bridge_slave_1: entered allmulticast mode
[ 21.587479] bridge_slave_1: entered promiscuous mode
[ 21.591030] bridge0: port 2(bridge_slave_1) entered blocking state
[ 21.591850] bridge0: port 2(bridge_slave_1) entered disabled state
[ 21.592606] bridge_slave_1: entered allmulticast mode
[ 21.593533] bridge_slave_1: entered promiscuous mode
[ 21.594370] bridge0: port 1(bridge_slave_0) entered blocking state
[ 21.595048] bridge0: port 1(bridge_slave_0) entered disabled state
[ 21.595759] bridge_slave_0: entered allmulticast mode
[ 21.596657] bridge_slave_0: entered promiscuous mode
[ 21.613295] bridge0: port 2(bridge_slave_1) entered blocking state
[ 21.613936] bridge0: port 2(bridge_slave_1) entered disabled state
[ 21.614605] bridge_slave_1: entered allmulticast mode
[ 21.616197] bridge_slave_1: entered promiscuous mode
[ 21.933913] bridge0: port 2(bridge_slave_1) entered blocking state
[ 21.934888] bridge0: port 2(bridge_slave_1) entered forwarding state
[ 21.935911] bridge0: port 1(bridge_slave_0) entered blocking state
[ 21.936777] bridge0: port 1(bridge_slave_0) entered forwarding state
[ 21.941843] bridge0: port 2(bridge_slave_1) entered blocking state
[ 21.942634] bridge0: port 2(bridge_slave_1) entered forwarding state
[ 21.943529] bridge0: port 1(bridge_slave_0) entered blocking state
[ 21.944410] bridge0: port 1(bridge_slave_0) entered forwarding state
[ 21.969865] bridge0: port 2(bridge_slave_1) entered blocking state
[ 21.970632] bridge0: port 2(bridge_slave_1) entered forwarding state
[ 21.971531] bridge0: port 1(bridge_slave_0) entered blocking state
[ 21.972376] bridge0: port 1(bridge_slave_0) entered forwarding state
[ 21.981138] bridge0: port 2(bridge_slave_1) entered blocking state
[ 21.981823] bridge0: port 2(bridge_slave_1) entered forwarding state
[ 21.982548] bridge0: port 1(bridge_slave_0) entered blocking state
[ 21.983198] bridge0: port 1(bridge_slave_0) entered forwarding state
[ 21.988743] bridge0: port 1(bridge_slave_0) entered disabled state
[ 21.989732] bridge0: port 2(bridge_slave_1) entered disabled state
[ 21.990521] bridge0: port 1(bridge_slave_0) entered disabled state
[ 21.991522] bridge0: port 1(bridge_slave_0) entered disabled state
[ 21.992302] bridge0: port 2(bridge_slave_1) entered disabled state
[ 21.993259] bridge0: port 2(bridge_slave_1) entered disabled state
[ 21.994134] bridge0: port 1(bridge_slave_0) entered disabled state
[ 21.995053] bridge0: port 2(bridge_slave_1) entered disabled state
[ 22.003498] bridge0: port 1(bridge_slave_0) entered blocking state
[ 22.004335] bridge0: port 1(bridge_slave_0) entered forwarding state
[ 22.009290] bridge0: port 2(bridge_slave_1) entered blocking state
[ 22.010044] bridge0: port 2(bridge_slave_1) entered forwarding state
[ 22.018272] bridge0: port 1(bridge_slave_0) entered blocking state
[ 22.019029] bridge0: port 1(bridge_slave_0) entered forwarding state
[ 22.020211] bridge0: port 2(bridge_slave_1) entered blocking state
[ 22.021027] bridge0: port 2(bridge_slave_1) entered forwarding state
[ 22.047915] bridge0: port 1(bridge_slave_0) entered blocking state
[ 22.048589] bridge0: port 1(bridge_slave_0) entered forwarding state
[ 22.051571] bridge0: port 2(bridge_slave_1) entered blocking state
[ 22.052232] bridge0: port 2(bridge_slave_1) entered forwarding state
[ 22.058072] bridge0: port 1(bridge_slave_0) entered blocking state
[ 22.058890] bridge0: port 1(bridge_slave_0) entered forwarding state
[ 22.064430] bridge0: port 2(bridge_slave_1) entered blocking state
[ 22.065141] bridge0: port 2(bridge_slave_1) entered forwarding state
[ 22.108107] veth0_vlan: entered promiscuous mode
[ 22.122278] veth0_vlan: entered promiscuous mode
[ 22.150859] veth0_vlan: entered promiscuous mode
[ 22.155618] veth0_vlan: entered promiscuous mode
executing program
[ 22.238473] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000016: 0000 [#1] SMP KASAN NOPTI
[ 22.239839] KASAN: null-ptr-deref in range [0x00000000000000b0-0x00000000000000b7]
[ 22.240790] CPU: 0 UID: 0 PID: 482 Comm: repro_bugA Not tainted 7.1.0-gf0e6f20cb52b #1 PREEMPT(full)
[ 22.241797] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/2014
[ 22.242933] RIP: 0010:nft_fib6_eval+0x433/0x1060
[ 22.243577] Code: d3 20 27 fd 0f b6 44 24 30 3c 05 74 4c e8 15 2c 27 fd 49 8d bf b0 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e ad 08 00 00 41 8b 87 b0 00 00
[ 22.245385] RSP: 0018:ffff8880099ae470 EFLAGS: 00010212
[ 22.245920] RAX: dffffc0000000000 RBX: ffff8880099ae930 RCX: ffffffff8dc9cebb
[ 22.246626] RDX: 0000000000000016 RSI: 0000000000000005 RDI: 00000000000000b0
[ 22.247335] RBP: ffff88800e0c5780 R08: ffff8880099ae8d0 R09: 000000000000003c
[ 22.248036] R10: 0000000000000000 R11: 000000000003b819 R12: ffff88800e79f458
[ 22.248748] R13: ffff8880099aeb68 R14: ffff88800e79f460 R15: 0000000000000000
[ 22.249455] FS: 00007fb3a83926c0(0000) GS:ffff8880dc124000(0000) knlGS:0000000000000000
[ 22.250252] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 22.250855] CR2: 0000200000003100 CR3: 0000000003a3f000 CR4: 0000000000750ef0
[ 22.251578] PKRU: 55555554
[ 22.251866] Call Trace:
[ 22.252124] <TASK>
[ 22.252373] ? __pfx_nft_fib6_eval+0x10/0x10
[ 22.252829] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.253360] ? nft_inner_eval+0x40a/0xa90
[ 22.253809] nft_fib_netdev_eval+0x146/0x280
[ 22.254285] ? __pfx_nft_fib_netdev_eval+0x10/0x10
[ 22.254887] nft_do_chain+0x28b/0x1740
[ 22.255411] ? __pfx_nft_do_chain+0x10/0x10
[ 22.255968] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.256592] ? __sanitizer_cov_trace_switch+0x54/0x90
[ 22.257198] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.257709] ? ipv6_find_hdr+0x45f/0xc60
[ 22.258127] ? __pfx_ipv6_find_hdr+0x10/0x10
[ 22.258585] ? unwind_next_frame+0x362/0x2560
[ 22.259051] ? arch_stack_walk+0x62/0xf0
[ 22.259489] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.259991] ? __is_insn_slot_addr+0xbd/0x100
[ 22.260470] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.260968] ? kernel_text_address+0x5b/0xc0
[ 22.261442] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.261944] ? __kernel_text_address+0xd/0x40
[ 22.262410] nft_do_chain_netdev+0x76a/0xf40
[ 22.262918] ? __pfx_nft_do_chain_netdev+0x10/0x10
[ 22.263468] ? _raw_spin_lock_irqsave+0x85/0xe0
[ 22.264037] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.264623] ? stack_trace_save+0x8e/0xc0
[ 22.265063] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.265579] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.266085] ? kasan_save_stack+0x34/0x50
[ 22.266540] ? kasan_save_stack+0x24/0x50
[ 22.267094] ? kasan_save_track+0x14/0x30
[ 22.267617] ? __kasan_kmalloc+0x7f/0x90
[ 22.268101] ? __kmalloc_noprof+0x1d5/0x510
[ 22.268634] ? ___neigh_create+0x130/0x2450
[ 22.269195] ? ip6_finish_output2+0x9f0/0x17c0
[ 22.270006] nf_hook_slow+0xcc/0x220
[ 22.270511] ? ip6_input+0xcd/0x200
[ 22.270987] __dev_queue_xmit+0x1f12/0x3440
[ 22.271573] ? arch_stack_walk+0x62/0xf0
[ 22.272182] ? __pfx___rmqueue_pcplist+0x10/0x10
[ 22.273090] ? __pfx__raw_spin_trylock+0x10/0x10
[ 22.273724] ? __pfx___dev_queue_xmit+0x10/0x10
[ 22.274314] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.274869] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.275392] ? kasan_unpoison+0x27/0x60
[ 22.275824] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.276334] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.276835] ? get_page_from_freelist+0x1129/0x3b10
[ 22.277360] ? __pfx__raw_spin_lock_irqsave+0x10/0x10
[ 22.277879] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.278381] ? kasan_save_track+0x14/0x30
[ 22.278805] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.279300] ? _raw_spin_lock_bh+0x83/0xe0
[ 22.279735] ? __pfx__raw_spin_lock_bh+0x10/0x10
[ 22.280212] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.280726] ? _raw_write_lock_bh+0x83/0xe0
[ 22.281170] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.281686] ? skb_push+0x9b/0xf0
[ 22.282115] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.282697] ? eth_header+0x16f/0x200
[ 22.283134] neigh_resolve_output+0x44c/0x780
[ 22.283620] ip6_finish_output2+0x981/0x17c0
[ 22.284086] ? __pfx_ip6_finish_output2+0x10/0x10
[ 22.284592] ? __pfx_fib6_table_lookup+0x10/0x10
[ 22.285174] ? tcp_v6_rcv+0x124c/0x3760
[ 22.285659] ? ip6_protocol_deliver_rcu+0x250/0x10a0
[ 22.286237] ? ip6_input_finish+0x1b8/0x3c0
[ 22.286699] ? __sanitizer_cov_trace_switch+0x54/0x90
[ 22.287261] __ip6_finish_output+0x446/0x7b0
[ 22.287740] ip6_output+0x23b/0x480
[ 22.288119] ? __pfx_ip6_output+0x10/0x10
[ 22.288551] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.289053] ? __pfx_ip6_finish_output+0x10/0x10
[ 22.289561] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.290062] ? nf_hook_slow+0x13e/0x220
[ 22.290494] ? __pfx_ip6_output+0x10/0x10
[ 22.291044] ip6_xmit+0xc9e/0x1a50
[ 22.291561] ? __pfx_ip6_xmit+0x10/0x10
[ 22.292113] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.292754] ? inet6_sk_rebuild_header+0x493/0xa60
[ 22.293265] ? __pfx_dst_output+0x10/0x10
[ 22.293707] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.294203] ? xfrm_lookup_route+0x69/0x1b0
[ 22.294668] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.295171] tcp_v6_send_response+0xe5d/0x1cb0
[ 22.295644] ? __pfx_tcp_v6_send_response+0x10/0x10
[ 22.296154] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.296687] ? kasan_save_stack+0x34/0x50
[ 22.297113] ? __netif_receive_skb+0x1d/0x160
[ 22.297585] ? netif_receive_skb+0x8f/0x480
[ 22.298032] ? tun_get_user+0x2b96/0x3b00
[ 22.298529] ? tun_chr_write_iter+0x172/0x2b0
[ 22.299159] ? vfs_write+0xa5c/0xd30
[ 22.299591] ? ksys_write+0x124/0x240
[ 22.300007] ? do_syscall_64+0x10c/0x5b0
[ 22.300462] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 22.301078] tcp_v6_send_reset+0x508/0xda0
[ 22.301628] ? __pfx_tcp_v6_send_reset+0x10/0x10
[ 22.302380] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.303041] ? inet6_lookup_listener+0x17c/0x350
[ 22.303578] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.304110] ? __xfrm_policy_check2.constprop.0+0x353/0x5d0
[ 22.304786] tcp_v6_rcv+0x124c/0x3760
[ 22.305242] ? __pfx_tcp_v6_rcv+0x10/0x10
[ 22.305700] ? kasan_save_stack+0x34/0x50
[ 22.306122] ? kasan_save_stack+0x24/0x50
[ 22.306551] ? kasan_save_track+0x14/0x30
[ 22.306982] ? __build_skb+0x40/0xa0
[ 22.307383] ? build_skb+0x1e/0x210
[ 22.307764] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.308279] ? raw6_local_deliver+0x314/0x720
[ 22.308803] ? ksys_write+0x124/0x240
[ 22.309289] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.309964] ? __sanitizer_cov_trace_switch+0x54/0x90
[ 22.310531] ? __pfx_tcp_v6_rcv+0x10/0x10
[ 22.310986] ip6_protocol_deliver_rcu+0x315/0x10a0
[ 22.311615] ip6_input_finish+0x1b8/0x3c0
[ 22.312170] ip6_input+0xcd/0x200
[ 22.312553] ? __pfx_ip6_input+0x10/0x10
[ 22.312980] ? sock_wfree+0x11c/0x5a0
[ 22.313395] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.313895] ? ip6_rcv_finish_core.constprop.0+0xd9/0xc70
[ 22.314463] ? __pfx_ip6_input+0x10/0x10
[ 22.314889] ipv6_rcv+0x244/0x2c0
[ 22.315256] ? __pfx_ipv6_rcv+0x10/0x10
[ 22.315680] ? __build_skb+0x83/0xa0
[ 22.316069] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.316584] ? tun_build_skb+0x9df/0x1140
[ 22.317010] ? __pfx_ipv6_rcv+0x10/0x10
[ 22.317431] __netif_receive_skb_one_core+0x12d/0x1e0
[ 22.318050] ? __pfx___netif_receive_skb_one_core+0x10/0x10
[ 22.318774] ? __pfx_tun_build_skb+0x10/0x10
[ 22.319288] ? __pfx_get_page_from_freelist+0x10/0x10
[ 22.319816] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.320318] ? __virtio_net_hdr_to_skb+0x72d/0x13c0
[ 22.320917] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.321566] __netif_receive_skb+0x1d/0x160
[ 22.322122] netif_receive_skb+0x8f/0x480
[ 22.322561] ? __pfx_netif_receive_skb+0x10/0x10
[ 22.323042] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.323569] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.324074] tun_get_user+0x2b96/0x3b00
[ 22.324533] ? __pfx___alloc_frozen_pages_noprof+0x10/0x10
[ 22.325143] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.325663] ? __pfx_tun_get_user+0x10/0x10
[ 22.326107] ? __sanitizer_cov_trace_switch+0x54/0x90
[ 22.326658] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.327164] ? __folio_batch_add_and_move+0x188/0x220
[ 22.327737] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.328247] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.328816] ? folio_add_lru_vma+0x18b/0x200
[ 22.329282] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.329821] ? folio_add_new_anon_rmap+0x281/0x620
[ 22.330407] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.330915] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.331420] ? selinux_file_permission+0x11c/0x600
[ 22.331960] ? tun_chr_write_iter+0x172/0x2b0
[ 22.332458] tun_chr_write_iter+0x172/0x2b0
[ 22.332951] vfs_write+0xa5c/0xd30
[ 22.333365] ? __pfx_tun_chr_write_iter+0x10/0x10
[ 22.333864] ? __pfx_vfs_write+0x10/0x10
[ 22.334289] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.334812] ? fdget_pos+0x1ff/0x580
[ 22.335224] ksys_write+0x124/0x240
[ 22.335649] ? __pfx_ksys_write+0x10/0x10
[ 22.336099] ? fpregs_assert_state_consistent+0x10a/0x150
[ 22.336689] ? srso_alias_return_thunk+0x5/0xfbef5
[ 22.337184] ? irqentry_exit+0x43/0x790
[ 22.337606] do_syscall_64+0x10c/0x5b0
[ 22.338020] entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 22.338542] RIP: 0033:0x7fb3a84309ee
[ 22.338942] Code: 08 0f 85 f5 4b ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 80 00 00 00 00 48 83 ec 08
[ 22.340825] RSP: 002b:00007fb3a8391df8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[ 22.341676] RAX: ffffffffffffffda RBX: 00007fb3a83926c0 RCX: 00007fb3a84309ee
[ 22.342412] RDX: 000000000000004a RSI: 0000200000003100 RDI: 00000000000000c8
[ 22.343123] RBP: 0000560e4cd7a82c R08: 0000000000000000 R09: 0000000000000000
[ 22.343874] R10: 0000000000000000 R11: 0000000000000246 R12: 0000560e4cd9002c
[ 22.344611] R13: 0000560e4cd90028 R14: 0000200000003136 R15: 0000200000003126
[ 22.345339] </TASK>
[ 22.345577] Modules linked in:
[ 22.345962] ---[ end trace 0000000000000000 ]---
[ 22.346469] RIP: 0010:nft_fib6_eval+0x433/0x1060
[ 22.346965] Code: d3 20 27 fd 0f b6 44 24 30 3c 05 74 4c e8 15 2c 27 fd 49 8d bf b0 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e ad 08 00 00 41 8b 87 b0 00 00
[ 22.348809] RSP: 0018:ffff8880099ae470 EFLAGS: 00010212
[ 22.349367] RAX: dffffc0000000000 RBX: ffff8880099ae930 RCX: ffffffff8dc9cebb
[ 22.350083] RDX: 0000000000000016 RSI: 0000000000000005 RDI: 00000000000000b0
[ 22.350813] RBP: ffff88800e0c5780 R08: ffff8880099ae8d0 R09: 000000000000003c
[ 22.351558] R10: 0000000000000000 R11: 000000000003b819 R12: ffff88800e79f458
[ 22.352292] R13: ffff8880099aeb68 R14: ffff88800e79f460 R15: 0000000000000000
[ 22.353026] FS: 00007fb3a83926c0(0000) GS:ffff8880dc124000(0000) knlGS:0000000000000000
[ 22.353911] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 22.354542] CR2: 0000200000003100 CR3: 0000000003a3f000 CR4: 0000000000750ef0
executing progra[ 22.355265] PKRU: 55555554
m[ 2
2.355732] Kernel panic - not syncing: Fatal exception in interrupt
[ 22.356579] Kernel Offset: 0x9800000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[ 22.357881] ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---
[-- Attachment #5: config --]
[-- Type: application/octet-stream, Size: 152111 bytes --]
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 7.1.0 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=110400
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=23800
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=23800
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109300
CONFIG_RUSTC_LLVM_VERSION=210108
CONFIG_RUSTC_LLVM_MAJOR_VERSION=21
CONFIG_CC_CAN_LINK=y
CONFIG_GCC_ASM_GOTO_OUTPUT_BROKEN=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y
CONFIG_RUSTC_HAS_SPAN_FILE=y
CONFIG_RUSTC_HAS_UNNECESSARY_TRANSMUTES=y
CONFIG_RUSTC_HAS_FILE_WITH_NUL=y
CONFIG_RUSTC_HAS_FILE_AS_C_STR=y
CONFIG_PAHOLE_VERSION=0
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
CONFIG_WERROR=y
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_WATCH_QUEUE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y
#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_ARCH_WANTS_CLOCKSOURCE_READ_INLINE=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CLOCKEVENTS_COUPLED=y
CONFIG_GENERIC_CLOCKEVENTS_COUPLED_INLINE=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HRTIMER_REARM_DEFERRED=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y
#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_POSIX_AUX_CLOCKS is not set
# end of Timers subsystem
CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
#
# BPF subsystem
#
# CONFIG_BPF_SYSCALL is not set
# CONFIG_BPF_JIT is not set
# end of BPF subsystem
CONFIG_PREEMPT_BUILD=y
CONFIG_ARCH_HAS_PREEMPT_LAZY=y
CONFIG_PREEMPT=y
# CONFIG_PREEMPT_LAZY is not set
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
# CONFIG_SCHED_CORE is not set
#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
# CONFIG_PSI is not set
# end of CPU/Task time and stats accounting
CONFIG_CPU_ISOLATION=y
#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_NEED_TASKS_RCU=y
CONFIG_TASKS_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
# end of RCU Subsystem
# CONFIG_IKCONFIG is not set
# CONFIG_IKHEADERS is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
CONFIG_CC_MS_EXTENSIONS="-fms-extensions"
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_CC_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
# CONFIG_NUMA_BALANCING is not set
CONFIG_SCHED_CACHE=y
CONFIG_SLAB_OBJ_EXT=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
# CONFIG_MEMCG_V1 is not set
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_GROUP_SCHED_WEIGHT=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
# CONFIG_CGROUP_DMEM is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
# CONFIG_CPUSETS_V1 is not set
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_MISC=y
CONFIG_CGROUP_DEBUG=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_TIME_NS_VDSO=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
# CONFIG_BOOT_CONFIG is not set
CONFIG_CMDLINE_LOG_WRAP_IDEAL_LEN=1021
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="error"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
# CONFIG_SYSFS_SYSCALL is not set
CONFIG_HAVE_PCSPKR_PLATFORM=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_FUTEX_PRIVATE_HASH=y
CONFIG_FUTEX_MPOL=y
CONFIG_HAVE_FUTEX_ROBUST_UNLOCK=y
CONFIG_FUTEX_ROBUST_UNLOCK=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
CONFIG_RSEQ_SLICE_EXTENSION=y
CONFIG_CACHESTAT_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS=y
CONFIG_HAVE_PERF_EVENTS=y
#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters
CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
#
# Kexec and crash features
#
CONFIG_CRASH_RESERVE=y
CONFIG_VMCORE_INFO=y
CONFIG_KEXEC_CORE=y
CONFIG_KEXEC=y
# CONFIG_KEXEC_FILE is not set
# CONFIG_KEXEC_JUMP is not set
CONFIG_CRASH_DUMP=y
CONFIG_CRASH_HOTPLUG=y
CONFIG_CRASH_MAX_MEMORY_RANGES=8192
# end of Kexec and crash features
#
# Live Update and Kexec HandOver
#
# CONFIG_KEXEC_HANDOVER is not set
# end of Live Update and Kexec HandOver
# end of General setup
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
CONFIG_HAVE_INTEL_TXT=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=5
#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_CPU_RESCTRL is not set
# CONFIG_X86_FRED is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_NUMACHIP is not set
# CONFIG_X86_VSMP is not set
# CONFIG_X86_UV is not set
# CONFIG_X86_INTEL_MID is not set
# CONFIG_X86_GOLDFISH is not set
# CONFIG_X86_INTEL_LPSS is not set
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_SPINLOCKS is not set
CONFIG_X86_HV_CALLBACK_VECTOR=y
# CONFIG_XEN is not set
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
# CONFIG_PVH is not set
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
# CONFIG_BHYVE_GUEST is not set
# CONFIG_INTEL_TDX_GUEST is not set
CONFIG_CC_HAS_MARCH_NATIVE=y
# CONFIG_X86_NATIVE_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_HAVE_PAE=y
CONFIG_X86_CX8=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_HYGON=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_ZHAOXIN=y
CONFIG_BROADCAST_TLB_FLUSH=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS_RANGE_BEGIN=2
CONFIG_NR_CPUS_RANGE_END=512
CONFIG_NR_CPUS_DEFAULT=64
CONFIG_NR_CPUS=64
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_ACPI_MADT_WAKEUP=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCELOG_LEGACY is not set
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_PERF_EVENTS_INTEL_RAPL=y
CONFIG_PERF_EVENTS_INTEL_CSTATE=y
# CONFIG_PERF_EVENTS_AMD_POWER is not set
CONFIG_PERF_EVENTS_AMD_UNCORE=y
# CONFIG_PERF_EVENTS_AMD_BRS is not set
# end of Performance monitoring
CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_X86_IOPL_IOPERM=y
CONFIG_MICROCODE=y
# CONFIG_MICROCODE_LATE_LOADING is not set
# CONFIG_MICROCODE_DBG is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
# CONFIG_AMD_MEM_ENCRYPT is not set
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
# CONFIG_X86_PMEM_LEGACY is not set
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_CET=y
CONFIG_X86_KERNEL_IBT=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
CONFIG_ARCH_PKEY_BITS=4
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
# CONFIG_X86_SGX is not set
# CONFIG_X86_USER_SHADOW_STACK is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_HANDOVER_PROTOCOL=y
CONFIG_EFI_MIXED=y
CONFIG_EFI_RUNTIME_MAP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_SUPPORTS_KEXEC=y
CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
CONFIG_ARCH_SUPPORTS_KEXEC_HANDOVER=y
CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
CONFIG_ARCH_DEFAULT_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_RANDOMIZE_BASE=y
CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_RANDOMIZE_MEMORY=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0x0
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
CONFIG_LEGACY_VSYSCALL_XONLY=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="net.ifnames=0"
# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
CONFIG_HAVE_KLP_BUILD=y
CONFIG_X86_BUS_LOCK_DETECT=y
# end of Processor type and features
CONFIG_CC_HAS_NAMED_AS=y
CONFIG_CC_HAS_SLS=y
CONFIG_CC_HAS_RETURN_THUNK=y
CONFIG_CC_HAS_ENTRY_PADDING=y
CONFIG_FUNCTION_PADDING_CFI=11
CONFIG_FUNCTION_PADDING_BYTES=16
CONFIG_CALL_PADDING=y
CONFIG_HAVE_CALL_THUNKS=y
CONFIG_CALL_THUNKS=y
CONFIG_CPU_MITIGATIONS=y
CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y
CONFIG_MITIGATION_RETPOLINE=y
CONFIG_MITIGATION_RETHUNK=y
CONFIG_MITIGATION_UNRET_ENTRY=y
CONFIG_MITIGATION_CALL_DEPTH_TRACKING=y
# CONFIG_CALL_THUNKS_DEBUG is not set
CONFIG_MITIGATION_IBPB_ENTRY=y
CONFIG_MITIGATION_IBRS_ENTRY=y
CONFIG_MITIGATION_SRSO=y
# CONFIG_MITIGATION_SLS is not set
CONFIG_MITIGATION_GDS=y
CONFIG_MITIGATION_RFDS=y
CONFIG_MITIGATION_SPECTRE_BHI=y
CONFIG_MITIGATION_MDS=y
CONFIG_MITIGATION_TAA=y
CONFIG_MITIGATION_MMIO_STALE_DATA=y
CONFIG_MITIGATION_L1TF=y
CONFIG_MITIGATION_RETBLEED=y
CONFIG_MITIGATION_SPECTRE_V1=y
CONFIG_MITIGATION_SPECTRE_V2=y
CONFIG_MITIGATION_SRBDS=y
CONFIG_MITIGATION_SSB=y
CONFIG_MITIGATION_ITS=y
CONFIG_MITIGATION_TSA=y
CONFIG_ARCH_HAS_ADD_PAGES=y
#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_HIBERNATION_COMP_LZO=y
# CONFIG_HIBERNATION_COMP_LZ4 is not set
CONFIG_HIBERNATION_DEF_COMP="lzo"
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
# CONFIG_PM_QOS_CPU_SYSTEM_WAKEUP is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_SLEEP_DEBUG=y
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_THERMAL_LIB=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_EC=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_TAD is not set
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_PLATFORM_PROFILE=y
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_DEBUG=y
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
CONFIG_ACPI_BGRT=y
CONFIG_ACPI_NHLT=y
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_HMAT is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
# CONFIG_ACPI_APEI is not set
# CONFIG_ACPI_DPTF is not set
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
# CONFIG_ACPI_FFH is not set
CONFIG_ACPI_MRRM=y
# CONFIG_PMIC_OPREGION is not set
CONFIG_ACPI_PRMT=y
CONFIG_X86_PM_TIMER=y
#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_AMD_PSTATE=y
CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3
# CONFIG_X86_AMD_PSTATE_UT is not set
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set
#
# shared options
#
CONFIG_CPUFREQ_ARCH_CUR_FREQ=y
# end of CPU Frequency scaling
#
# CPU Idle
#
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle
# CONFIG_INTEL_IDLE is not set
# end of Power management and ACPI options
#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_MMCONF_FAM10H=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_AMD_NODE=y
# end of Bus options (PCI etc.)
#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
# CONFIG_X86_X32_ABI is not set
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations
CONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
CONFIG_X86_REQUIRED_FEATURE_ALWAYS=y
CONFIG_X86_REQUIRED_FEATURE_NOPL=y
CONFIG_X86_REQUIRED_FEATURE_CX8=y
CONFIG_X86_REQUIRED_FEATURE_CMOV=y
CONFIG_X86_REQUIRED_FEATURE_SYSFAST32=y
CONFIG_X86_REQUIRED_FEATURE_CPUID=y
CONFIG_X86_REQUIRED_FEATURE_FPU=y
CONFIG_X86_REQUIRED_FEATURE_PAE=y
CONFIG_X86_REQUIRED_FEATURE_PSE=y
CONFIG_X86_REQUIRED_FEATURE_PGE=y
CONFIG_X86_REQUIRED_FEATURE_MSR=y
CONFIG_X86_REQUIRED_FEATURE_FXSR=y
CONFIG_X86_REQUIRED_FEATURE_XMM=y
CONFIG_X86_REQUIRED_FEATURE_XMM2=y
CONFIG_X86_REQUIRED_FEATURE_LM=y
CONFIG_X86_DISABLED_FEATURE_VME=y
CONFIG_X86_DISABLED_FEATURE_K6_MTRR=y
CONFIG_X86_DISABLED_FEATURE_CYRIX_ARR=y
CONFIG_X86_DISABLED_FEATURE_CENTAUR_MCR=y
CONFIG_X86_DISABLED_FEATURE_LAM=y
CONFIG_X86_DISABLED_FEATURE_ENQCMD=y
CONFIG_X86_DISABLED_FEATURE_SGX=y
CONFIG_X86_DISABLED_FEATURE_XENPV=y
CONFIG_X86_DISABLED_FEATURE_TDX_GUEST=y
CONFIG_X86_DISABLED_FEATURE_USER_SHSTK=y
CONFIG_X86_DISABLED_FEATURE_FRED=y
CONFIG_X86_DISABLED_FEATURE_SEV_SNP=y
CONFIG_AS_WRUSS=y
CONFIG_ARCH_CONFIGURES_CPU_MITIGATIONS=y
#
# General architecture-dependent options
#
CONFIG_HOTPLUG_SMT=y
CONFIG_ARCH_SUPPORTS_SCHED_SMT=y
CONFIG_ARCH_SUPPORTS_SCHED_CLUSTER=y
CONFIG_ARCH_SUPPORTS_SCHED_MC=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_MC=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
CONFIG_HOTPLUG_CORE_SYNC_FULL=y
CONFIG_HOTPLUG_SPLIT_STARTUP=y
CONFIG_HOTPLUG_PARALLEL=y
CONFIG_GENERIC_IRQ_ENTRY=y
CONFIG_GENERIC_SYSCALL=y
CONFIG_GENERIC_ENTRY=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_OPTPROBES=y
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_KRETPROBES=y
CONFIG_KRETPROBE_ON_RETHOOK=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
CONFIG_ARCH_HAS_CPU_PASID=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_ARCH_MEMORY_ORDER_TSO=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_UNWIND_USER=y
CONFIG_HAVE_UNWIND_USER_FP=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM=y
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HAVE_EXTRA_ELF_NOTES=y
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_KSTACK_ERASE=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_PV_STEAL_CLOCK_GEN=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_ARCH_HAS_EXECMEM_ROX=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_HAVE_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_PAGE_SHIFT=12
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_ARCH_SUPPORTS_RT=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y
CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y
CONFIG_ARCH_VMLINUX_NEEDS_RELOCS=y
CONFIG_HAVE_GENERIC_TIF_BITS=y
#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling
CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16
CONFIG_ARCH_HAS_CPU_ATTACK_VECTORS=y
CONFIG_HAVE_ARCH_GET_SECUREBOOT=y
# end of General architecture-dependent options
CONFIG_RT_MUTEXES=y
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_COMPRESS is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_RQ_ALLOC_TIME=y
CONFIG_BLK_DEV_BSG_COMMON=y
# CONFIG_BLK_DEV_BSGLIB is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLK_DEV_WRITE_MOUNTED=y
# CONFIG_BLK_DEV_ZONED is not set
# CONFIG_BLK_DEV_THROTTLING is not set
# CONFIG_BLK_WBT is not set
CONFIG_BLK_CGROUP_IOLATENCY=y
CONFIG_BLK_CGROUP_IOCOST=y
CONFIG_BLK_CGROUP_IOPRIO=y
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_SED_OPAL is not set
# CONFIG_BLK_INLINE_ENCRYPTION is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_EFI_PARTITION=y
# end of Partition Types
CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y
# CONFIG_BLK_ERROR_INJECTION is not set
#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
# CONFIG_IOSCHED_BFQ is not set
# end of IO Schedulers
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y
#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats
#
# Memory Management options
#
CONFIG_SWAP=y
# CONFIG_ZSWAP is not set
#
# Slab allocator options
#
CONFIG_SLUB=y
CONFIG_KVFREE_RCU_BATCHED=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLAB_BUCKETS is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_KMALLOC_PARTITION_CACHES is not set
# end of Slab allocator options
# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_SPARSEMEM_VMEMMAP_PREINIT=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_ARCH_WANT_HUGETLB_VMEMMAP_PREINIT=y
CONFIG_HAVE_GUP_FAST=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTE_PTLOCKS=y
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_SPLIT_PMD_PTLOCKS=y
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
# CONFIG_PAGE_REPORTING is not set
CONFIG_NUMA_MIGRATION=y
CONFIG_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
CONFIG_HAVE_GIGANTIC_FOLIOS=y
CONFIG_ASYNC_KERNEL_PGTABLE_FREE=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
# CONFIG_CMA is not set
CONFIG_PAGE_BLOCK_MAX_ORDER=10
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
# CONFIG_IDLE_PAGE_TRACKING is not set
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_VMAP_PFN=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_ARCH_USES_PG_ARCH_2=y
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_TEST is not set
# CONFIG_DMAPOOL_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MEMFD_CREATE=y
CONFIG_SECRETMEM=y
# CONFIG_ANON_VMA_NAME is not set
# CONFIG_USERFAULTFD is not set
# CONFIG_LRU_GEN is not set
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_IOMMU_MM_DATA=y
CONFIG_EXECMEM=y
CONFIG_NUMA_MEMBLKS=y
# CONFIG_NUMA_EMU is not set
CONFIG_PT_RECLAIM=y
#
# Data Access Monitoring
#
# CONFIG_DAMON is not set
# end of Data Access Monitoring
# end of Memory Management options
CONFIG_NET=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_XGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y
CONFIG_NET_DEVMEM=y
CONFIG_NET_CRC32C=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_DIAG is not set
# CONFIG_INET_PSP is not set
CONFIG_UNIX=y
CONFIG_AF_UNIX_OOB=y
# CONFIG_UNIX_DIAG is not set
# CONFIG_TLS is not set
CONFIG_XFRM=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_USER_COMPAT is not set
# CONFIG_XFRM_INTERFACE is not set
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_AH=y
CONFIG_XFRM_ESP=y
# CONFIG_NET_KEY is not set
# CONFIG_XFRM_IPTFS is not set
# CONFIG_DIBS is not set
CONFIG_NET_HANDSHAKE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
CONFIG_NET_IP_TUNNEL=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
# CONFIG_NET_IPVTI is not set
# CONFIG_NET_FOU is not set
# CONFIG_NET_FOU_IP_TUNNELS is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_TUNNEL=y
# CONFIG_INET_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
CONFIG_TCP_CONG_CUBIC=y
# CONFIG_TCP_CONG_WESTWOOD is not set
# CONFIG_TCP_CONG_HTCP is not set
# CONFIG_TCP_CONG_HSTCP is not set
# CONFIG_TCP_CONG_HYBLA is not set
# CONFIG_TCP_CONG_VEGAS is not set
# CONFIG_TCP_CONG_NV is not set
# CONFIG_TCP_CONG_SCALABLE is not set
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set
# CONFIG_TCP_CONG_ILLINOIS is not set
# CONFIG_TCP_CONG_DCTCP is not set
# CONFIG_TCP_CONG_CDG is not set
# CONFIG_TCP_CONG_BBR is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_AO is not set
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
# CONFIG_INET6_ESP_OFFLOAD is not set
# CONFIG_INET6_ESPINTCP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_VTI is not set
CONFIG_IPV6_SIT=y
# CONFIG_IPV6_SIT_6RD is not set
CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_IPV6_MROUTE is not set
# CONFIG_IPV6_SEG6_LWTUNNEL is not set
# CONFIG_IPV6_SEG6_HMAC is not set
# CONFIG_IPV6_RPL_LWTUNNEL is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
CONFIG_NETLABEL=y
# CONFIG_MPTCP is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
# CONFIG_BRIDGE_NETFILTER is not set
#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_FAMILY_ARP=y
# CONFIG_NETFILTER_NETLINK_HOOK is not set
# CONFIG_NETFILTER_NETLINK_ACCT is not set
# CONFIG_NETFILTER_NETLINK_QUEUE is not set
CONFIG_NETFILTER_NETLINK_LOG=y
# CONFIG_NETFILTER_NETLINK_OSF is not set
CONFIG_NF_CONNTRACK=y
CONFIG_NF_LOG_SYSLOG=m
# CONFIG_NF_CONNTRACK_MARK is not set
CONFIG_NF_CONNTRACK_SECMARK=y
# CONFIG_NF_CONNTRACK_ZONES is not set
# CONFIG_NF_CONNTRACK_PROCFS is not set
# CONFIG_NF_CONNTRACK_EVENTS is not set
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
# CONFIG_NF_CONNTRACK_LABELS is not set
CONFIG_NF_CT_PROTO_SCTP=y
# CONFIG_NF_CONNTRACK_AMANDA is not set
CONFIG_NF_CONNTRACK_FTP=y
# CONFIG_NF_CONNTRACK_H323 is not set
CONFIG_NF_CONNTRACK_IRC=y
# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
# CONFIG_NF_CONNTRACK_SNMP is not set
# CONFIG_NF_CONNTRACK_PPTP is not set
# CONFIG_NF_CONNTRACK_SANE is not set
CONFIG_NF_CONNTRACK_SIP=y
# CONFIG_NF_CONNTRACK_TFTP is not set
CONFIG_NF_CT_NETLINK=y
# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set
CONFIG_NF_NAT=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_SIP=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=y
CONFIG_NFT_CT=y
# CONFIG_NFT_EXTHDR_DCCP is not set
# CONFIG_NFT_CONNLIMIT is not set
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
# CONFIG_NFT_MASQ is not set
# CONFIG_NFT_REDIR is not set
CONFIG_NFT_NAT=y
# CONFIG_NFT_TUNNEL is not set
# CONFIG_NFT_QUOTA is not set
CONFIG_NFT_REJECT=m
CONFIG_NFT_REJECT_INET=m
# CONFIG_NFT_COMPAT is not set
# CONFIG_NFT_HASH is not set
CONFIG_NFT_FIB=y
CONFIG_NFT_FIB_INET=y
# CONFIG_NFT_XFRM is not set
# CONFIG_NFT_SOCKET is not set
# CONFIG_NFT_OSF is not set
# CONFIG_NFT_TPROXY is not set
# CONFIG_NFT_SYNPROXY is not set
CONFIG_NF_DUP_NETDEV=y
CONFIG_NFT_DUP_NETDEV=y
CONFIG_NFT_FWD_NETDEV=y
CONFIG_NFT_FIB_NETDEV=y
# CONFIG_NFT_REJECT_NETDEV is not set
# CONFIG_NF_FLOW_TABLE is not set
CONFIG_NETFILTER_XTABLES=y
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
# CONFIG_NETFILTER_XTABLES_LEGACY is not set
#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m
# CONFIG_NETFILTER_XT_CONNMARK is not set
#
# Xtables targets
#
# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set
# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
# CONFIG_NETFILTER_XT_TARGET_HMARK is not set
# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
# CONFIG_NETFILTER_XT_TARGET_LED is not set
CONFIG_NETFILTER_XT_TARGET_LOG=m
# CONFIG_NETFILTER_XT_TARGET_MARK is not set
# CONFIG_NETFILTER_XT_NAT is not set
# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
# CONFIG_NETFILTER_XT_TARGET_TEE is not set
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
# CONFIG_NETFILTER_XT_MATCH_BPF is not set
# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set
# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set
# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
# CONFIG_NETFILTER_XT_MATCH_CPU is not set
# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
# CONFIG_NETFILTER_XT_MATCH_ECN is not set
# CONFIG_NETFILTER_XT_MATCH_ESP is not set
# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
# CONFIG_NETFILTER_XT_MATCH_HL is not set
# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set
# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_MAC is not set
# CONFIG_NETFILTER_XT_MATCH_MARK is not set
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
# CONFIG_NETFILTER_XT_MATCH_OSF is not set
# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
CONFIG_NETFILTER_XT_MATCH_POLICY=y
# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
# CONFIG_NETFILTER_XT_MATCH_REALM is not set
# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set
CONFIG_NETFILTER_XT_MATCH_STATE=y
# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
# CONFIG_NETFILTER_XT_MATCH_STRING is not set
# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
# CONFIG_NETFILTER_XT_MATCH_TIME is not set
# CONFIG_NETFILTER_XT_MATCH_U32 is not set
# end of Core Netfilter Configuration
# CONFIG_IP_SET is not set
# CONFIG_IP_VS is not set
#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
# CONFIG_NF_SOCKET_IPV4 is not set
# CONFIG_NF_TPROXY_IPV4 is not set
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=m
# CONFIG_NFT_DUP_IPV4 is not set
CONFIG_NFT_FIB_IPV4=y
CONFIG_NF_TABLES_ARP=y
# CONFIG_NF_DUP_IPV4 is not set
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_IP_NF_IPTABLES=y
# CONFIG_IP_NF_MATCH_AH is not set
# CONFIG_IP_NF_MATCH_ECN is not set
# CONFIG_IP_NF_MATCH_TTL is not set
# CONFIG_IP_NF_TARGET_SYNPROXY is not set
# end of IP: Netfilter Configuration
#
# IPv6: Netfilter Configuration
#
# CONFIG_NF_SOCKET_IPV6 is not set
# CONFIG_NF_TPROXY_IPV6 is not set
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NFT_DUP_IPV6=y
CONFIG_NFT_FIB_IPV6=y
CONFIG_NF_DUP_IPV6=y
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_IP6_NF_IPTABLES=y
# CONFIG_IP6_NF_MATCH_AH is not set
# CONFIG_IP6_NF_MATCH_EUI64 is not set
# CONFIG_IP6_NF_MATCH_FRAG is not set
# CONFIG_IP6_NF_MATCH_OPTS is not set
# CONFIG_IP6_NF_MATCH_HL is not set
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
# CONFIG_IP6_NF_MATCH_MH is not set
# CONFIG_IP6_NF_MATCH_RT is not set
# CONFIG_IP6_NF_MATCH_SRH is not set
# CONFIG_IP6_NF_TARGET_SYNPROXY is not set
# end of IPv6: Netfilter Configuration
CONFIG_NF_DEFRAG_IPV6=y
# CONFIG_NF_TABLES_BRIDGE is not set
# CONFIG_NF_CONNTRACK_BRIDGE is not set
# CONFIG_BRIDGE_NF_EBTABLES is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
CONFIG_STP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_BRIDGE_VLAN_FILTERING is not set
# CONFIG_BRIDGE_MRP is not set
# CONFIG_BRIDGE_CFM is not set
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=y
# CONFIG_VLAN_8021Q_GVRP is not set
# CONFIG_VLAN_8021Q_MVRP is not set
CONFIG_LLC=y
# CONFIG_LLC2 is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
# CONFIG_6LOWPAN is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
# CONFIG_NET_SCH_HTB is not set
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_PRIO is not set
# CONFIG_NET_SCH_MULTIQ is not set
# CONFIG_NET_SCH_RED is not set
# CONFIG_NET_SCH_SFB is not set
# CONFIG_NET_SCH_SFQ is not set
# CONFIG_NET_SCH_TEQL is not set
# CONFIG_NET_SCH_TBF is not set
# CONFIG_NET_SCH_CBS is not set
# CONFIG_NET_SCH_ETF is not set
# CONFIG_NET_SCH_TAPRIO is not set
# CONFIG_NET_SCH_GRED is not set
# CONFIG_NET_SCH_NETEM is not set
# CONFIG_NET_SCH_DRR is not set
# CONFIG_NET_SCH_MQPRIO is not set
# CONFIG_NET_SCH_SKBPRIO is not set
# CONFIG_NET_SCH_CHOKE is not set
# CONFIG_NET_SCH_QFQ is not set
# CONFIG_NET_SCH_CODEL is not set
# CONFIG_NET_SCH_FQ_CODEL is not set
# CONFIG_NET_SCH_CAKE is not set
# CONFIG_NET_SCH_FQ is not set
# CONFIG_NET_SCH_HHF is not set
# CONFIG_NET_SCH_PIE is not set
# CONFIG_NET_SCH_INGRESS is not set
# CONFIG_NET_SCH_PLUG is not set
# CONFIG_NET_SCH_ETS is not set
# CONFIG_NET_SCH_DUALPI2 is not set
# CONFIG_NET_SCH_DEFAULT is not set
#
# Classification
#
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
# CONFIG_NET_CLS_ROUTE4 is not set
# CONFIG_NET_CLS_FW is not set
# CONFIG_NET_CLS_U32 is not set
# CONFIG_NET_CLS_FLOW is not set
CONFIG_NET_CLS_CGROUP=y
# CONFIG_NET_CLS_BPF is not set
# CONFIG_NET_CLS_FLOWER is not set
# CONFIG_NET_CLS_MATCHALL is not set
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
# CONFIG_NET_EMATCH_CMP is not set
# CONFIG_NET_EMATCH_NBYTE is not set
# CONFIG_NET_EMATCH_U32 is not set
# CONFIG_NET_EMATCH_META is not set
# CONFIG_NET_EMATCH_TEXT is not set
# CONFIG_NET_EMATCH_IPT is not set
CONFIG_NET_CLS_ACT=y
# CONFIG_NET_ACT_POLICE is not set
# CONFIG_NET_ACT_GACT is not set
# CONFIG_NET_ACT_MIRRED is not set
# CONFIG_NET_ACT_SAMPLE is not set
# CONFIG_NET_ACT_NAT is not set
# CONFIG_NET_ACT_PEDIT is not set
# CONFIG_NET_ACT_SIMP is not set
# CONFIG_NET_ACT_SKBEDIT is not set
# CONFIG_NET_ACT_CSUM is not set
# CONFIG_NET_ACT_MPLS is not set
# CONFIG_NET_ACT_VLAN is not set
# CONFIG_NET_ACT_BPF is not set
# CONFIG_NET_ACT_SKBMOD is not set
# CONFIG_NET_ACT_IFE is not set
# CONFIG_NET_ACT_TUNNEL_KEY is not set
# CONFIG_NET_ACT_GATE is not set
# CONFIG_NET_TC_SKB_EXT is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=y
# CONFIG_BATMAN_ADV is not set
# CONFIG_OPENVSWITCH is not set
# CONFIG_VSOCKETS is not set
# CONFIG_NETLINK_DIAG is not set
# CONFIG_MPLS is not set
# CONFIG_NET_NSH is not set
# CONFIG_HSR is not set
# CONFIG_NET_SWITCHDEV is not set
# CONFIG_NET_L3_MASTER_DEV is not set
# CONFIG_QRTR is not set
# CONFIG_NET_NCSI is not set
CONFIG_PCPU_DEV_REFCNT=y
CONFIG_MAX_SKB_FRAGS=17
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_NET_FLOW_LIMIT=y
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_DROP_MONITOR is not set
# end of Network testing
# end of Networking options
# CONFIG_CAN is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_CFG80211=y
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
CONFIG_CFG80211_CRDA_SUPPORT=y
# CONFIG_CFG80211_WEXT is not set
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
# CONFIG_MAC80211_MESH is not set
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set
# CONFIG_PSAMPLE is not set
# CONFIG_NET_IFE is not set
# CONFIG_LWTUNNEL is not set
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_NET_SELFTESTS=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=y
CONFIG_ETHTOOL_NETLINK=y
#
# Device Drivers
#
CONFIG_HAVE_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
# CONFIG_HOTPLUG_PCI_PCIE is not set
# CONFIG_PCIEAER is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_PTM is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_STUB is not set
CONFIG_PCI_ATS=y
# CONFIG_PCI_TSM is not set
# CONFIG_PCI_DOE is not set
CONFIG_PCI_LOCKLESS_CONFIG=y
# CONFIG_PCI_IOV is not set
# CONFIG_PCI_NPEM is not set
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCIE_TPH is not set
CONFIG_PCI_LABEL=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_OCTEONEP is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set
#
# PCI controller drivers
#
# CONFIG_VMD is not set
#
# Cadence-based PCIe controllers
#
# end of Cadence-based PCIe controllers
#
# DesignWare-based PCIe controllers
#
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_DW_PLAT_HOST is not set
# end of DesignWare-based PCIe controllers
#
# Mobiveil-based PCIe controllers
#
# end of Mobiveil-based PCIe controllers
#
# PLDA-based PCIe controllers
#
# end of PLDA-based PCIe controllers
# end of PCI controller drivers
#
# PCI Endpoint
#
# CONFIG_PCI_ENDPOINT is not set
# end of PCI Endpoint
#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers
CONFIG_PCI_PWRCTRL=y
CONFIG_PCI_PWRCTRL_GENERIC=y
# CONFIG_PCI_PWRCTRL_TC9563 is not set
# CONFIG_CXL_BUS is not set
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y
#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_RAPIDIO is not set
#
# Generic Driver Options
#
CONFIG_AUXILIARY_BUS=y
# CONFIG_UEVENT_HELPER is not set
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
CONFIG_DRIVER_DEFERRED_PROBE_TIMEOUT=10
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
#
# Firmware loader
#
CONFIG_FW_LOADER=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_FW_LOADER_USER_HELPER is not set
# CONFIG_FW_LOADER_COMPRESS is not set
CONFIG_FW_CACHE=y
# CONFIG_FW_UPLOAD is not set
# end of Firmware loader
CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_GENERIC_CPU_DEVICES=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
# end of Generic Driver Options
#
# Bus devices
#
# CONFIG_MHI_BUS is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
#
# Firmware Drivers
#
#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol
# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
# CONFIG_SYSFB_SIMPLEFB is not set
# CONFIG_GOOGLE_FIRMWARE is not set
#
# EFI (Extensible Firmware Interface) Support
#
CONFIG_EFI_ESRT=y
CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_TEST is not set
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
# CONFIG_EFI_RCI2_TABLE is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
# CONFIG_EFI_DISABLE_RUNTIME is not set
# CONFIG_EFI_COCO_SECRET is not set
# CONFIG_OVMF_DEBUG_LOG is not set
CONFIG_EFI_SBAT_FILE=""
# end of EFI (Extensible Firmware Interface) Support
#
# Qualcomm firmware drivers
#
# end of Qualcomm firmware drivers
#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers
# CONFIG_FWCTL is not set
# CONFIG_GNSS is not set
# CONFIG_MTD is not set
# CONFIG_OF is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT is not set
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y
#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_ZRAM is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_VIRTIO_BLK=y
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_UBLK is not set
#
# NVME Support
#
# CONFIG_BLK_DEV_NVME is not set
# CONFIG_NVME_FC is not set
# CONFIG_NVME_TCP is not set
# CONFIG_NVME_TARGET is not set
# end of NVME Support
#
# Misc devices
#
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_RPMB is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
# CONFIG_NTSYNC is not set
# CONFIG_NSM is not set
# CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=y
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# CONFIG_EEPROM_M24LR is not set
# end of EEPROM support
# CONFIG_CB710_CORE is not set
# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_ALTERA_STAPL is not set
CONFIG_INTEL_MEI=y
CONFIG_INTEL_MEI_ME=y
# CONFIG_INTEL_MEI_TXE is not set
# CONFIG_INTEL_MEI_GSC is not set
# CONFIG_INTEL_MEI_CSC is not set
# CONFIG_INTEL_MEI_HDCP is not set
# CONFIG_INTEL_MEI_PXP is not set
# CONFIG_INTEL_MEI_GSC_PROXY is not set
# CONFIG_VMWARE_VMCI is not set
# CONFIG_GENWQE is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
# CONFIG_MISC_RTSX_USB is not set
# CONFIG_UACCE is not set
# CONFIG_PVPANIC is not set
# CONFIG_KEBA_CP500 is not set
# end of Misc devices
#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
# end of SCSI Transports
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_HPSA is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPI3MR is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_VIRTIO=y
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# end of SCSI device support
CONFIG_ATA=y
CONFIG_SATA_HOST=y
CONFIG_PATA_TIMINGS=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_ATA_ACPI=y
# CONFIG_SATA_ZPODD is not set
CONFIG_SATA_PMP=y
#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=3
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_AHCI_DWC is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y
#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
CONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
CONFIG_PATA_SCH=y
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_PCMCIA is not set
# CONFIG_PATA_RZ1000 is not set
#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_BITMAP=y
# CONFIG_MD_LLBITMAP is not set
CONFIG_MD_AUTODETECT=y
CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID456 is not set
# CONFIG_BCACHE is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_UNSTRIPED is not set
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_THIN_PROVISIONING is not set
# CONFIG_DM_CACHE is not set
# CONFIG_DM_WRITECACHE is not set
# CONFIG_DM_EBS is not set
# CONFIG_DM_ERA is not set
# CONFIG_DM_CLONE is not set
CONFIG_DM_MIRROR=y
# CONFIG_DM_LOG_USERSPACE is not set
# CONFIG_DM_RAID is not set
CONFIG_DM_ZERO=y
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_DUST is not set
# CONFIG_DM_INIT is not set
# CONFIG_DM_UEVENT is not set
# CONFIG_DM_FLAKEY is not set
# CONFIG_DM_VERITY is not set
# CONFIG_DM_SWITCH is not set
# CONFIG_DM_LOG_WRITES is not set
# CONFIG_DM_INTEGRITY is not set
# CONFIG_DM_AUDIT is not set
# CONFIG_DM_VDO is not set
# CONFIG_TARGET_CORE is not set
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
CONFIG_DUMMY=y
# CONFIG_WIREGUARD is not set
# CONFIG_OVPN is not set
# CONFIG_EQUALIZER is not set
# CONFIG_NET_FC is not set
CONFIG_IFB=y
# CONFIG_NET_TEAM is not set
# CONFIG_MACVLAN is not set
# CONFIG_IPVLAN is not set
# CONFIG_VXLAN is not set
# CONFIG_GENEVE is not set
# CONFIG_BAREUDP is not set
# CONFIG_GTP is not set
# CONFIG_PFCP is not set
# CONFIG_AMT is not set
# CONFIG_MACSEC is not set
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
# CONFIG_TUN_VNET_CROSS_LE is not set
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
# CONFIG_NLMON is not set
# CONFIG_ARCNET is not set
CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_3COM=y
# CONFIG_VORTEX is not set
# CONFIG_TYPHOON is not set
CONFIG_NET_VENDOR_ADAPTEC=y
# CONFIG_ADAPTEC_STARFIRE is not set
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_ET131X is not set
CONFIG_NET_VENDOR_ALACRITECH=y
# CONFIG_SLICOSS is not set
CONFIG_NET_VENDOR_ALIBABA=y
# CONFIG_ALIBABA_EEA is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMAZON=y
# CONFIG_ENA_ETHERNET is not set
CONFIG_NET_VENDOR_AMD=y
# CONFIG_AMD8111_ETH is not set
# CONFIG_PCNET32 is not set
# CONFIG_AMD_XGBE is not set
# CONFIG_PDS_CORE is not set
CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_AQTION is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ASIX=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_ATL2 is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
# CONFIG_ATL1C is not set
# CONFIG_ALX is not set
# CONFIG_CX_ECAT is not set
CONFIG_NET_VENDOR_BROADCOM=y
# CONFIG_B44 is not set
# CONFIG_BCMGENET is not set
# CONFIG_BNX2 is not set
# CONFIG_CNIC is not set
CONFIG_TIGON3=y
CONFIG_TIGON3_HWMON=y
# CONFIG_BNX2X is not set
# CONFIG_SYSTEMPORT is not set
# CONFIG_BNXT is not set
# CONFIG_BNGE is not set
CONFIG_NET_VENDOR_CADENCE=y
CONFIG_NET_VENDOR_CAVIUM=y
# CONFIG_THUNDER_NIC_PF is not set
# CONFIG_THUNDER_NIC_VF is not set
# CONFIG_THUNDER_NIC_BGX is not set
# CONFIG_THUNDER_NIC_RGX is not set
# CONFIG_CAVIUM_PTP is not set
# CONFIG_LIQUIDIO is not set
# CONFIG_LIQUIDIO_VF is not set
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CHELSIO_T4 is not set
# CONFIG_CHELSIO_T4VF is not set
CONFIG_NET_VENDOR_CISCO=y
# CONFIG_ENIC is not set
CONFIG_NET_VENDOR_CORTINA=y
CONFIG_NET_VENDOR_DAVICOM=y
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
# CONFIG_TULIP is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set
# CONFIG_ULI526X is not set
# CONFIG_PCMCIA_XIRCOM is not set
CONFIG_NET_VENDOR_DLINK=y
# CONFIG_DL2K is not set
# CONFIG_SUNDANCE is not set
CONFIG_NET_VENDOR_EMULEX=y
# CONFIG_BE2NET is not set
CONFIG_NET_VENDOR_ENGLEDER=y
# CONFIG_TSNEP is not set
CONFIG_NET_VENDOR_EZCHIP=y
CONFIG_NET_VENDOR_FUNGIBLE=y
# CONFIG_FUN_ETH is not set
CONFIG_NET_VENDOR_GOOGLE=y
# CONFIG_GVE is not set
CONFIG_NET_VENDOR_HISILICON=y
# CONFIG_HIBMCGE is not set
CONFIG_NET_VENDOR_HUAWEI=y
# CONFIG_HINIC is not set
# CONFIG_HINIC3 is not set
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
# CONFIG_FM10K is not set
# CONFIG_IGC is not set
# CONFIG_IDPF is not set
# CONFIG_JME is not set
CONFIG_NET_VENDOR_LITEX=y
CONFIG_NET_VENDOR_MARVELL=y
# CONFIG_MVMDIO is not set
# CONFIG_SKGE is not set
CONFIG_SKY2=y
# CONFIG_SKY2_DEBUG is not set
# CONFIG_OCTEON_EP is not set
# CONFIG_OCTEON_EP_VF is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
# CONFIG_MLX5_CORE is not set
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
CONFIG_NET_VENDOR_META=y
# CONFIG_FBNIC is not set
CONFIG_NET_VENDOR_MICREL=y
# CONFIG_KS8842 is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_KSZ884X_PCI is not set
CONFIG_NET_VENDOR_MICROCHIP=y
# CONFIG_LAN743X is not set
# CONFIG_VCAP is not set
CONFIG_NET_VENDOR_MICROSEMI=y
CONFIG_NET_VENDOR_MICROSOFT=y
CONFIG_NET_VENDOR_MUCSE=y
# CONFIG_MGBE is not set
CONFIG_NET_VENDOR_MYRI=y
# CONFIG_MYRI10GE is not set
# CONFIG_FEALNX is not set
CONFIG_NET_VENDOR_NI=y
# CONFIG_NI_XGE_MANAGEMENT_ENET is not set
CONFIG_NET_VENDOR_NATSEMI=y
# CONFIG_NATSEMI is not set
# CONFIG_NS83820 is not set
CONFIG_NET_VENDOR_NETRONOME=y
# CONFIG_NFP is not set
CONFIG_NET_VENDOR_8390=y
# CONFIG_NE2K_PCI is not set
# CONFIG_PCMCIA_PCNET is not set
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=y
CONFIG_NET_VENDOR_OKI=y
# CONFIG_ETHOC is not set
CONFIG_NET_VENDOR_PENSANDO=y
# CONFIG_IONIC is not set
CONFIG_NET_VENDOR_QLOGIC=y
# CONFIG_QLA3XXX is not set
# CONFIG_QLCNIC is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_QED is not set
CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_BNA is not set
CONFIG_NET_VENDOR_QUALCOMM=y
# CONFIG_QCOM_EMAC is not set
# CONFIG_RMNET is not set
CONFIG_NET_VENDOR_RDC=y
# CONFIG_R6040 is not set
CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_8139CP is not set
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=y
# CONFIG_RTASE is not set
CONFIG_NET_VENDOR_RENESAS=y
CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SAMSUNG=y
# CONFIG_SXGBE_ETH is not set
CONFIG_NET_VENDOR_SEEQ=y
CONFIG_NET_VENDOR_SILAN=y
# CONFIG_SC92031 is not set
CONFIG_NET_VENDOR_SIS=y
# CONFIG_SIS900 is not set
# CONFIG_SIS190 is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
# CONFIG_SFC is not set
# CONFIG_SFC_FALCON is not set
# CONFIG_SFC_SIENA is not set
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_EPIC100 is not set
# CONFIG_SMSC911X is not set
# CONFIG_SMSC9420 is not set
CONFIG_NET_VENDOR_SOCIONEXT=y
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_STMMAC_ETH is not set
CONFIG_NET_VENDOR_SUN=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NIU is not set
CONFIG_NET_VENDOR_SYNOPSYS=y
# CONFIG_DWC_XLGMAC is not set
CONFIG_NET_VENDOR_TEHUTI=y
# CONFIG_TEHUTI is not set
# CONFIG_TEHUTI_TN40 is not set
CONFIG_NET_VENDOR_TI=y
# CONFIG_TI_CPSW_PHY_SEL is not set
# CONFIG_TLAN is not set
CONFIG_NET_VENDOR_VERTEXCOM=y
CONFIG_NET_VENDOR_VIA=y
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_NET_VENDOR_WANGXUN=y
# CONFIG_NGBE is not set
# CONFIG_TXGBEVF is not set
# CONFIG_NGBEVF is not set
CONFIG_NET_VENDOR_WIZNET=y
CONFIG_NET_VENDOR_XILINX=y
# CONFIG_XILINX_EMACLITE is not set
# CONFIG_XILINX_LL_TEMAC is not set
CONFIG_NET_VENDOR_XIRCOM=y
# CONFIG_PCMCIA_XIRC2PS is not set
# CONFIG_FDDI is not set
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
CONFIG_PHY_PACKAGE=y
# CONFIG_LED_TRIGGER_PHY is not set
CONFIG_FIXED_PHY=y
#
# MII PHY device drivers
#
# CONFIG_AS21XXX_PHY is not set
# CONFIG_AIR_AN8801_PHY is not set
# CONFIG_AIR_EN8811H_PHY is not set
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_ADIN1100_PHY is not set
# CONFIG_AQUANTIA_PHY is not set
# CONFIG_AX88796B_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM54140_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM84881_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_CORTINA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MARVELL_10G_PHY is not set
# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
# CONFIG_MAXLINEAR_GPHY is not set
# CONFIG_MAXLINEAR_86110_PHY is not set
# CONFIG_MEDIATEK_GE_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MICROCHIP_T1S_PHY is not set
# CONFIG_MICROCHIP_PHY is not set
# CONFIG_MICROCHIP_T1_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_MOTORCOMM_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_NXP_CBTX_PHY is not set
# CONFIG_NXP_C45_TJA11XX_PHY is not set
# CONFIG_NXP_TJA11XX_PHY is not set
# CONFIG_NCN26000_PHY is not set
# CONFIG_QCA83XX_PHY is not set
# CONFIG_QCA808X_PHY is not set
# CONFIG_QSEMI_PHY is not set
CONFIG_REALTEK_PHY=y
# CONFIG_REALTEK_PHY_HWMON is not set
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
# CONFIG_DP83822_PHY is not set
# CONFIG_DP83TC811_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
# CONFIG_DP83869_PHY is not set
# CONFIG_DP83TD510_PHY is not set
# CONFIG_DP83TG720_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_XILINX_GMII2RGMII is not set
CONFIG_FWNODE_MDIO=y
CONFIG_ACPI_MDIO=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_MVUSB is not set
# CONFIG_MDIO_THUNDER is not set
#
# MDIO Multiplexers
#
#
# PCS device drivers
#
# CONFIG_PCS_XPCS is not set
# end of PCS device drivers
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
CONFIG_USB_NET_DRIVERS=y
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_RTL8152 is not set
# CONFIG_USB_LAN78XX is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_HSO is not set
# CONFIG_USB_IPHETH is not set
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
# CONFIG_ADM8211 is not set
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH5K_PCI is not set
# CONFIG_ATH9K is not set
# CONFIG_ATH9K_HTC is not set
# CONFIG_CARL9170 is not set
# CONFIG_ATH6KL is not set
# CONFIG_AR5523 is not set
# CONFIG_WIL6210 is not set
# CONFIG_ATH10K is not set
# CONFIG_WCN36XX is not set
# CONFIG_ATH11K is not set
# CONFIG_ATH12K is not set
CONFIG_WLAN_VENDOR_ATMEL=y
# CONFIG_AT76C50X_USB is not set
CONFIG_WLAN_VENDOR_BROADCOM=y
# CONFIG_B43 is not set
# CONFIG_B43LEGACY is not set
# CONFIG_BRCMSMAC is not set
# CONFIG_BRCMFMAC is not set
CONFIG_WLAN_VENDOR_INTEL=y
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
# CONFIG_IWL4965 is not set
# CONFIG_IWL3945 is not set
# CONFIG_IWLWIFI is not set
CONFIG_WLAN_VENDOR_INTERSIL=y
# CONFIG_P54_COMMON is not set
CONFIG_WLAN_VENDOR_MARVELL=y
# CONFIG_LIBERTAS is not set
# CONFIG_LIBERTAS_THINFIRM is not set
# CONFIG_MWIFIEX is not set
# CONFIG_MWL8K is not set
CONFIG_WLAN_VENDOR_MEDIATEK=y
# CONFIG_MT7601U is not set
# CONFIG_MT76x0U is not set
# CONFIG_MT76x0E is not set
# CONFIG_MT76x2E is not set
# CONFIG_MT76x2U is not set
# CONFIG_MT7603E is not set
# CONFIG_MT7615E is not set
# CONFIG_MT7663U is not set
# CONFIG_MT7915E is not set
# CONFIG_MT7921E is not set
# CONFIG_MT7921U is not set
# CONFIG_MT7996E is not set
# CONFIG_MT7925E is not set
# CONFIG_MT7925U is not set
CONFIG_WLAN_VENDOR_MICROCHIP=y
CONFIG_WLAN_VENDOR_PURELIFI=y
# CONFIG_PLFXLC is not set
CONFIG_WLAN_VENDOR_RALINK=y
# CONFIG_RT2X00 is not set
CONFIG_WLAN_VENDOR_REALTEK=y
# CONFIG_RTL8180 is not set
# CONFIG_RTL8187 is not set
CONFIG_RTL_CARDS=y
# CONFIG_RTL8192CE is not set
# CONFIG_RTL8192SE is not set
# CONFIG_RTL8192DE is not set
# CONFIG_RTL8723AE is not set
# CONFIG_RTL8723BE is not set
# CONFIG_RTL8188EE is not set
# CONFIG_RTL8192EE is not set
# CONFIG_RTL8821AE is not set
# CONFIG_RTL8192CU is not set
# CONFIG_RTL8192DU is not set
# CONFIG_RTL8XXXU is not set
# CONFIG_RTW88 is not set
# CONFIG_RTW89 is not set
CONFIG_WLAN_VENDOR_RSI=y
# CONFIG_RSI_91X is not set
CONFIG_WLAN_VENDOR_SILABS=y
CONFIG_WLAN_VENDOR_ST=y
# CONFIG_CW1200 is not set
CONFIG_WLAN_VENDOR_TI=y
# CONFIG_WL1251 is not set
# CONFIG_WL12XX is not set
# CONFIG_WL18XX is not set
# CONFIG_WLCORE is not set
CONFIG_WLAN_VENDOR_ZYDAS=y
# CONFIG_ZD1211RW is not set
CONFIG_WLAN_VENDOR_QUANTENNA=y
# CONFIG_QTNFMAC_PCIE is not set
# CONFIG_MAC80211_HWSIM is not set
# CONFIG_VIRT_WIFI is not set
# CONFIG_WAN is not set
#
# Wireless WAN
#
# CONFIG_WWAN is not set
# end of Wireless WAN
# CONFIG_VMXNET3 is not set
# CONFIG_FUJITSU_ES is not set
# CONFIG_NETDEVSIM is not set
CONFIG_NET_FAILOVER=y
#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_SPARSEKMAP=y
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_VIVALDIFMAP=y
#
# Userland interfaces
#
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1050 is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CYPRESS_SF is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2_SMBUS=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_CYAPA is not set
# CONFIG_MOUSE_ELAN_I2C is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
# CONFIG_MOUSE_SYNAPTICS_USB is not set
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_ZHENHUA is not set
# CONFIG_JOYSTICK_AS5011 is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
# CONFIG_JOYSTICK_XPAD is not set
# CONFIG_JOYSTICK_PXRC is not set
# CONFIG_JOYSTICK_QWIIC is not set
# CONFIG_JOYSTICK_FSIA6B is not set
# CONFIG_JOYSTICK_SENSEHAT is not set
# CONFIG_JOYSTICK_SEESAW is not set
CONFIG_INPUT_TABLET=y
# CONFIG_TABLET_USB_ACECAD is not set
# CONFIG_TABLET_USB_AIPTEK is not set
# CONFIG_TABLET_USB_HANWANG is not set
# CONFIG_TABLET_USB_KBTAB is not set
# CONFIG_TABLET_USB_PEGASUS is not set
# CONFIG_TABLET_SERIAL_WACOM4 is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_BU21029 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set
# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP5 is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
# CONFIG_TOUCHSCREEN_EXC3000 is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_I2C is not set
# CONFIG_TOUCHSCREEN_HIDEEP is not set
# CONFIG_TOUCHSCREEN_HIMAX_HX852X is not set
# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
# CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set
# CONFIG_TOUCHSCREEN_HYNITRON_CST816X is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
# CONFIG_TOUCHSCREEN_ILITEK is not set
# CONFIG_TOUCHSCREEN_S6SY761 is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_EKTF2127 is not set
# CONFIG_TOUCHSCREEN_ELAN is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MMS114 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
# CONFIG_TOUCHSCREEN_IMAGIS is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_PIXCIR is not set
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
# CONFIG_TOUCHSCREEN_TSC2004 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_SILEAD is not set
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_STMFTS is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_TOUCHSCREEN_ZET6223 is not set
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_ZINITIX is not set
# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_AW86927 is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_E3X0_BUTTON is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_APANEL is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_KXTJ9 is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_UINPUT is not set
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_DA7280_HAPTICS is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_IMS_PCU is not set
# CONFIG_INPUT_IQS269A is not set
# CONFIG_INPUT_IQS626A is not set
# CONFIG_INPUT_IQS7222 is not set
# CONFIG_INPUT_CMA3000 is not set
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
# CONFIG_RMI4_CORE is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_USERIO is not set
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support
#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_LEGACY_TIOCSTI=y
CONFIG_LDISC_AUTOLOAD=y
#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCILIB=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_EXAR=y
# CONFIG_SERIAL_8250_CS is not set
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_PCI1XXXX is not set
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_PERICOM=y
# CONFIG_SERIAL_8250_NI is not set
CONFIG_SERIAL_8250_DWLIB=y
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# end of Serial drivers
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_N_HDLC is not set
# CONFIG_IPWIRELESS is not set
# CONFIG_N_GSM is not set
# CONFIG_NOZOMI is not set
# CONFIG_NULL_TTY is not set
CONFIG_HVC_DRIVER=y
# CONFIG_SERIAL_DEV_BUS is not set
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_HW_RANDOM_INTEL is not set
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_BA431 is not set
CONFIG_HW_RANDOM_VIA=y
# CONFIG_HW_RANDOM_VIRTIO is not set
# CONFIG_HW_RANDOM_XIPHERA is not set
CONFIG_DEVMEM=y
CONFIG_NVRAM=y
CONFIG_DEVPORT=y
CONFIG_HPET=y
# CONFIG_HPET_MMAP is not set
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYUSB is not set
# end of Character devices
#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_CHARDEV is not set
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=y
CONFIG_I2C_ALGOBIT=y
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_I801=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_ISMT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_ZHAOXIN is not set
#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_DESIGNWARE_CORE is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_CP2615 is not set
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_MLXCPLD is not set
# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_SLAVE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support
# CONFIG_I3C is not set
CONFIG_I3C_OR_I2C=y
# CONFIG_SPI is not set
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set
#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_GPIO is not set
# CONFIG_PPS_GENERATOR is not set
#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y
#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PTP_1588_CLOCK_KVM=y
CONFIG_PTP_1588_CLOCK_VMCLOCK=y
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_FC3W is not set
# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# CONFIG_PTP_NETC_V4_TIMER is not set
# end of PTP clock support
#
# DPLL device support
#
# CONFIG_ZL3073X_I2C is not set
# end of DPLL device support
# CONFIG_PINCTRL is not set
CONFIG_GPIOLIB_LEGACY=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
CONFIG_POWER_SEQUENCING=y
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
# CONFIG_IP5XXX_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CHAGALL is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SAMSUNG_SDI is not set
# CONFIG_BATTERY_S2MU005 is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_BATTERY_MAX1720X is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_MAX77976 is not set
# CONFIG_CHARGER_MAX8971 is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_RT9756 is not set
# CONFIG_CHARGER_BD99954 is not set
# CONFIG_BATTERY_UG3105 is not set
# CONFIG_FUEL_GAUGE_MM8013 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM1177 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_AHT10 is not set
# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
# CONFIG_SENSORS_AS370 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_ASUS_ROG_RYUJIN is not set
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_SENSORS_ARCTIC_FAN_CONTROLLER is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_CHIPCAP2 is not set
# CONFIG_SENSORS_CORSAIR_CPRO is not set
# CONFIG_SENSORS_CORSAIR_PSU is not set
# CONFIG_SENSORS_DRIVETEMP is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_DELL_SMM is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_FTSTEUTATES is not set
# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_GPD is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_HTU31 is not set
# CONFIG_SENSORS_I5500 is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_ISL28022 is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_POWERZ is not set
# CONFIG_SENSORS_POWR1220 is not set
# CONFIG_SENSORS_PROM21_XHCI is not set
# CONFIG_SENSORS_LATTEPANDA_SIGMA_EC is not set
# CONFIG_SENSORS_LENOVO_EC is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2947_I2C is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC2991 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4222 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4260 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LTC4282 is not set
# CONFIG_SENSORS_LTC4283 is not set
# CONFIG_SENSORS_MAX127 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31760 is not set
# CONFIG_MAX31827 is not set
# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
# CONFIG_SENSORS_MC34VR500 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_MCP9982 is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_TPS23861 is not set
# CONFIG_SENSORS_MR75203 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_NCT6683 is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_NCT6775_I2C is not set
# CONFIG_SENSORS_NCT7363 is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_NPCM7XX is not set
# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
# CONFIG_SENSORS_NZXT_KRAKEN3 is not set
# CONFIG_SENSORS_NZXT_SMART2 is not set
# CONFIG_SENSORS_OCC_P8_I2C is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_PT5161L is not set
# CONFIG_SENSORS_SBTSI is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHT4x is not set
# CONFIG_SENSORS_SHTC1 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC1812 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC2305 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_ADC128D818 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA238 is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_SPD5118 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_TMP464 is not set
# CONFIG_SENSORS_TMP513 is not set
# CONFIG_SENSORS_TSC1641 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83773G is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_XGENE is not set
# CONFIG_SENSORS_YOGAFAN is not set
#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
# CONFIG_SENSORS_ATK0110 is not set
# CONFIG_SENSORS_ASUS_WMI is not set
# CONFIG_SENSORS_ASUS_EC is not set
# CONFIG_SENSORS_HP_WMI is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_DEBUGFS is not set
# CONFIG_THERMAL_CORE_TESTING is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
# CONFIG_THERMAL_GOV_USER_SPACE is not set
# CONFIG_PCIE_THERMAL is not set
# CONFIG_THERMAL_EMULATION is not set
#
# Intel thermal drivers
#
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_INTEL_TCC=y
CONFIG_X86_PKG_TEMP_THERMAL=m
# CONFIG_INTEL_SOC_DTS_THERMAL is not set
#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
# end of ACPI INT340X thermal drivers
# CONFIG_INTEL_PCH_THERMAL is not set
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_CORE is not set
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
# CONFIG_WATCHDOG_SYSFS is not set
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
#
# Watchdog Pretimeout Governors
#
#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_LENOVO_SE10_WDT is not set
# CONFIG_LENOVO_SE30_WDT is not set
# CONFIG_WDAT_WDT is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADVANTECH_EC_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_EBC_C384_WDT is not set
# CONFIG_EXAR_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_INTEL_OC_WATCHDOG is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_TQMX86_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
# CONFIG_INTEL_MEI_WDT is not set
# CONFIG_NI903X_WDT is not set
# CONFIG_NIC7018_WDT is not set
#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y
# CONFIG_BCMA is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_SMPRO is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_CGBC is not set
# CONFIG_MFD_CS40L50_I2C is not set
# CONFIG_MFD_CS42L43_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_LPC_ICH is not set
# CONFIG_LPC_SCH is not set
# CONFIG_MFD_INTEL_LPSS_ACPI is not set
# CONFIG_MFD_INTEL_LPSS_PCI is not set
# CONFIG_MFD_INTEL_PMC_BXT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX5970 is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77705 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6370 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_NCT6694 is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RT5120 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_BQ257XX is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS6594_I2C is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_UPBOARD_FPGA is not set
# CONFIG_MFD_MAX7360 is not set
# end of Multifunction device drivers
# CONFIG_REGULATOR is not set
# CONFIG_RC_CORE is not set
#
# CEC support
#
# CONFIG_MEDIA_CEC_SUPPORT is not set
# end of CEC support
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
CONFIG_APERTURE_HELPERS=y
CONFIG_SCREEN_INFO=y
CONFIG_VIDEO=y
# CONFIG_AUXDISPLAY is not set
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
CONFIG_INTEL_GTT=y
CONFIG_GPU_BUDDY=y
CONFIG_DRM=y
#
# DRM debugging options
#
# CONFIG_DRM_DEBUG_MM is not set
# end of DRM debugging options
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_KMS_HELPER=y
# CONFIG_DRM_PANIC is not set
# CONFIG_DRM_RAS is not set
CONFIG_DRM_CLIENT_SELECTION=y
#
# Supported DRM clients
#
# CONFIG_DRM_FBDEV_EMULATION is not set
# CONFIG_DRM_CLIENT_LOG is not set
# end of Supported DRM clients
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_DISPLAY_HELPER=y
# CONFIG_DRM_DISPLAY_DP_AUX_CEC is not set
# CONFIG_DRM_DISPLAY_DP_AUX_CHARDEV is not set
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_DSC_HELPER=y
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_TTM=y
CONFIG_DRM_BUDDY=y
CONFIG_DRM_GEM_SHMEM_HELPER=y
# CONFIG_DRM_AMDGPU is not set
#
# ARM devices
#
# end of ARM devices
# CONFIG_DRM_AST is not set
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y
#
# Display Interface Bridges
#
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# end of Display Interface Bridges
# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_GMA500 is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_HISI_HIBMC is not set
CONFIG_DRM_I915=y
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
CONFIG_DRM_I915_STOP_TIMEOUT=100
CONFIG_DRM_I915_TIMESLICE_DURATION=1
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_PANEL=y
#
# Display Panels
#
# CONFIG_DRM_PANEL_FOCALTECH_OTA7290B is not set
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# end of Display Panels
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_ST7571 is not set
# CONFIG_DRM_SSD130X is not set
#
# Drivers for system framebuffers
#
# CONFIG_DRM_EFIDRM is not set
# CONFIG_DRM_SIMPLEDRM is not set
# CONFIG_DRM_VESADRM is not set
# end of Drivers for system framebuffers
# CONFIG_DRM_APPLETBDRM is not set
# CONFIG_DRM_BOCHS is not set
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_VGEM is not set
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_VIRTIO_GPU_KMS=y
# CONFIG_DRM_VKMS is not set
# CONFIG_DRM_VMWGFX is not set
# CONFIG_DRM_XE is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
#
# Frame buffer Devices
#
# CONFIG_FB is not set
# end of Frame buffer Devices
#
# Backlight & LCD device support
#
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_AW99706 is not set
# CONFIG_BACKLIGHT_KTZ8866 is not set
# CONFIG_BACKLIGHT_MAX25014 is not set
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3509 is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
# end of Backlight & LCD device support
CONFIG_HDMI=y
# CONFIG_FIRMWARE_EDID is not set
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
# end of Console display driver support
# CONFIG_TRACE_GPU_MEM is not set
# end of Graphics support
# CONFIG_DRM_ACCEL is not set
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_SEQ_DEVICE=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
# CONFIG_SND_OSSEMUL is not set
CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=y
# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_CTL_FAST_LOOKUP=y
# CONFIG_SND_DEBUG is not set
# CONFIG_SND_CTL_INPUT_VALIDATION is not set
# CONFIG_SND_UTIMER is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
# CONFIG_SND_SEQ_UMP is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_ALOOP is not set
# CONFIG_SND_PCMTEST is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SE6X is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
#
# HD-Audio
#
CONFIG_SND_HDA=y
CONFIG_SND_HDA_HWDEP=y
# CONFIG_SND_HDA_RECONFIG is not set
# CONFIG_SND_HDA_INPUT_BEEP is not set
# CONFIG_SND_HDA_PATCH_LOADER is not set
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
# CONFIG_SND_HDA_CTL_DEV_ID is not set
CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_INTEL=y
# CONFIG_SND_HDA_ACPI is not set
# CONFIG_SND_HDA_CODEC_ANALOG is not set
# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
# CONFIG_SND_HDA_CODEC_VIA is not set
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
# CONFIG_SND_HDA_CODEC_SENARYTECH is not set
# CONFIG_SND_HDA_CODEC_CA0110 is not set
# CONFIG_SND_HDA_CODEC_CA0132 is not set
# CONFIG_SND_HDA_CODEC_CMEDIA is not set
# CONFIG_SND_HDA_CODEC_CM9825 is not set
# CONFIG_SND_HDA_CODEC_SI3054 is not set
# CONFIG_SND_HDA_GENERIC is not set
# CONFIG_SND_HDA_CODEC_REALTEK is not set
# CONFIG_SND_HDA_CODEC_CIRRUS is not set
# CONFIG_SND_HDA_CODEC_HDMI is not set
CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=y
CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
# end of HD-Audio
CONFIG_SND_USB=y
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_UA101 is not set
# CONFIG_SND_USB_USX2Y is not set
# CONFIG_SND_USB_CAIAQ is not set
# CONFIG_SND_USB_US122L is not set
# CONFIG_SND_USB_US144MKII is not set
# CONFIG_SND_USB_6FIRE is not set
# CONFIG_SND_USB_HIFACE is not set
# CONFIG_SND_BCD2000 is not set
# CONFIG_SND_USB_POD is not set
# CONFIG_SND_USB_PODHD is not set
# CONFIG_SND_USB_TONEPORT is not set
# CONFIG_SND_USB_VARIAX is not set
CONFIG_SND_PCMCIA=y
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_PDAUDIOCF is not set
# CONFIG_SND_SOC is not set
CONFIG_SND_X86=y
# CONFIG_HDMI_LPE_AUDIO is not set
# CONFIG_SND_VIRTIO is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_BATTERY_STRENGTH is not set
CONFIG_HIDRAW=y
# CONFIG_UHID is not set
CONFIG_HID_GENERIC=y
# CONFIG_HID_HAPTIC is not set
#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
# CONFIG_HID_ACCUTOUCH is not set
# CONFIG_HID_ACRUX is not set
CONFIG_HID_APPLE=y
# CONFIG_HID_APPLEIR is not set
# CONFIG_HID_APPLETB_BL is not set
# CONFIG_HID_APPLETB_KBD is not set
# CONFIG_HID_ASUS is not set
# CONFIG_HID_AUREAL is not set
CONFIG_HID_BELKIN=y
# CONFIG_HID_BETOP_FF is not set
# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
# CONFIG_HID_CORSAIR is not set
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
# CONFIG_HID_PRODIKEYS is not set
# CONFIG_HID_CMEDIA is not set
# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=y
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELAN is not set
# CONFIG_HID_ELECOM is not set
# CONFIG_HID_ELO is not set
# CONFIG_HID_EVISION is not set
CONFIG_HID_EZKEY=y
# CONFIG_HID_FT260 is not set
# CONFIG_HID_GEMBIRD is not set
# CONFIG_HID_GFRM is not set
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_GOOGLE_STADIA_FF is not set
# CONFIG_HID_VIVALDI is not set
# CONFIG_HID_GT683R is not set
# CONFIG_HID_KEYTOUCH is not set
# CONFIG_HID_KYE is not set
# CONFIG_HID_KYSONA is not set
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
CONFIG_HID_GYRATION=y
# CONFIG_HID_ICADE is not set
CONFIG_HID_ITE=y
# CONFIG_HID_JABRA is not set
# CONFIG_HID_TWINHAN is not set
CONFIG_HID_KENSINGTON=y
# CONFIG_HID_LCPOWER is not set
# CONFIG_HID_LED is not set
# CONFIG_HID_LENOVO is not set
# CONFIG_HID_LETSKETCH is not set
# CONFIG_HID_MAGICMOUSE is not set
# CONFIG_HID_MALTRON is not set
# CONFIG_HID_MAYFLASH is not set
# CONFIG_HID_MEGAWORLD_FF is not set
# CONFIG_HID_RAKK is not set
CONFIG_HID_REDRAGON=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
# CONFIG_HID_MULTITOUCH is not set
# CONFIG_HID_NINTENDO is not set
# CONFIG_HID_NTI is not set
CONFIG_HID_NTRIG=y
# CONFIG_HID_ORTEK is not set
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
# CONFIG_HID_PENMOUNT is not set
CONFIG_HID_PETALYNX=y
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PLANTRONICS is not set
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAPOO is not set
# CONFIG_HID_RAZER is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_RETRODE is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
CONFIG_HID_SAMSUNG=y
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SIGMAMICRO is not set
CONFIG_HID_SONY=y
# CONFIG_SONY_FF is not set
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEAM is not set
# CONFIG_HID_STEELSERIES is not set
CONFIG_HID_SUNPLUS=y
# CONFIG_HID_RMI is not set
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TIVO is not set
CONFIG_HID_TOPSEED=y
# CONFIG_HID_TOPRE is not set
# CONFIG_HID_THINGM is not set
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_UDRAW_PS3 is not set
# CONFIG_HID_U2FZERO is not set
# CONFIG_HID_UNIVERSAL_PIDFF is not set
# CONFIG_HID_WACOM is not set
# CONFIG_HID_WIIMOTE is not set
# CONFIG_HID_WINWING is not set
# CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
# CONFIG_HID_SENSOR_HUB is not set
# CONFIG_HID_ALPS is not set
# CONFIG_HID_MCP2221 is not set
# CONFIG_HID_HUAWEI is not set
# end of Special HID drivers
#
# HID-BPF support
#
# end of HID-BPF support
CONFIG_I2C_HID=y
# CONFIG_I2C_HID_ACPI is not set
# CONFIG_I2C_HID_OF is not set
#
# Intel ISH HID support
#
# CONFIG_INTEL_ISH_HID is not set
# end of Intel ISH HID support
#
# AMD SFH HID Support
#
# CONFIG_AMD_SFH_HID is not set
# end of AMD SFH HID Support
#
# Intel THC HID Support
#
# CONFIG_INTEL_THC_HID is not set
# end of Intel THC HID Support
#
# USB HID support
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
# end of USB HID support
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
# CONFIG_USB_LED_TRIG is not set
# CONFIG_USB_ULPI_BUS is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_PCI_AMD=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_FEW_INIT_RETRIES is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1
CONFIG_USB_MON=y
#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_DBGCAP is not set
CONFIG_USB_XHCI_PCI=y
# CONFIG_USB_XHCI_PCI_RENESAS is not set
# CONFIG_USB_XHCI_PLATFORM is not set
# CONFIG_USB_XHCI_SIDEBAND is not set
CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
# CONFIG_USB_EHCI_FSL is not set
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HCD_TEST_MODE is not set
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=y
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
# CONFIG_USB_UAS is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USBIP_CORE is not set
#
# USB dual-mode controller drivers
#
# CONFIG_USB_CDNS_SUPPORT is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_CHIPIDEA is not set
# CONFIG_USB_ISP1760 is not set
#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_APPLE_MFI_FASTCHARGE is not set
# CONFIG_USB_LJCA is not set
# CONFIG_USB_USBIO is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_EHSET_TEST_FIXTURE is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
# CONFIG_USB_CHAOSKEY is not set
#
# USB Physical Layer drivers
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_USB_ISP1301 is not set
# end of USB Physical Layer drivers
# CONFIG_USB_GADGET is not set
# CONFIG_TYPEC is not set
# CONFIG_USB_ROLE_SWITCH is not set
# CONFIG_MMC is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
# CONFIG_LEDS_CLASS_MULTICOLOR is not set
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
#
# LED drivers
#
# CONFIG_LEDS_APU is not set
# CONFIG_LEDS_OSRAM_AMS_AS3668 is not set
# CONFIG_LEDS_AW200XX is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3532 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_BD2606MVV is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL319X is not set
#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_MLXCPLD is not set
# CONFIG_LEDS_MLXREG is not set
# CONFIG_LEDS_USER is not set
# CONFIG_LEDS_NIC78BX is not set
#
# Flash and Torch LED drivers
#
#
# RGB LED drivers
#
#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
# CONFIG_LEDS_TRIGGER_TIMER is not set
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
# CONFIG_LEDS_TRIGGER_DISK is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_CPU is not set
# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_LEDS_TRIGGER_NETDEV is not set
# CONFIG_LEDS_TRIGGER_PATTERN is not set
# CONFIG_LEDS_TRIGGER_TTY is not set
# CONFIG_LEDS_TRIGGER_INPUT_EVENTS is not set
#
# Simatic LED drivers
#
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
CONFIG_RTC_NVMEM=y
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8111 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD2405AL is not set
# CONFIG_RTC_DRV_SD3078 is not set
#
# SPI RTC drivers
#
CONFIG_RTC_I2C_AND_SPI=y
#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
# CONFIG_RTC_DRV_RX6110 is not set
#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_GOLDFISH is not set
#
# HID Sensor RTC drivers
#
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set
#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
# CONFIG_ALTERA_MSGDMA is not set
# CONFIG_INTEL_IDMA64 is not set
# CONFIG_INTEL_IDXD is not set
# CONFIG_INTEL_IDXD_COMPAT is not set
# CONFIG_INTEL_IOATDMA is not set
# CONFIG_PLX_DMA is not set
# CONFIG_SWITCHTEC_DMA is not set
# CONFIG_XILINX_DMA is not set
# CONFIG_XILINX_XDMA is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMD_QDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
CONFIG_DW_DMAC_CORE=y
# CONFIG_DW_DMAC is not set
# CONFIG_DW_DMAC_PCI is not set
# CONFIG_DW_EDMA is not set
CONFIG_HSU_DMA=y
# CONFIG_SF_PDMA is not set
# CONFIG_INTEL_LDMA is not set
#
# DMA Clients
#
# CONFIG_ASYNC_TX_DMA is not set
# CONFIG_DMATEST is not set
#
# DMABUF options
#
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
# CONFIG_UDMABUF is not set
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_HEAPS is not set
# end of DMABUF options
# CONFIG_UIO is not set
# CONFIG_VFIO is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
CONFIG_VIRTIO_PCI_LEGACY=y
# CONFIG_VIRTIO_BALLOON is not set
CONFIG_VIRTIO_INPUT=y
# CONFIG_VIRTIO_MMIO is not set
CONFIG_VIRTIO_DMA_SHARED_BUFFER=y
# CONFIG_VIRTIO_DEBUG is not set
# CONFIG_VIRTIO_RTC is not set
# CONFIG_VDPA is not set
CONFIG_VHOST_MENU=y
# CONFIG_VHOST_NET is not set
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y
#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
# end of Microsoft Hyper-V guest support
# CONFIG_GREYBUS is not set
# CONFIG_COMEDI is not set
# CONFIG_GPIB is not set
# CONFIG_STAGING is not set
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_SURFACE_PLATFORMS=y
# CONFIG_SURFACE_3_POWER_OPREGION is not set
# CONFIG_SURFACE_GPE is not set
# CONFIG_SURFACE_PRO3_BUTTON is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_WMI_BMOF=y
# CONFIG_HUAWEI_WMI is not set
# CONFIG_X86_PLATFORM_DRIVERS_UNIWILL is not set
# CONFIG_MXM_WMI is not set
# CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_REDMI_WMI is not set
# CONFIG_GIGABYTE_WMI is not set
# CONFIG_BITLAND_MIFS_WMI is not set
# CONFIG_ACERHDF is not set
# CONFIG_ACER_WIRELESS is not set
# CONFIG_ACER_WMI is not set
#
# AMD HSMP Driver
#
# CONFIG_AMD_HSMP_ACPI is not set
# CONFIG_AMD_HSMP_PLAT is not set
# end of AMD HSMP Driver
# CONFIG_AMD_PMC is not set
# CONFIG_AMD_HFI is not set
# CONFIG_AMD_3D_VCACHE is not set
# CONFIG_AMD_WBRF is not set
# CONFIG_AMD_ISP_PLATFORM is not set
# CONFIG_ADV_SWBUTTON is not set
# CONFIG_APPLE_GMUX is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_ASUS_WIRELESS is not set
# CONFIG_ASUS_WMI is not set
# CONFIG_AYANEO_EC is not set
CONFIG_EEEPC_LAPTOP=y
# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_GPD_POCKET_FAN is not set
# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
# CONFIG_INTEL_IFS is not set
# CONFIG_INTEL_SAR_INT1092 is not set
#
# Intel Speed Select Technology interface support
#
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
# end of Intel Speed Select Technology interface support
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
# CONFIG_INTEL_WMI_THUNDERBOLT is not set
#
# Intel Uncore Frequency Control
#
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# end of Intel Uncore Frequency Control
# CONFIG_INTEL_HID_EVENT is not set
# CONFIG_INTEL_VBTN is not set
# CONFIG_INTEL_EHL_PSE_IO is not set
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_INTEL_PUNIT_IPC is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_INTEL_TURBO_MAX_3 is not set
# CONFIG_INTEL_VSEC is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_LENOVO_WMI_HOTKEY_UTILITIES is not set
# CONFIG_LENOVO_WMI_CAMERA is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_THINKPAD_LMI is not set
# CONFIG_YOGABOOK is not set
# CONFIG_LENOVO_WMI_GAMEZONE is not set
# CONFIG_LENOVO_WMI_TUNING is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_MSI_EC is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_MSI_WMI is not set
# CONFIG_MSI_WMI_PLATFORM is not set
# CONFIG_SAMSUNG_GALAXYBOOK is not set
# CONFIG_SAMSUNG_LAPTOP is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_LG_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_SYSTEM76_ACPI is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
# CONFIG_INSPUR_PLATFORM_PROFILE is not set
# CONFIG_DASHARO_ACPI is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
# CONFIG_SIEMENS_SIMATIC_IPC is not set
# CONFIG_WINMATE_FM07_KEYS is not set
# CONFIG_OXP_EC is not set
# CONFIG_TUXEDO_NB04_WMI_AB is not set
CONFIG_P2SB=y
CONFIG_ACPI_WMI=y
# CONFIG_ACPI_WMI_LEGACY_DEVICE_NAMES is not set
# CONFIG_COMMON_CLK is not set
# CONFIG_HWSPINLOCK is not set
#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# end of Clock Source drivers
CONFIG_MAILBOX=y
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
#
# Generic IOMMU Pagetable Support
#
# end of Generic IOMMU Pagetable Support
# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
CONFIG_IOMMU_IOPF=y
CONFIG_AMD_IOMMU=y
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
# CONFIG_INTEL_IOMMU_SVM is not set
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_PERF_EVENTS=y
# CONFIG_IOMMUFD is not set
# CONFIG_IRQ_REMAP is not set
# CONFIG_VIRTIO_IOMMU is not set
CONFIG_GENERIC_PT=y
# CONFIG_DEBUG_GENERIC_PT is not set
CONFIG_IOMMU_PT=y
CONFIG_IOMMU_PT_AMDV1=y
CONFIG_IOMMU_PT_VTDSS=y
# CONFIG_IOMMU_PT_RISCV64 is not set
CONFIG_IOMMU_PT_X86_64=y
#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers
#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers
#
# SOC (System On Chip) specific Drivers
#
#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers
#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers
#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers
#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers
#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
# Enable LiteX SoC Builder specific drivers
#
# end of Enable LiteX SoC Builder specific drivers
# CONFIG_WPCM450_SOC is not set
#
# Qualcomm SoC drivers
#
# end of Qualcomm SoC drivers
# CONFIG_SOC_TI is not set
#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers
#
# PM Domains
#
#
# Amlogic PM Domains
#
# end of Amlogic PM Domains
#
# Broadcom PM Domains
#
# end of Broadcom PM Domains
#
# i.MX PM Domains
#
# end of i.MX PM Domains
#
# Qualcomm PM Domains
#
# end of Qualcomm PM Domains
# end of PM Domains
# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
# CONFIG_NTB is not set
# CONFIG_PWM is not set
#
# IRQ chip support
#
CONFIG_IRQ_MSI_LIB=y
# end of IRQ chip support
# CONFIG_IPACK_BUS is not set
# CONFIG_RESET_CONTROLLER is not set
#
# PHY Subsystem
#
# CONFIG_GENERIC_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set
# CONFIG_USB_LGM_PHY is not set
#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# end of PHY Subsystem
# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set
#
# Performance monitor support
#
# CONFIG_DWC_PCIE_PMU is not set
# end of Performance monitor support
# CONFIG_RAS is not set
# CONFIG_USB4 is not set
#
# Android
#
# CONFIG_ANDROID_BINDER_IPC is not set
# end of Android
# CONFIG_LIBNVDIMM is not set
# CONFIG_DAX is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
# CONFIG_NVMEM_LAYOUTS is not set
# CONFIG_NVMEM_RMEM is not set
#
# HW tracing support
#
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# end of HW tracing support
# CONFIG_FPGA is not set
# CONFIG_TEE is not set
# CONFIG_MUX_CORE is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
# CONFIG_COUNTER is not set
# CONFIG_MOST is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers
#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_VALIDATE_FS_PARSER is not set
CONFIG_FS_IOMAP=y
CONFIG_BUFFER_HEAD=y
CONFIG_LEGACY_DIRECT_IO=y
# CONFIG_EXT2_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_F2FS_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
# CONFIG_EXPORTFS_BLOCK_OPS is not set
CONFIG_FILE_LOCKING=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FS_VERITY is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
# CONFIG_FUSE_FS is not set
# CONFIG_OVERLAY_FS is not set
#
# Caches
#
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
# CONFIG_NETFS_DEBUG is not set
# CONFIG_FSCACHE is not set
# end of Caches
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
# CONFIG_UDF_FS is not set
# end of CD-ROM/DVD Filesystems
#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FAT_DEFAULT_UTF8 is not set
# CONFIG_EXFAT_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS3_FS is not set
# end of DOS/FAT/EXFAT/NT Filesystems
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
# CONFIG_PROC_CHILDREN is not set
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
# CONFIG_TMPFS_QUOTA is not set
CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
CONFIG_HUGETLBFS=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
CONFIG_EFIVAR_FS=m
# end of Pseudo filesystems
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ORANGEFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_PSTORE is not set
# CONFIG_UFS_FS is not set
# CONFIG_EROFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
# CONFIG_NFS_V2 is not set
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_0=y
# CONFIG_NFS_V4_2 is not set
CONFIG_PNFS_FILE_LAYOUT=y
CONFIG_PNFS_BLOCK=y
CONFIG_PNFS_FLEXFILE_LAYOUT=y
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFS_FSCACHE is not set
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
# CONFIG_NFSD is not set
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_CEPH_FS is not set
# CONFIG_CIFS is not set
# CONFIG_SMB_SERVER is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_9P_FS=y
# CONFIG_9P_FS_POSIX_ACL is not set
# CONFIG_9P_FS_SECURITY is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
# CONFIG_NLS_MAC_ICELAND is not set
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=y
# CONFIG_DLM is not set
# CONFIG_UNICODE is not set
CONFIG_IO_WQ=y
# end of File systems
#
# Security options
#
CONFIG_KEYS=y
# CONFIG_KEYS_REQUEST_CACHE is not set
# CONFIG_PERSISTENT_KEYRINGS is not set
# CONFIG_BIG_KEYS is not set
# CONFIG_TRUSTED_KEYS is not set
# CONFIG_ENCRYPTED_KEYS is not set
# CONFIG_KEY_DH_OPERATIONS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_PROC_MEM_ALWAYS_FORCE=y
# CONFIG_PROC_MEM_FORCE_PTRACE is not set
# CONFIG_PROC_MEM_NO_FORCE is not set
# CONFIG_MSEAL_SYSTEM_MAPPINGS is not set
CONFIG_SECURITY=y
CONFIG_HAS_SECURITY_AUDIT=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
# CONFIG_SECURITY_PATH is not set
# CONFIG_INTEL_TXT is not set
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
CONFIG_SECURITY_SELINUX_AVC_HASH_BITS=9
# CONFIG_SECURITY_SELINUX_DEBUG is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_LOADPIN is not set
# CONFIG_SECURITY_YAMA is not set
# CONFIG_SECURITY_SAFESETID is not set
# CONFIG_SECURITY_LOCKDOWN_LSM is not set
# CONFIG_SECURITY_LANDLOCK is not set
# CONFIG_SECURITY_IPE is not set
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
CONFIG_INTEGRITY_AUDIT=y
# CONFIG_IMA is not set
# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,selinux,smack,tomoyo,apparmor,ipe,bpf"
#
# Kernel hardening options
#
#
# Memory initialization
#
CONFIG_INIT_STACK_NONE=y
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# CONFIG_ZERO_CALL_USED_REGS is not set
# end of Memory initialization
#
# Bounds checking
#
# CONFIG_FORTIFY_SOURCE is not set
# CONFIG_HARDENED_USERCOPY is not set
# end of Bounds checking
#
# Hardening of kernel data structures
#
# CONFIG_LIST_HARDENED is not set
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
# end of Hardening of kernel data structures
CONFIG_RANDSTRUCT_NONE=y
# end of Kernel hardening options
# end of Security options
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_PCRYPT is not set
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_AUTHENC=y
CONFIG_CRYPTO_KRB5ENC=y
# CONFIG_CRYPTO_BENCHMARK is not set
# end of Crypto core or helper
#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
# CONFIG_CRYPTO_DH is not set
# CONFIG_CRYPTO_ECDH is not set
# CONFIG_CRYPTO_ECDSA is not set
# CONFIG_CRYPTO_ECRDSA is not set
# CONFIG_CRYPTO_MLDSA is not set
# end of Public-key cryptography
#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_ARIA is not set
# CONFIG_CRYPTO_BLOWFISH is not set
CONFIG_CRYPTO_CAMELLIA=y
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_SM4_GENERIC is not set
# CONFIG_CRYPTO_TWOFISH is not set
# end of Block ciphers
#
# Length-preserving ciphers and modes
#
# CONFIG_CRYPTO_ADIANTUM is not set
# CONFIG_CRYPTO_CHACHA20 is not set
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_HCTR2 is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_XTS is not set
# end of Length-preserving ciphers and modes
#
# AEAD (authenticated encryption with associated data) ciphers
#
# CONFIG_CRYPTO_AEGIS128 is not set
# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_GENIV=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=y
# CONFIG_CRYPTO_ESSIV is not set
# end of AEAD (authenticated encryption with associated data) ciphers
#
# Hashes, digests, and MACs
#
# CONFIG_CRYPTO_BLAKE2B is not set
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_RMD160 is not set
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
# CONFIG_CRYPTO_SM3 is not set
# CONFIG_CRYPTO_STREEBOG is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_XXHASH is not set
# end of Hashes, digests, and MACs
#
# CRCs (cyclic redundancy checks)
#
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_CRC32 is not set
# end of CRCs (cyclic redundancy checks)
#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
CONFIG_CRYPTO_LZ4=y
# CONFIG_CRYPTO_LZ4HC is not set
# CONFIG_CRYPTO_ZSTD is not set
# end of Compression
#
# Random number generation
#
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
CONFIG_CRYPTO_JITTERENTROPY_OSR=1
# end of Random number generation
#
# Userspace interface (deprecated)
#
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_USER_API_RNG is not set
# CONFIG_CRYPTO_USER_API_AEAD is not set
# end of Userspace interface (deprecated)
#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
# CONFIG_CRYPTO_AES_NI_INTEL is not set
# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set
# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
# CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set
# CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
# end of Accelerated Cryptographic Algorithms for CPU (x86)
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_PADLOCK is not set
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
# CONFIG_CRYPTO_DEV_CCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
# CONFIG_CRYPTO_DEV_QAT_C62X is not set
# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
# CONFIG_CRYPTO_DEV_QAT_420XX is not set
# CONFIG_CRYPTO_DEV_QAT_6XXX is not set
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
# CONFIG_CRYPTO_DEV_VIRTIO is not set
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
# CONFIG_FIPS_SIGNATURE_SELFTEST is not set
#
# Certificates for signature checking
#
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# end of Certificates for signature checking
CONFIG_CRYPTO_KRB5=y
# CONFIG_CRYPTO_KRB5_SELFTESTS is not set
CONFIG_BINARY_PRINTF=y
#
# Library routines
#
# CONFIG_PACKING is not set
CONFIG_BITREVERSE=y
CONFIG_GENERIC_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
# CONFIG_CORDIC is not set
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
CONFIG_CRC16=y
CONFIG_CRC_CCITT=y
CONFIG_CRC32=y
CONFIG_CRC32_ARCH=y
CONFIG_CRC_OPTIMIZATIONS=y
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_AES_ARCH=y
CONFIG_CRYPTO_LIB_AES_CBC_MACS=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_LIB_BLAKE2S_ARCH=y
CONFIG_CRYPTO_LIB_GF128HASH=y
CONFIG_CRYPTO_LIB_GF128HASH_ARCH=y
CONFIG_CRYPTO_LIB_MD5=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA1_ARCH=y
CONFIG_CRYPTO_LIB_SHA256=y
CONFIG_CRYPTO_LIB_SHA256_ARCH=y
CONFIG_CRYPTO_LIB_SHA512=y
CONFIG_CRYPTO_LIB_SHA512_ARCH=y
CONFIG_CRYPTO_LIB_SHA3=y
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_ARM64=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_RISCV=y
# CONFIG_XZ_DEC_MICROLZMA is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_INTERVAL_TREE=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS_HELPERS=y
CONFIG_NEED_SG_DMA_FLAGS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_DMA_NEED_SYNC=y
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
# CONFIG_IRQ_POLL is not set
CONFIG_MPILIB=y
CONFIG_DIMLIB=y
CONFIG_OID_REGISTRY=y
CONFIG_UCS2_STRING=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_OVERFLOW_PROTECT=y
CONFIG_VDSO_GETRANDOM=y
CONFIG_FONT_SUPPORT=y
CONFIG_FONT_8x16=y
CONFIG_FONT_AUTOSELECT=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_ALWAYS_INIT=y
CONFIG_STACKDEPOT_MAX_FRAMES=64
CONFIG_SBITMAP=y
# CONFIG_LWQ_TEST is not set
# end of Library routines
CONFIG_FIRMWARE_TABLE=y
CONFIG_UNION_FIND=y
#
# Kernel hacking
#
#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
# CONFIG_PRINTK_CALLER is not set
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DYNAMIC_DEBUG_CORE is not set
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_BUGVERBOSE_DETAILED is not set
# end of printk and dmesg options
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MISC=y
#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_ULEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
CONFIG_DEBUG_INFO_DWARF4=y
# CONFIG_DEBUG_INFO_DWARF5 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
# CONFIG_GDB_SCRIPTS is not set
CONFIG_FRAME_WARN=2048
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
# CONFIG_HEADERS_INSTALL is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
CONFIG_OBJTOOL=y
# CONFIG_OBJTOOL_WERROR is not set
CONFIG_NOINSTR_VALIDATION=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options
#
# Generic Kernel Debugging Instruments
#
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN=y
# CONFIG_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# end of Generic Kernel Debugging Instruments
#
# Networking Debugging
#
# CONFIG_NET_DEV_REFCNT_TRACKER is not set
# CONFIG_NET_NS_REFCNT_TRACKER is not set
# CONFIG_DEBUG_NET is not set
# CONFIG_DEBUG_NET_SMALL_RTNL is not set
# end of Networking Debugging
#
# Memory Debugging
#
# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
CONFIG_SLUB_RCU_DEBUG=y
# CONFIG_PAGE_OWNER is not set
# CONFIG_PAGE_TABLE_CHECK is not set
# CONFIG_PAGE_POISONING is not set
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
CONFIG_DEBUG_WX=y
CONFIG_ARCH_HAS_PTDUMP=y
CONFIG_PTDUMP=y
# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_PER_VMA_LOCK_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SHRINKER_DEBUG is not set
CONFIG_DEBUG_STACK_USAGE=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
# CONFIG_DEBUG_VFS is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VM_PGTABLE is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
# CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP is not set
# CONFIG_MEM_ALLOC_PROFILING is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y
# CONFIG_KASAN_OUTLINE is not set
CONFIG_KASAN_INLINE=y
CONFIG_KASAN_STACK=y
# CONFIG_KASAN_VMALLOC is not set
# CONFIG_KASAN_EXTRA_INFO is not set
CONFIG_HAVE_ARCH_KFENCE=y
# CONFIG_KFENCE is not set
CONFIG_HAVE_ARCH_KMSAN=y
# end of Memory Debugging
# CONFIG_DEBUG_SHIRQ is not set
#
# Debug Oops, Lockups and Hangs
#
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_TIMEOUT=0
# CONFIG_SOFTLOCKUP_DETECTOR is not set
CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
# CONFIG_HARDLOCKUP_DETECTOR is not set
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_WQ_WATCHDOG is not set
# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs
#
# Scheduler Debugging
#
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_ATOMIC is not set
#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_RWSEMS is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)
# CONFIG_NMI_CHECK_CPU is not set
# CONFIG_DEBUG_IRQFLAGS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
#
# Debug kernel data structures
#
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_PLIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_MAPLE_TREE is not set
# end of Debug kernel data structures
#
# RCU Debugging
#
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=21
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
CONFIG_RCU_TRACE=y
# CONFIG_RCU_EQS_DEBUG is not set
# end of RCU Debugging
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_DEBUG_CGROUP_REF is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_FTRACE_REGS_HAVING_PT_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_JMP=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_TRACEFS_AUTOMOUNT_DEPRECATED=y
# CONFIG_BOOTTIME_TRACING is not set
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_HWLAT_TRACER is not set
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_TRACER_SNAPSHOT is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENTS=y
CONFIG_UPROBE_EVENTS=y
CONFIG_EPROBE_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
# CONFIG_SYNTH_EVENTS is not set
# CONFIG_USER_EVENTS is not set
# CONFIG_HIST_TRIGGERS is not set
# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
# CONFIG_RING_BUFFER_PERSISTENT_INJECT is not set
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_RV is not set
# CONFIG_TRACE_REMOTE_TEST is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
# CONFIG_IO_STRICT_DEVMEM is not set
#
# x86 Debugging
#
CONFIG_EARLY_PRINTK_USB=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_DEBUG_TLBFLUSH is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_DEBUG_ENTRY=y
# CONFIG_DEBUG_NMI_SELFTEST is not set
CONFIG_X86_DEBUG_FPU=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging
#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FUNCTION_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_ARCH_HAS_KCOV=y
CONFIG_KCOV=y
CONFIG_KCOV_ENABLE_COMPARISONS=y
CONFIG_KCOV_INSTRUMENT_ALL=y
CONFIG_KCOV_IRQ_AREA_SIZE=0x40000
# CONFIG_KCOV_SELFTEST is not set
CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_DHRY is not set
# CONFIG_LKDTM is not set
# CONFIG_TEST_DIV64 is not set
# CONFIG_TEST_MULDIV64 is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_TEST_REF_TRACKER is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_REED_SOLOMON_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_XARRAY is not set
# CONFIG_TEST_MAPLE_TREE is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_BITOPS is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_WORKQUEUE is not set
# CONFIG_TEST_BPF is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_KALLSYMS is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
# CONFIG_TEST_OBJPOOL is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage
#
# Rust hacking
#
# end of Rust hacking
# end of Kernel hacking
CONFIG_IO_URING_ZCRX=y
CONFIG_IO_URING_BPF=y
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] netfilter: nft_fib: NULL-ptr-deref (GPF) in nft_fib6_eval on netdev egress hook
2026-06-24 19:04 [BUG] netfilter: nft_fib: NULL-ptr-deref (GPF) in nft_fib6_eval on netdev egress hook Theodor Arsenij Larionov-Trichkine
@ 2026-06-24 20:19 ` Florian Westphal
2026-06-24 22:23 ` Pablo Neira Ayuso
0 siblings, 1 reply; 4+ messages in thread
From: Florian Westphal @ 2026-06-24 20:19 UTC (permalink / raw)
To: Theodor Arsenij Larionov-Trichkine
Cc: Pablo Neira Ayuso, Phil Sutter, netfilter-devel, coreteam
Theodor Arsenij Larionov-Trichkine <theodorlarionov@gmail.com> wrote:
> A `fib' expression in a netdev `egress' base chain dereferences the input
> device nft_in(pkt), which is NULL on the transmit path, so any IPv6 packet
> leaving the chain's device hits a GPF / KASAN NULL-ptr-deref. An unprivileged
> user can set this up in a user+net namespace.
Please just send a patch to disable fib on egress.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] netfilter: nft_fib: NULL-ptr-deref (GPF) in nft_fib6_eval on netdev egress hook
2026-06-24 20:19 ` Florian Westphal
@ 2026-06-24 22:23 ` Pablo Neira Ayuso
2026-06-24 23:47 ` Florian Westphal
0 siblings, 1 reply; 4+ messages in thread
From: Pablo Neira Ayuso @ 2026-06-24 22:23 UTC (permalink / raw)
To: Florian Westphal
Cc: Theodor Arsenij Larionov-Trichkine, Phil Sutter, netfilter-devel,
coreteam
On Wed, Jun 24, 2026 at 10:19:23PM +0200, Florian Westphal wrote:
> Theodor Arsenij Larionov-Trichkine <theodorlarionov@gmail.com> wrote:
> > A `fib' expression in a netdev `egress' base chain dereferences the input
> > device nft_in(pkt), which is NULL on the transmit path, so any IPv6 packet
> > leaving the chain's device hits a GPF / KASAN NULL-ptr-deref. An unprivileged
> > user can set this up in a user+net namespace.
>
> Please just send a patch to disable fib on egress.
I'd suggest nft_fib_netdev needs a nft_fib_netdev_validate().
And nft_fib_validate() need to be restricted to NFPROTO_IPV4, _IPV6
and _INET from ctx->family PoV.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] netfilter: nft_fib: NULL-ptr-deref (GPF) in nft_fib6_eval on netdev egress hook
2026-06-24 22:23 ` Pablo Neira Ayuso
@ 2026-06-24 23:47 ` Florian Westphal
0 siblings, 0 replies; 4+ messages in thread
From: Florian Westphal @ 2026-06-24 23:47 UTC (permalink / raw)
To: Pablo Neira Ayuso
Cc: Theodor Arsenij Larionov-Trichkine, Phil Sutter, netfilter-devel,
coreteam
Pablo Neira Ayuso <pablo@netfilter.org> wrote:
> On Wed, Jun 24, 2026 at 10:19:23PM +0200, Florian Westphal wrote:
> > Theodor Arsenij Larionov-Trichkine <theodorlarionov@gmail.com> wrote:
> > > A `fib' expression in a netdev `egress' base chain dereferences the input
> > > device nft_in(pkt), which is NULL on the transmit path, so any IPv6 packet
> > > leaving the chain's device hits a GPF / KASAN NULL-ptr-deref. An unprivileged
> > > user can set this up in a user+net namespace.
> >
> > Please just send a patch to disable fib on egress.
>
> I'd suggest nft_fib_netdev needs a nft_fib_netdev_validate().
>
> And nft_fib_validate() need to be restricted to NFPROTO_IPV4, _IPV6
> and _INET from ctx->family PoV.
Makes sense. Theodor, would you make a patch?
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-06-24 23:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-24 19:04 [BUG] netfilter: nft_fib: NULL-ptr-deref (GPF) in nft_fib6_eval on netdev egress hook Theodor Arsenij Larionov-Trichkine
2026-06-24 20:19 ` Florian Westphal
2026-06-24 22:23 ` Pablo Neira Ayuso
2026-06-24 23:47 ` Florian Westphal
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.