#include <linux/module.h>
#include <linux/vermagic.h>
#include <linux/compiler.h>

MODULE_INFO(vermagic, VERMAGIC_STRING);
MODULE_INFO(name, KBUILD_MODNAME);

__visible struct module __this_module
__attribute__((section(".gnu.linkonce.this_module"))) = {
	.name = KBUILD_MODNAME,
	.init = init_module,
#ifdef CONFIG_MODULE_UNLOAD
	.exit = cleanup_module,
#endif
	.arch = MODULE_ARCH_INIT,
};

MODULE_INFO(intree, "Y");

#ifdef CONFIG_RETPOLINE
MODULE_INFO(retpoline, "Y");
#endif

static const struct modversion_info ____versions[]
__used
__attribute__((section("__versions"))) = {
	{ 0xad18a916, __VMLINUX_SYMBOL_STR(module_layout) },
	{ 0xe8c090cc, __VMLINUX_SYMBOL_STR(proc_dointvec_minmax) },
	{ 0xa125ebc2, __VMLINUX_SYMBOL_STR(skb_queue_head) },
	{ 0x846b5b5d, __VMLINUX_SYMBOL_STR(release_sock) },
	{ 0xa310a7de, __VMLINUX_SYMBOL_STR(kmalloc_caches) },
	{ 0x46bbc4ff, __VMLINUX_SYMBOL_STR(sock_init_data) },
	{ 0x672edad8, __VMLINUX_SYMBOL_STR(pv_lock_ops) },
	{ 0x5c2e3421, __VMLINUX_SYMBOL_STR(del_timer) },
	{ 0x754d539c, __VMLINUX_SYMBOL_STR(strlen) },
	{ 0xb9c63f05, __VMLINUX_SYMBOL_STR(from_kuid_munged) },
	{ 0xe5283ee3, __VMLINUX_SYMBOL_STR(seq_open) },
	{ 0xad73041f, __VMLINUX_SYMBOL_STR(autoremove_wake_function) },
	{ 0xbe093699, __VMLINUX_SYMBOL_STR(unregister_net_sysctl_table) },
	{ 0x71d566f5, __VMLINUX_SYMBOL_STR(send_sig) },
	{ 0x6a29411a, __VMLINUX_SYMBOL_STR(seq_puts) },
	{ 0xc7a4fbed, __VMLINUX_SYMBOL_STR(rtnl_lock) },
	{ 0xfc18b0b8, __VMLINUX_SYMBOL_STR(_raw_read_lock) },
	{ 0xa9e08275, __VMLINUX_SYMBOL_STR(_raw_spin_lock_bh) },
	{ 0x45c12d60, __VMLINUX_SYMBOL_STR(skb_clone) },
	{ 0xba6784e6, __VMLINUX_SYMBOL_STR(skb_copy) },
	{ 0x9294ce, __VMLINUX_SYMBOL_STR(seq_printf) },
	{ 0xd2da1048, __VMLINUX_SYMBOL_STR(register_netdevice_notifier) },
	{ 0x8bbb3fab, __VMLINUX_SYMBOL_STR(remove_proc_entry) },
	{ 0x5d8fa0dc, __VMLINUX_SYMBOL_STR(sock_queue_rcv_skb) },
	{ 0x6729d3df, __VMLINUX_SYMBOL_STR(__get_user_4) },
	{ 0x448eac3e, __VMLINUX_SYMBOL_STR(kmemdup) },
	{ 0x962cc6e3, __VMLINUX_SYMBOL_STR(skb_recv_datagram) },
	{ 0x75bda77a, __VMLINUX_SYMBOL_STR(seq_hlist_next) },
	{ 0x5ee52022, __VMLINUX_SYMBOL_STR(init_timer_key) },
	{ 0x99705e1f, __VMLINUX_SYMBOL_STR(skb_set_owner_w) },
	{ 0x4629334c, __VMLINUX_SYMBOL_STR(__preempt_count) },
	{ 0x1ca6c122, __VMLINUX_SYMBOL_STR(ex_handler_refcount) },
	{ 0x40901496, __VMLINUX_SYMBOL_STR(sock_i_ino) },
	{ 0xf9bac303, __VMLINUX_SYMBOL_STR(sock_rfree) },
	{ 0xc0555c53, __VMLINUX_SYMBOL_STR(skb_realloc_headroom) },
	{ 0xf35d2344, __VMLINUX_SYMBOL_STR(seq_read) },
	{ 0xb37b0910, __VMLINUX_SYMBOL_STR(jiffies) },
	{ 0x9d0d6206, __VMLINUX_SYMBOL_STR(unregister_netdevice_notifier) },
	{ 0x3b4011cf, __VMLINUX_SYMBOL_STR(netif_rx) },
	{ 0x6dc7b496, __VMLINUX_SYMBOL_STR(sock_no_sendpage) },
	{ 0xebb9cf0f, __VMLINUX_SYMBOL_STR(sock_get_timestamp) },
	{ 0xb277f3fc, __VMLINUX_SYMBOL_STR(sock_no_mmap) },
	{ 0xb44ad4b3, __VMLINUX_SYMBOL_STR(_copy_to_user) },
	{ 0x91286ad5, __VMLINUX_SYMBOL_STR(skb_dequeue_tail) },
	{ 0xfc982daa, __VMLINUX_SYMBOL_STR(del_timer_sync) },
	{ 0x221e3f26, __VMLINUX_SYMBOL_STR(skb_queue_purge) },
	{ 0xe6d884b1, __VMLINUX_SYMBOL_STR(sock_no_socketpair) },
	{ 0xd39d322b, __VMLINUX_SYMBOL_STR(sk_alloc) },
	{ 0xedf4369c, __VMLINUX_SYMBOL_STR(current_task) },
	{ 0xcd98257f, __VMLINUX_SYMBOL_STR(skb_copy_datagram_iter) },
	{ 0x27e1a049, __VMLINUX_SYMBOL_STR(printk) },
	{ 0x3c3fce39, __VMLINUX_SYMBOL_STR(__local_bh_enable_ip) },
	{ 0x9e260aa6, __VMLINUX_SYMBOL_STR(lock_sock_nested) },
	{ 0x3dfc897c, __VMLINUX_SYMBOL_STR(seq_hlist_start_head) },
	{ 0x543ef284, __VMLINUX_SYMBOL_STR(seq_hlist_start) },
	{ 0x5792f848, __VMLINUX_SYMBOL_STR(strlcpy) },
	{ 0x28416fb7, __VMLINUX_SYMBOL_STR(skb_push) },
	{ 0x3f3dd36, __VMLINUX_SYMBOL_STR(_raw_write_lock) },
	{ 0x202b5b22, __VMLINUX_SYMBOL_STR(sk_free) },
	{ 0x7d17f38c, __VMLINUX_SYMBOL_STR(dev_remove_pack) },
	{ 0xa38caae0, __VMLINUX_SYMBOL_STR(mod_timer) },
	{ 0xce8b1878, __VMLINUX_SYMBOL_STR(__x86_indirect_thunk_r14) },
	{ 0x62451f4, __VMLINUX_SYMBOL_STR(add_timer) },
	{ 0x3f0e9a93, __VMLINUX_SYMBOL_STR(skb_pull) },
	{ 0x77d2fedb, __VMLINUX_SYMBOL_STR(init_net) },
	{ 0xba64efbc, __VMLINUX_SYMBOL_STR(skb_queue_tail) },
	{ 0xc6cbbc89, __VMLINUX_SYMBOL_STR(capable) },
	{ 0x77448ecd, __VMLINUX_SYMBOL_STR(proto_register) },
	{ 0xb601be4c, __VMLINUX_SYMBOL_STR(__x86_indirect_thunk_rdx) },
	{ 0xb2fd5ceb, __VMLINUX_SYMBOL_STR(__put_user_4) },
	{ 0x1ac2e1c6, __VMLINUX_SYMBOL_STR(__alloc_skb) },
	{ 0xea33c441, __VMLINUX_SYMBOL_STR(make_kuid) },
	{ 0xe201c4e4, __VMLINUX_SYMBOL_STR(_raw_spin_unlock_bh) },
	{ 0x750e8e4b, __VMLINUX_SYMBOL_STR(sock_get_timestampns) },
	{ 0xdb7305a1, __VMLINUX_SYMBOL_STR(__stack_chk_fail) },
	{ 0x4acb97d7, __VMLINUX_SYMBOL_STR(datagram_poll) },
	{ 0x764dd012, __VMLINUX_SYMBOL_STR(sock_register) },
	{ 0x1000e51, __VMLINUX_SYMBOL_STR(schedule) },
	{ 0x4d3c29f1, __VMLINUX_SYMBOL_STR(kfree_skb) },
	{ 0x6d334118, __VMLINUX_SYMBOL_STR(__get_user_8) },
	{ 0xe88b19d7, __VMLINUX_SYMBOL_STR(proto_unregister) },
	{ 0x5a6aedb4, __VMLINUX_SYMBOL_STR(_copy_from_iter_full) },
	{ 0x2ea2c95c, __VMLINUX_SYMBOL_STR(__x86_indirect_thunk_rax) },
	{ 0xf4ae1858, __VMLINUX_SYMBOL_STR(sock_alloc_send_skb) },
	{ 0xbdfb6dbb, __VMLINUX_SYMBOL_STR(__fentry__) },
	{ 0x6dac297b, __VMLINUX_SYMBOL_STR(__dev_get_by_name) },
	{ 0x819b6e17, __VMLINUX_SYMBOL_STR(kmem_cache_alloc_trace) },
	{ 0x56321ae2, __VMLINUX_SYMBOL_STR(_raw_spin_lock) },
	{ 0x993abca1, __VMLINUX_SYMBOL_STR(_raw_write_unlock_bh) },
	{ 0xfd12a3f, __VMLINUX_SYMBOL_STR(seq_lseek) },
	{ 0x998db536, __VMLINUX_SYMBOL_STR(_raw_read_lock_bh) },
	{ 0x68335fbf, __VMLINUX_SYMBOL_STR(_raw_read_unlock_bh) },
	{ 0x37a0cba, __VMLINUX_SYMBOL_STR(kfree) },
	{ 0x69acdf38, __VMLINUX_SYMBOL_STR(memcpy) },
	{ 0xd77ae207, __VMLINUX_SYMBOL_STR(prepare_to_wait) },
	{ 0x62737e1d, __VMLINUX_SYMBOL_STR(sock_unregister) },
	{ 0x95adad59, __VMLINUX_SYMBOL_STR(_raw_write_lock_bh) },
	{ 0xd4fa5c30, __VMLINUX_SYMBOL_STR(finish_wait) },
	{ 0xa13a9a82, __VMLINUX_SYMBOL_STR(skb_dequeue) },
	{ 0x28318305, __VMLINUX_SYMBOL_STR(snprintf) },
	{ 0x25fb5c42, __VMLINUX_SYMBOL_STR(dev_add_pack) },
	{ 0x2de2ea0, __VMLINUX_SYMBOL_STR(seq_release) },
	{ 0xbb0abd8a, __VMLINUX_SYMBOL_STR(consume_skb) },
	{ 0xaa1c53fb, __VMLINUX_SYMBOL_STR(proc_create) },
	{ 0x7f02188f, __VMLINUX_SYMBOL_STR(__msecs_to_jiffies) },
	{ 0x35dd179, __VMLINUX_SYMBOL_STR(dev_queue_xmit) },
	{ 0x4b993189, __VMLINUX_SYMBOL_STR(register_net_sysctl) },
	{ 0x4fa921bc, __VMLINUX_SYMBOL_STR(skb_put) },
	{ 0x362ef408, __VMLINUX_SYMBOL_STR(_copy_from_user) },
	{ 0x6e720ff2, __VMLINUX_SYMBOL_STR(rtnl_unlock) },
	{ 0x7b66a891, __VMLINUX_SYMBOL_STR(skb_free_datagram) },
	{ 0xda10ec3, __VMLINUX_SYMBOL_STR(security_sock_graft) },
};

static const char __module_depends[]
__used
__attribute__((section(".modinfo"))) =
"depends=";

