lxip: update to 6.6.47

Now, we schedule before unblocking the rx_task. This is done in order to
execute a potentially ready ksoftirqd before unblocking the rx_task,
which in turn may execute soft-interrupt handlers through bottom half
code leading to double lock attempts of the socket spinlock.

Issue #5264
This commit is contained in:
Sebastian Sumpf 2024-06-28 10:30:24 +02:00 committed by Christian Helmuth
parent 92b34837cb
commit 2014046f77
22 changed files with 325 additions and 2256 deletions

View File

@ -19,6 +19,8 @@ SRC_C += dummies.c \
SRC_CC += genode_c_api/nic_client.cc
LD_OPT += --version-script=$(LXIP_DIR)/symbol.map
#
# Don't create jump slots for everything compiled in here since there are
# function calls from inline assembly (i.e., __sw_hweight64) with unaligned sp

View File

@ -497,6 +497,7 @@ include/linux/bpf-cgroup.h
include/linux/bpf-netns.h
include/linux/bpf.h
include/linux/bpf_local_storage.h
include/linux/bpf_mem_alloc.h
include/linux/bpf_trace.h
include/linux/bpf_verifier.h
include/linux/bpfilter.h
@ -647,7 +648,7 @@ include/linux/instrumentation.h
include/linux/instrumented.h
include/linux/interrupt.h
include/linux/io.h
include/linux/ioasid.h
include/linux/io_uring.h
include/linux/iocontext.h
include/linux/iopoll.h
include/linux/ioport.h
@ -754,6 +755,7 @@ include/linux/moduleparam.h
include/linux/mount.h
include/linux/mpls.h
include/linux/mroute.h
include/linux/mroute6.h
include/linux/mroute_base.h
include/linux/mutex.h
include/linux/mutex_api.h
@ -825,7 +827,9 @@ include/linux/perf_event.h
include/linux/perf_regs.h
include/linux/personality.h
include/linux/pfn.h
include/linux/phonet.h
include/linux/phy.h
include/linux/phylib_stubs.h
include/linux/phylink.h
include/linux/pid.h
include/linux/pid_namespace.h
@ -1083,6 +1087,7 @@ include/net/compat.h
include/net/devlink.h
include/net/dropreason.h
include/net/dsa.h
include/net/dsa_stubs.h
include/net/dsfield.h
include/net/dst.h
include/net/dst_cache.h
@ -1166,7 +1171,7 @@ include/net/netns/xfrm.h
include/net/netprio_cgroup.h
include/net/netrom.h
include/net/nexthop.h
include/net/page_pool.h
include/net/phonet/phonet.h
include/net/ping.h
include/net/pkt_cls.h
include/net/pkt_sched.h
@ -1317,6 +1322,7 @@ include/uapi/linux/in.h
include/uapi/linux/in6.h
include/uapi/linux/in_route.h
include/uapi/linux/inet_diag.h
include/uapi/linux/io_uring.h
include/uapi/linux/ioctl.h
include/uapi/linux/ioprio.h
include/uapi/linux/ip.h
@ -1345,6 +1351,7 @@ include/uapi/linux/mii.h
include/uapi/linux/mman.h
include/uapi/linux/mpls.h
include/uapi/linux/mroute.h
include/uapi/linux/mroute6.h
include/uapi/linux/neighbour.h
include/uapi/linux/net.h
include/uapi/linux/net_namespace.h
@ -1377,6 +1384,7 @@ include/uapi/linux/pci_regs.h
include/uapi/linux/perf_event.h
include/uapi/linux/personality.h
include/uapi/linux/pfkeyv2.h
include/uapi/linux/phonet.h
include/uapi/linux/pkt_cls.h
include/uapi/linux/pkt_sched.h
include/uapi/linux/poll.h

View File

@ -372,3 +372,14 @@ int send_sig(int sig,struct task_struct * p,int priv)
lx_emul_trace(__func__);
return -1;
}
#ifdef CONFIG_SWIOTLB
#include <linux/swiotlb.h>
bool is_swiotlb_allocated(void)
{
lx_emul_trace(__func__);
return false;
}
#endif

View File

@ -50,6 +50,12 @@ struct Main
void handle_nic_client()
{
/*
* Try to execute scheduler, in case ksoftirqd is pending, before unblocking
* the rx_task.
*/
Lx_kit::env().scheduler.execute();
lx_emul_task_unblock(lx_nic_client_rx_task());
Lx_kit::env().scheduler.execute();

View File

@ -26,6 +26,11 @@ int mmap_rnd_bits;
DEFINE_PER_CPU(unsigned long, cpu_scale);
/* mm/debug.c */
const struct trace_print_flags pagetype_names[] = {
{0, NULL}
};
#include <asm/pgtable.h>

View File

@ -15,3 +15,7 @@
#include <linux/init.h>
#include <linux/sched/debug.h>
/* kernel/sched/sched.h */
struct affinity_context;

View File

@ -385,9 +385,9 @@ static struct msghdr *_create_msghdr(struct genode_msghdr *msg, bool write)
/* iovec iterator */
msghdr->msg_iter.iter_type = ITER_IOVEC;
msghdr->msg_iter.data_source = write;
msghdr->msg_iter.data_source = !write;
msghdr->msg_iter.nr_segs = msg->iovlen;
msghdr->msg_iter.iov = (struct iovec *)msg->iov;
msghdr->msg_iter.__iov = (struct iovec *)msg->iov;
for (unsigned i = 0; i < msg->iovlen; i++)
total += msg->iov[i].size;
@ -404,7 +404,6 @@ sock_addr:
msghdr:
return NULL;
}

View File

@ -17,9 +17,10 @@
#include "lx_user.h"
struct task_struct *lx_user_new_task(int (*func)(void*), void *args)
struct task_struct *lx_user_new_task(int (*func)(void*), void *args,
char const *name)
{
int pid = kernel_thread(func, args, CLONE_FS | CLONE_FILES);
int pid = kernel_thread(func, args, name, CLONE_FS | CLONE_FILES);
return find_task_by_pid_ns(pid, NULL);
}
@ -62,6 +63,7 @@ void lx_user_configure_ip_stack(void)
void lx_user_init(void)
{
_socket_dispatch_root = lx_user_new_task(lx_socket_dispatch,
lx_socket_dispatch_queue());
lx_socket_dispatch_queue(),
"lx_socket_dispatch");
_startup_finished = 1;
}

View File

@ -26,8 +26,9 @@ void *lx_socket_dispatch_queue(void);
int lx_socket_dispatch(void *arg);
struct task_struct *lx_socket_dispatch_root(void);
struct task_struct *lx_user_new_task(int (*func)(void*), void *args);
void lx_user_destroy_task(struct task_struct *task);
struct task_struct *lx_user_new_task(int (*func)(void*), void *args,
char const *name);
void lx_user_destroy_task(struct task_struct *task);
#ifdef __cplusplus
}

View File

@ -192,7 +192,7 @@ static int __init virtio_net_driver_init(void)
}
/* create RX task */
pid = kernel_thread(rx_task_function, dev, CLONE_FS | CLONE_FILES);
pid = kernel_thread(rx_task_function, dev, "rx_task", CLONE_FS | CLONE_FILES);
nic_rx_task_struct_ptr = find_task_by_pid_ns(pid, NULL);

View File

@ -206,8 +206,10 @@ struct Lx_accept : Lx_call
}
err = lx_socket_accept(handle.sock, client.sock, &addr);
if (err)
if (err) {
lx_sock_release(client.sock);
client.sock = nullptr;
}
finished = true;
}
@ -399,6 +401,21 @@ struct Lx_release : Lx_call
};
struct Lx_sock_release : Lx_call
{
Lx_sock_release(genode_socket_handle &handle) : Lx_call(handle)
{
schedule();
}
void execute() override
{
lx_sock_release(handle.sock);
finished = true;
}
};
/*
* Dispatch socket calls in Linux task
*/
@ -443,7 +460,9 @@ static genode_socket_handle * _create_handle()
static void _destroy_handle(genode_socket_handle *handle)
{
if (handle->sock) lx_sock_release(handle->sock);
if (handle->sock) {
Lx_sock_release release { *handle };
}
destroy(Lx_kit::env().heap, handle);
}

View File

@ -1,7 +1,7 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2024-07-26
* \date 2024-07-30
*/
#include <lx_emul.h>
@ -28,13 +28,6 @@ void __bpf_prog_free(struct bpf_prog * fp)
}
extern void __check_vmalloc_seq(struct mm_struct * mm);
void __check_vmalloc_seq(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/clk-provider.h>
const char * __clk_get_name(const struct clk * clk)
@ -48,22 +41,6 @@ const char * __clk_get_name(const struct clk * clk)
struct cpumask __cpu_active_mask;
#include <linux/sched.h>
char * __get_task_comm(char * buf,size_t buf_size,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/ipv6.h>
int __ipv6_addr_type(const struct in6_addr * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/irqdomain.h>
struct irq_domain * __irq_domain_add(struct fwnode_handle * fwnode,unsigned int size,irq_hw_number_t hwirq_max,int direct_max,const struct irq_domain_ops * ops,void * host_data)
@ -80,22 +57,6 @@ struct irq_desc * __irq_resolve_mapping(struct irq_domain * domain,irq_hw_number
}
#include <linux/mm.h>
int __mm_populate(unsigned long start,unsigned long len,int ignore_errors)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
void __mmdrop(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <asm-generic/percpu.h>
unsigned long __per_cpu_offset[NR_CPUS] = {};
@ -157,14 +118,6 @@ void __sock_recv_timestamp(struct msghdr * msg,struct sock * sk,struct sk_buff *
}
#include <net/sock.h>
void __sock_recv_wifi_status(struct msghdr * msg,struct sock * sk,struct sk_buff * skb)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/sock.h>
void __sock_tx_timestamp(__u16 tsflags,__u8 * tx_flags)
@ -202,52 +155,6 @@ int _printk_deferred(const char * fmt,...)
atomic_long_t _totalram_pages;
#include <linux/mm.h>
int access_process_vm(struct task_struct * tsk,unsigned long addr,void * buf,int len,unsigned int gup_flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
unsigned long arch_get_unmapped_area(struct file * filp,unsigned long addr,unsigned long len,unsigned long pgoff,unsigned long flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
unsigned long arch_get_unmapped_area_topdown(struct file * filp,const unsigned long addr0,const unsigned long len,const unsigned long pgoff,const unsigned long flags)
{
lx_emul_trace_and_stop(__func__);
}
extern void arm_heavy_mb(void);
void arm_heavy_mb(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/bpf.h>
const struct bpf_func_proto bpf_get_current_pid_tgid_proto;
#include <linux/bpf.h>
const struct bpf_func_proto bpf_get_current_uid_gid_proto;
#include <linux/bpf.h>
const struct bpf_func_proto bpf_get_smp_processor_id_proto;
#include <linux/filter.h>
void * bpf_internal_load_pointer_neg_helper(const struct sk_buff * skb,int k,unsigned int size)
@ -256,11 +163,6 @@ void * bpf_internal_load_pointer_neg_helper(const struct sk_buff * skb,int k,uns
}
#include <linux/bpf.h>
const struct bpf_func_proto bpf_ktime_get_coarse_ns_proto;
#include <linux/filter.h>
struct bpf_prog * bpf_prog_alloc(unsigned int size,gfp_t gfp_extra_flags)
@ -301,29 +203,6 @@ void bpf_user_rnd_init_once(void)
}
#include <linux/if_bridge.h>
int br_ioctl_call(struct net * net,struct net_bridge * br,unsigned int cmd,struct ifreq * ifr,void __user * uarg)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/security.h>
int cap_settime(const struct timespec64 * ts,const struct timezone * tz)
{
lx_emul_trace_and_stop(__func__);
}
extern void check_and_switch_context(struct mm_struct * mm,struct task_struct * tsk);
void check_and_switch_context(struct mm_struct * mm,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/uaccess.h>
int check_zeroed_user(const void __user * from,size_t size)
@ -332,17 +211,20 @@ int check_zeroed_user(const void __user * from,size_t size)
}
#include <linux/uaccess.h>
#include <linux/cpumask.h>
long copy_from_kernel_nofault(void * dst,const void * src,size_t size)
unsigned int cpumask_any_and_distribute(const struct cpumask * src1p,const struct cpumask * src2p)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/arch_topology.h>
#include <linux/sched/topology.h>
struct cpu_topology cpu_topology[NR_CPUS] = {};
bool cpus_share_cache(int this_cpu,int that_cpu)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/context_tracking_irq.h>
@ -353,14 +235,6 @@ noinstr void ct_irq_enter(void)
}
#include <linux/context_tracking_irq.h>
void ct_irq_enter_irqson(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_exit(void)
@ -369,19 +243,6 @@ noinstr void ct_irq_exit(void)
}
#include <linux/context_tracking_irq.h>
void ct_irq_exit_irqson(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/splice.h>
const struct pipe_buf_operations default_pipe_buf_ops;
#include <linux/device.h>
const char * dev_driver_string(const struct device * dev)
@ -390,22 +251,6 @@ const char * dev_driver_string(const struct device * dev)
}
#include <linux/netdevice.h>
int dev_ethtool(struct net * net,struct ifreq * ifr,void __user * useraddr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
struct fwnode_handle * dev_fwnode(const struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/dev_printk.h>
int dev_printk_emit(int level,const struct device * dev,const char * fmt,...)
@ -422,22 +267,6 @@ int device_rename(struct device * dev,const char * new_name)
}
#include <linux/device.h>
int devm_add_action(struct device * dev,void (* action)(void *),void * data)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
unsigned long do_mmap(struct file * file,unsigned long addr,unsigned long len,unsigned long prot,unsigned long flags,unsigned long pgoff,unsigned long * populate,struct list_head * uf)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
asmlinkage __visible void dump_stack(void)
@ -462,17 +291,9 @@ int ethtool_op_get_ts_info(struct net_device * dev,struct ethtool_ts_info * info
}
#include <linux/pagemap.h>
#include <linux/file.h>
size_t fault_in_readable(const char __user * uaddr,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pagemap.h>
size_t fault_in_safe_writeable(const char __user * uaddr,size_t size)
void fd_install(unsigned int fd,struct file * file)
{
lx_emul_trace_and_stop(__func__);
}
@ -518,29 +339,6 @@ void finish_rcuwait(struct rcuwait * w)
}
#include <linux/mmzone.h>
struct pglist_data * first_online_pgdat(void)
{
lx_emul_trace_and_stop(__func__);
}
extern void flush_dcache_page(struct page * page);
void flush_dcache_page(struct page * page)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/task.h>
struct task_struct * __init fork_idle(int cpu)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/file.h>
void fput(struct file * file)
@ -597,46 +395,6 @@ void fwnode_handle_put(struct fwnode_handle * fwnode)
}
#include <linux/property.h>
int fwnode_property_read_u8_array(const struct fwnode_handle * fwnode,const char * propname,u8 * val,size_t nval)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/device.h>
struct device * get_device(struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kernel.h>
int get_option(char ** str,int * pint)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/rcutree.h>
unsigned long get_state_synchronize_rcu(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
struct mm_struct * get_task_mm(struct task_struct * task)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int get_user_ifreq(struct ifreq * ifr,void __user ** ifrdata,void __user * arg)
@ -679,16 +437,6 @@ void handle_fasteoi_irq(struct irq_desc * desc)
const struct net_offload __rcu *inet6_offloads[MAX_INET_PROTOS] = {};
#include <linux/mm_types.h>
struct mm_struct init_mm;
#include <linux/pid_namespace.h>
struct pid_namespace init_pid_ns;
#include <linux/utsname.h>
struct user_namespace init_user_ns;
@ -782,65 +530,9 @@ struct irq_desc * irq_to_desc(unsigned int irq)
}
#include <linux/net.h>
#include <linux/mm.h>
int kernel_bind(struct socket * sock,struct sockaddr * addr,int addrlen)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_connect(struct socket * sock,struct sockaddr * addr,int addrlen,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendmsg(struct socket * sock,struct msghdr * msg,struct kvec * vec,size_t num,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendmsg_locked(struct sock * sk,struct msghdr * msg,struct kvec * vec,size_t num,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendpage(struct socket * sock,struct page * page,int offset,size_t size,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendpage_locked(struct sock * sk,struct page * page,int offset,size_t size,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sock_shutdown(struct socket * sock,enum sock_shutdown_cmd how)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kobject.h>
int kobject_uevent_env(struct kobject * kobj,enum kobject_action action,char * envp_ext[])
int is_vmalloc_or_module_addr(const void * x)
{
lx_emul_trace_and_stop(__func__);
}
@ -854,31 +546,16 @@ bool llist_add_batch(struct llist_node * new_first,struct llist_node * new_last,
}
#include <linux/delay.h>
unsigned long loops_per_jiffy;
#include <linux/delay.h>
unsigned long lpj_fine;
#include <linux/mmzone.h>
struct page *mem_map;
extern void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order);
void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/string.h>
ssize_t memory_read_from_buffer(void * to,size_t count,loff_t * ppos,const void * from,size_t available)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/preempt.h>
void migrate_disable(void)
@ -895,22 +572,6 @@ void migrate_enable(void)
}
#include <linux/mman.h>
void mm_compute_batch(int overcommit_policy)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
void mmput(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/maple_tree.h>
void * mtree_load(struct maple_tree * mt,unsigned long index)
@ -919,13 +580,6 @@ void * mtree_load(struct maple_tree * mt,unsigned long index)
}
extern int netdev_queue_update_kobjects(struct net_device * dev,int old_num,int new_num);
int netdev_queue_update_kobjects(struct net_device * dev,int old_num,int new_num)
{
lx_emul_trace_and_stop(__func__);
}
extern void netdev_unregister_kobject(struct net_device * ndev);
void netdev_unregister_kobject(struct net_device * ndev)
{
@ -933,14 +587,6 @@ void netdev_unregister_kobject(struct net_device * ndev)
}
#include <linux/mmzone.h>
struct pglist_data * next_online_pgdat(struct pglist_data * pgdat)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pipe_fs_i.h>
const struct pipe_buf_operations nosteal_pipe_buf_ops;
@ -959,14 +605,6 @@ struct property * of_find_property(const struct device_node * np,const char * na
const struct fwnode_operations of_fwnode_ops;
#include <linux/of_net.h>
int of_get_mac_address(struct device_node * np,u8 * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/of.h>
const char * of_prop_next_string(struct property * prop,const char * cur)
@ -983,16 +621,6 @@ int of_property_read_string(const struct device_node * np,const char * propname,
}
#include <linux/highuid.h>
int overflowuid;
#include <linux/splice.h>
const struct pipe_buf_operations page_cache_pipe_buf_ops;
#include <linux/panic.h>
void panic(const char * fmt,...)
@ -1001,14 +629,6 @@ void panic(const char * fmt,...)
}
#include <linux/phy.h>
int phy_loopback(struct phy_device * phydev,bool enable)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pid.h>
pid_t pid_vnr(struct pid * pid)
@ -1017,33 +637,17 @@ pid_t pid_vnr(struct pid * pid)
}
#include <linux/rcutree.h>
#include <linux/pid.h>
bool poll_state_synchronize_rcu(unsigned long oldstate)
int pidfd_prepare(struct pid * pid,unsigned int flags,struct file ** ret)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
#include <linux/mm.h>
int proc_dointvec(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
int proc_dointvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
int proc_doulongvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
int pin_user_pages_fast(unsigned long start,int nr_pages,unsigned int gup_flags,struct page ** pages)
{
lx_emul_trace_and_stop(__func__);
}
@ -1057,6 +661,14 @@ void put_device(struct device * dev)
}
#include <linux/file.h>
void put_unused_fd(unsigned int fd)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int put_user_ifreq(struct ifreq * ifr,void __user * arg)
@ -1079,14 +691,6 @@ void raw_spin_rq_unlock(struct rq * rq)
}
#include <linux/refcount.h>
bool refcount_dec_and_mutex_lock(refcount_t * r,struct mutex * lock)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/refcount.h>
bool refcount_dec_if_one(refcount_t * r)
@ -1103,14 +707,6 @@ void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
}
#include <linux/mm.h>
void __meminit reserve_bootmem_region(phys_addr_t start,phys_addr_t end)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/fs.h>
int send_sigurg(struct fown_struct * fown)
@ -1119,13 +715,6 @@ int send_sigurg(struct fown_struct * fown)
}
extern void set_cpus_allowed_common(struct task_struct * p,const struct cpumask * new_mask,u32 flags);
void set_cpus_allowed_common(struct task_struct * p,const struct cpumask * new_mask,u32 flags)
{
lx_emul_trace_and_stop(__func__);
}
extern void set_rq_offline(struct rq * rq);
void set_rq_offline(struct rq * rq)
{
@ -1140,12 +729,9 @@ void set_rq_online(struct rq * rq)
}
#include <linux/scatterlist.h>
#include <linux/smp.h>
void sg_init_one(struct scatterlist * sg,const void * buf,unsigned int buflen)
{
lx_emul_trace_and_stop(__func__);
}
unsigned int setup_max_cpus;
#include <linux/smp.h>
@ -1156,14 +742,6 @@ void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,voi
}
#include <linux/smp.h>
int smp_call_function_single(int cpu,smp_call_func_t func,void * info,int wait)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
int smp_call_function_single_async(int cpu,struct __call_single_data * csd)
@ -1172,14 +750,6 @@ int smp_call_function_single_async(int cpu,struct __call_single_data * csd)
}
#include <linux/net.h>
struct socket * sock_from_file(struct file * file)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
bool sock_is_registered(int family)
@ -1204,37 +774,11 @@ ssize_t splice_to_pipe(struct pipe_inode_info * pipe,struct splice_pipe_desc * s
}
#include <linux/mm.h>
unsigned long stack_guard_gap;
#include <linux/rcutree.h>
unsigned long start_poll_synchronize_rcu(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/jump_label.h>
bool static_key_initialized;
#include <linux/mm.h>
void sync_mm_rss(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/device/class.h>
struct kobject *sysfs_dev_char_kobj;
#include <linux/pid_namespace.h>
struct pid_namespace * task_active_pid_ns(struct task_struct * tsk)
@ -1263,9 +807,12 @@ void update_group_capacity(struct sched_domain * sd,int cpu)
const u8 uuid_index[16] = {};
#include <linux/mman.h>
#include <linux/vmalloc.h>
s32 vm_committed_as_batch;
void vfree_atomic(const void * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
@ -1276,17 +823,9 @@ int vm_insert_pages(struct vm_area_struct * vma,unsigned long addr,struct page *
}
#include <linux/vmalloc.h>
#include <linux/mm.h>
bool vmalloc_dump_obj(void * object)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/vmalloc.h>
void * vmalloc_huge(unsigned long size,gfp_t gfp_mask)
struct page * vmalloc_to_page(const void * vmalloc_addr)
{
lx_emul_trace_and_stop(__func__);
}
@ -1318,7 +857,7 @@ void __sched yield(void)
#include <linux/mm.h>
void zap_page_range(struct vm_area_struct * vma,unsigned long start,unsigned long size)
void zap_page_range_single(struct vm_area_struct * vma,unsigned long address,unsigned long size,struct zap_details * details)
{
lx_emul_trace_and_stop(__func__);
}

View File

@ -55,6 +55,7 @@ lib/once.c
lib/percpu_counter.c
lib/radix-tree.c
lib/rbtree.c
lib/rcuref.c
lib/rhashtable.c
lib/siphash.c
lib/string.c
@ -82,6 +83,7 @@ net/core/gen_estimator.c
net/core/gen_stats.c
net/core/gro.c
net/core/gro_cells.c
net/core/gso.c
net/core/link_watch.c
net/core/neighbour.c
net/core/net_namespace.c

View File

@ -1,7 +1,7 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2024-07-26
* \date 2024-07-30
*/
#include <lx_emul.h>
@ -28,13 +28,6 @@ void __bpf_prog_free(struct bpf_prog * fp)
}
extern void __check_vmalloc_seq(struct mm_struct * mm);
void __check_vmalloc_seq(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/clk-provider.h>
const char * __clk_get_name(const struct clk * clk)
@ -43,20 +36,9 @@ const char * __clk_get_name(const struct clk * clk)
}
#include <linux/sched.h>
#include <linux/cpumask.h>
char * __get_task_comm(char * buf,size_t buf_size,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/ipv6.h>
int __ipv6_addr_type(const struct in6_addr * addr)
{
lx_emul_trace_and_stop(__func__);
}
struct cpumask __cpu_active_mask;
#include <linux/irqdomain.h>
@ -75,22 +57,6 @@ struct irq_desc * __irq_resolve_mapping(struct irq_domain * domain,irq_hw_number
}
#include <linux/mm.h>
int __mm_populate(unsigned long start,unsigned long len,int ignore_errors)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
void __mmdrop(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
void __printk_safe_enter(void)
@ -147,14 +113,6 @@ void __sock_recv_timestamp(struct msghdr * msg,struct sock * sk,struct sk_buff *
}
#include <net/sock.h>
void __sock_recv_wifi_status(struct msghdr * msg,struct sock * sk,struct sk_buff * skb)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/sock.h>
void __sock_tx_timestamp(__u16 tsflags,__u8 * tx_flags)
@ -192,52 +150,6 @@ int _printk_deferred(const char * fmt,...)
atomic_long_t _totalram_pages;
#include <linux/mm.h>
int access_process_vm(struct task_struct * tsk,unsigned long addr,void * buf,int len,unsigned int gup_flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
unsigned long arch_get_unmapped_area(struct file * filp,unsigned long addr,unsigned long len,unsigned long pgoff,unsigned long flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
unsigned long arch_get_unmapped_area_topdown(struct file * filp,const unsigned long addr0,const unsigned long len,const unsigned long pgoff,const unsigned long flags)
{
lx_emul_trace_and_stop(__func__);
}
extern void arm_heavy_mb(void);
void arm_heavy_mb(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/bpf.h>
const struct bpf_func_proto bpf_get_current_pid_tgid_proto;
#include <linux/bpf.h>
const struct bpf_func_proto bpf_get_current_uid_gid_proto;
#include <linux/bpf.h>
const struct bpf_func_proto bpf_get_smp_processor_id_proto;
#include <linux/filter.h>
void * bpf_internal_load_pointer_neg_helper(const struct sk_buff * skb,int k,unsigned int size)
@ -246,11 +158,6 @@ void * bpf_internal_load_pointer_neg_helper(const struct sk_buff * skb,int k,uns
}
#include <linux/bpf.h>
const struct bpf_func_proto bpf_ktime_get_coarse_ns_proto;
#include <linux/filter.h>
struct bpf_prog * bpf_prog_alloc(unsigned int size,gfp_t gfp_extra_flags)
@ -291,29 +198,6 @@ void bpf_user_rnd_init_once(void)
}
#include <linux/if_bridge.h>
int br_ioctl_call(struct net * net,struct net_bridge * br,unsigned int cmd,struct ifreq * ifr,void __user * uarg)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/security.h>
int cap_settime(const struct timespec64 * ts,const struct timezone * tz)
{
lx_emul_trace_and_stop(__func__);
}
extern void check_and_switch_context(struct mm_struct * mm,struct task_struct * tsk);
void check_and_switch_context(struct mm_struct * mm,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/uaccess.h>
int check_zeroed_user(const void __user * from,size_t size)
@ -322,19 +206,6 @@ int check_zeroed_user(const void __user * from,size_t size)
}
#include <linux/uaccess.h>
long copy_from_kernel_nofault(void * dst,const void * src,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/splice.h>
const struct pipe_buf_operations default_pipe_buf_ops;
#include <linux/device.h>
const char * dev_driver_string(const struct device * dev)
@ -343,22 +214,6 @@ const char * dev_driver_string(const struct device * dev)
}
#include <linux/netdevice.h>
int dev_ethtool(struct net * net,struct ifreq * ifr,void __user * useraddr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
struct fwnode_handle * dev_fwnode(const struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/dev_printk.h>
int dev_printk_emit(int level,const struct device * dev,const char * fmt,...)
@ -375,22 +230,6 @@ int device_rename(struct device * dev,const char * new_name)
}
#include <linux/device.h>
int devm_add_action(struct device * dev,void (* action)(void *),void * data)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
unsigned long do_mmap(struct file * file,unsigned long addr,unsigned long len,unsigned long prot,unsigned long flags,unsigned long pgoff,unsigned long * populate,struct list_head * uf)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
asmlinkage __visible void dump_stack(void)
@ -415,17 +254,9 @@ int ethtool_op_get_ts_info(struct net_device * dev,struct ethtool_ts_info * info
}
#include <linux/pagemap.h>
#include <linux/file.h>
size_t fault_in_readable(const char __user * uaddr,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pagemap.h>
size_t fault_in_safe_writeable(const char __user * uaddr,size_t size)
void fd_install(unsigned int fd,struct file * file)
{
lx_emul_trace_and_stop(__func__);
}
@ -471,21 +302,6 @@ void finish_rcuwait(struct rcuwait * w)
}
#include <linux/mmzone.h>
struct pglist_data * first_online_pgdat(void)
{
lx_emul_trace_and_stop(__func__);
}
extern void flush_dcache_page(struct page * page);
void flush_dcache_page(struct page * page)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/file.h>
void fput(struct file * file)
@ -542,38 +358,6 @@ void fwnode_handle_put(struct fwnode_handle * fwnode)
}
#include <linux/property.h>
int fwnode_property_read_u8_array(const struct fwnode_handle * fwnode,const char * propname,u8 * val,size_t nval)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/device.h>
struct device * get_device(struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kernel.h>
int get_option(char ** str,int * pint)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
struct mm_struct * get_task_mm(struct task_struct * task)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int get_user_ifreq(struct ifreq * ifr,void __user ** ifrdata,void __user * arg)
@ -608,16 +392,6 @@ const u8 guid_index[16] = {};
const struct net_offload __rcu *inet6_offloads[MAX_INET_PROTOS] = {};
#include <linux/mm_types.h>
struct mm_struct init_mm;
#include <linux/pid_namespace.h>
struct pid_namespace init_pid_ns;
#include <linux/utsname.h>
struct user_namespace init_user_ns;
@ -663,65 +437,9 @@ void irq_set_default_host(struct irq_domain * domain)
}
#include <linux/net.h>
#include <linux/mm.h>
int kernel_bind(struct socket * sock,struct sockaddr * addr,int addrlen)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_connect(struct socket * sock,struct sockaddr * addr,int addrlen,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendmsg(struct socket * sock,struct msghdr * msg,struct kvec * vec,size_t num,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendmsg_locked(struct sock * sk,struct msghdr * msg,struct kvec * vec,size_t num,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendpage(struct socket * sock,struct page * page,int offset,size_t size,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendpage_locked(struct sock * sk,struct page * page,int offset,size_t size,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sock_shutdown(struct socket * sock,enum sock_shutdown_cmd how)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kobject.h>
int kobject_uevent_env(struct kobject * kobj,enum kobject_action action,char * envp_ext[])
int is_vmalloc_or_module_addr(const void * x)
{
lx_emul_trace_and_stop(__func__);
}
@ -735,39 +453,16 @@ bool llist_add_batch(struct llist_node * new_first,struct llist_node * new_last,
}
#include <linux/delay.h>
unsigned long loops_per_jiffy;
#include <linux/delay.h>
unsigned long lpj_fine;
#include <linux/mmzone.h>
struct page *mem_map;
extern void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order);
void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/string.h>
ssize_t memory_read_from_buffer(void * to,size_t count,loff_t * ppos,const void * from,size_t available)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
void mmput(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/maple_tree.h>
void * mtree_load(struct maple_tree * mt,unsigned long index)
@ -776,13 +471,6 @@ void * mtree_load(struct maple_tree * mt,unsigned long index)
}
extern int netdev_queue_update_kobjects(struct net_device * dev,int old_num,int new_num);
int netdev_queue_update_kobjects(struct net_device * dev,int old_num,int new_num)
{
lx_emul_trace_and_stop(__func__);
}
extern void netdev_unregister_kobject(struct net_device * ndev);
void netdev_unregister_kobject(struct net_device * ndev)
{
@ -790,14 +478,6 @@ void netdev_unregister_kobject(struct net_device * ndev)
}
#include <linux/mmzone.h>
struct pglist_data * next_online_pgdat(struct pglist_data * pgdat)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pipe_fs_i.h>
const struct pipe_buf_operations nosteal_pipe_buf_ops;
@ -811,14 +491,6 @@ struct property * of_find_property(const struct device_node * np,const char * na
}
#include <linux/of_net.h>
int of_get_mac_address(struct device_node * np,u8 * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/of.h>
const char * of_prop_next_string(struct property * prop,const char * cur)
@ -835,16 +507,6 @@ int of_property_read_string(const struct device_node * np,const char * propname,
}
#include <linux/highuid.h>
int overflowuid;
#include <linux/splice.h>
const struct pipe_buf_operations page_cache_pipe_buf_ops;
#include <linux/panic.h>
void panic(const char * fmt,...)
@ -853,14 +515,6 @@ void panic(const char * fmt,...)
}
#include <linux/phy.h>
int phy_loopback(struct phy_device * phydev,bool enable)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pid.h>
pid_t pid_vnr(struct pid * pid)
@ -869,25 +523,17 @@ pid_t pid_vnr(struct pid * pid)
}
#include <linux/sysctl.h>
#include <linux/pid.h>
int proc_dointvec(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
int pidfd_prepare(struct pid * pid,unsigned int flags,struct file ** ret)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
#include <linux/mm.h>
int proc_dointvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
int proc_doulongvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
int pin_user_pages_fast(unsigned long start,int nr_pages,unsigned int gup_flags,struct page ** pages)
{
lx_emul_trace_and_stop(__func__);
}
@ -901,17 +547,17 @@ void put_device(struct device * dev)
}
#include <linux/netdevice.h>
#include <linux/file.h>
int put_user_ifreq(struct ifreq * ifr,void __user * arg)
void put_unused_fd(unsigned int fd)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/refcount.h>
#include <linux/netdevice.h>
bool refcount_dec_and_mutex_lock(refcount_t * r,struct mutex * lock)
int put_user_ifreq(struct ifreq * ifr,void __user * arg)
{
lx_emul_trace_and_stop(__func__);
}
@ -933,14 +579,6 @@ void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
}
#include <linux/mm.h>
void __meminit reserve_bootmem_region(phys_addr_t start,phys_addr_t end)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/fs.h>
int send_sigurg(struct fown_struct * fown)
@ -949,30 +587,6 @@ int send_sigurg(struct fown_struct * fown)
}
#include <linux/scatterlist.h>
void sg_init_one(struct scatterlist * sg,const void * buf,unsigned int buflen)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
int smp_call_function_single(int cpu,smp_call_func_t func,void * info,int wait)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
struct socket * sock_from_file(struct file * file)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
bool sock_is_registered(int family)
@ -997,21 +611,11 @@ ssize_t splice_to_pipe(struct pipe_inode_info * pipe,struct splice_pipe_desc * s
}
#include <linux/mm.h>
unsigned long stack_guard_gap;
#include <linux/jump_label.h>
bool static_key_initialized;
#include <linux/device/class.h>
struct kobject *sysfs_dev_char_kobj;
#include <linux/pid_namespace.h>
struct pid_namespace * task_active_pid_ns(struct task_struct * tsk)
@ -1025,6 +629,14 @@ struct pid_namespace * task_active_pid_ns(struct task_struct * tsk)
const u8 uuid_index[16] = {};
#include <linux/vmalloc.h>
void vfree_atomic(const void * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
int vm_insert_pages(struct vm_area_struct * vma,unsigned long addr,struct page ** pages,unsigned long * num)
@ -1038,17 +650,9 @@ int vm_insert_pages(struct vm_area_struct * vma,unsigned long addr,struct page *
atomic_long_t vm_node_stat[NR_VM_NODE_STAT_ITEMS] = {};
#include <linux/vmalloc.h>
#include <linux/mm.h>
bool vmalloc_dump_obj(void * object)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/vmalloc.h>
void * vmalloc_huge(unsigned long size,gfp_t gfp_mask)
struct page * vmalloc_to_page(const void * vmalloc_addr)
{
lx_emul_trace_and_stop(__func__);
}
@ -1070,14 +674,6 @@ void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task)
}
#include <linux/rcupdate_wait.h>
void wakeme_after_rcu(struct rcu_head * head)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched.h>
void __sched yield(void)
@ -1088,7 +684,7 @@ void __sched yield(void)
#include <linux/mm.h>
void zap_page_range(struct vm_area_struct * vma,unsigned long start,unsigned long size)
void zap_page_range_single(struct vm_area_struct * vma,unsigned long address,unsigned long size,struct zap_details * details)
{
lx_emul_trace_and_stop(__func__);
}

View File

@ -52,6 +52,7 @@ lib/nlattr.c
lib/once.c
lib/radix-tree.c
lib/rbtree.c
lib/rcuref.c
lib/rhashtable.c
lib/siphash.c
lib/string.c
@ -79,6 +80,7 @@ net/core/gen_estimator.c
net/core/gen_stats.c
net/core/gro.c
net/core/gro_cells.c
net/core/gso.c
net/core/link_watch.c
net/core/neighbour.c
net/core/net_namespace.c

View File

@ -1,7 +1,7 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2024-07-26
* \date 2024-07-30
*/
#include <lx_emul.h>
@ -41,22 +41,6 @@ const char * __clk_get_name(const struct clk * clk)
struct cpumask __cpu_active_mask;
#include <linux/sched.h>
char * __get_task_comm(char * buf,size_t buf_size,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/ipv6.h>
int __ipv6_addr_type(const struct in6_addr * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/irqdomain.h>
struct irq_domain * __irq_domain_add(struct fwnode_handle * fwnode,unsigned int size,irq_hw_number_t hwirq_max,int direct_max,const struct irq_domain_ops * ops,void * host_data)
@ -73,22 +57,6 @@ struct irq_desc * __irq_resolve_mapping(struct irq_domain * domain,irq_hw_number
}
#include <linux/mm.h>
int __mm_populate(unsigned long start,unsigned long len,int ignore_errors)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
void __mmdrop(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <asm-generic/percpu.h>
unsigned long __per_cpu_offset[NR_CPUS] = {};
@ -150,14 +118,6 @@ void __sock_recv_timestamp(struct msghdr * msg,struct sock * sk,struct sk_buff *
}
#include <net/sock.h>
void __sock_recv_wifi_status(struct msghdr * msg,struct sock * sk,struct sk_buff * skb)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/sock.h>
void __sock_tx_timestamp(__u16 tsflags,__u8 * tx_flags)
@ -195,45 +155,6 @@ int _printk_deferred(const char * fmt,...)
atomic_long_t _totalram_pages;
#include <linux/mm.h>
int access_process_vm(struct task_struct * tsk,unsigned long addr,void * buf,int len,unsigned int gup_flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
unsigned long arch_get_unmapped_area(struct file * filp,unsigned long addr,unsigned long len,unsigned long pgoff,unsigned long flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
unsigned long arch_get_unmapped_area_topdown(struct file * filp,unsigned long addr,unsigned long len,unsigned long pgoff,unsigned long flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/bpf.h>
const struct bpf_func_proto bpf_get_current_pid_tgid_proto;
#include <linux/bpf.h>
const struct bpf_func_proto bpf_get_current_uid_gid_proto;
#include <linux/bpf.h>
const struct bpf_func_proto bpf_get_smp_processor_id_proto;
#include <linux/filter.h>
void * bpf_internal_load_pointer_neg_helper(const struct sk_buff * skb,int k,unsigned int size)
@ -242,11 +163,6 @@ void * bpf_internal_load_pointer_neg_helper(const struct sk_buff * skb,int k,uns
}
#include <linux/bpf.h>
const struct bpf_func_proto bpf_ktime_get_coarse_ns_proto;
#include <linux/filter.h>
struct bpf_prog * bpf_prog_alloc(unsigned int size,gfp_t gfp_extra_flags)
@ -287,29 +203,6 @@ void bpf_user_rnd_init_once(void)
}
#include <linux/if_bridge.h>
int br_ioctl_call(struct net * net,struct net_bridge * br,unsigned int cmd,struct ifreq * ifr,void __user * uarg)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/security.h>
int cap_settime(const struct timespec64 * ts,const struct timezone * tz)
{
lx_emul_trace_and_stop(__func__);
}
extern void check_and_switch_context(struct mm_struct * mm);
void check_and_switch_context(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/uaccess.h>
int check_zeroed_user(const void __user * from,size_t size)
@ -318,17 +211,20 @@ int check_zeroed_user(const void __user * from,size_t size)
}
#include <linux/uaccess.h>
#include <linux/cpumask.h>
long copy_from_kernel_nofault(void * dst,const void * src,size_t size)
unsigned int cpumask_any_and_distribute(const struct cpumask * src1p,const struct cpumask * src2p)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/arch_topology.h>
#include <linux/sched/topology.h>
struct cpu_topology cpu_topology[NR_CPUS] = {};
bool cpus_share_cache(int this_cpu,int that_cpu)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/context_tracking_irq.h>
@ -339,14 +235,6 @@ noinstr void ct_irq_enter(void)
}
#include <linux/context_tracking_irq.h>
void ct_irq_enter_irqson(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_exit(void)
@ -355,19 +243,6 @@ noinstr void ct_irq_exit(void)
}
#include <linux/context_tracking_irq.h>
void ct_irq_exit_irqson(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/splice.h>
const struct pipe_buf_operations default_pipe_buf_ops;
#include <linux/device.h>
const char * dev_driver_string(const struct device * dev)
@ -376,22 +251,6 @@ const char * dev_driver_string(const struct device * dev)
}
#include <linux/netdevice.h>
int dev_ethtool(struct net * net,struct ifreq * ifr,void __user * useraddr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
struct fwnode_handle * dev_fwnode(const struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/dev_printk.h>
int dev_printk_emit(int level,const struct device * dev,const char * fmt,...)
@ -408,30 +267,6 @@ int device_rename(struct device * dev,const char * new_name)
}
#include <linux/device.h>
int devm_add_action(struct device * dev,void (* action)(void *),void * data)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
unsigned long do_mmap(struct file * file,unsigned long addr,unsigned long len,unsigned long prot,unsigned long flags,unsigned long pgoff,unsigned long * populate,struct list_head * uf)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/restart_block.h>
long do_no_restart_syscall(struct restart_block * param)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
asmlinkage __visible void dump_stack(void)
@ -456,17 +291,9 @@ int ethtool_op_get_ts_info(struct net_device * dev,struct ethtool_ts_info * info
}
#include <linux/pagemap.h>
#include <linux/file.h>
size_t fault_in_readable(const char __user * uaddr,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pagemap.h>
size_t fault_in_safe_writeable(const char __user * uaddr,size_t size)
void fd_install(unsigned int fd,struct file * file)
{
lx_emul_trace_and_stop(__func__);
}
@ -512,29 +339,6 @@ void finish_rcuwait(struct rcuwait * w)
}
#include <linux/mmzone.h>
struct pglist_data * first_online_pgdat(void)
{
lx_emul_trace_and_stop(__func__);
}
extern void flush_dcache_page(struct page * page);
void flush_dcache_page(struct page * page)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/task.h>
struct task_struct * __init fork_idle(int cpu)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/file.h>
void fput(struct file * file)
@ -591,46 +395,6 @@ void fwnode_handle_put(struct fwnode_handle * fwnode)
}
#include <linux/property.h>
int fwnode_property_read_u8_array(const struct fwnode_handle * fwnode,const char * propname,u8 * val,size_t nval)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/device.h>
struct device * get_device(struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kernel.h>
int get_option(char ** str,int * pint)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/rcutree.h>
unsigned long get_state_synchronize_rcu(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
struct mm_struct * get_task_mm(struct task_struct * task)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int get_user_ifreq(struct ifreq * ifr,void __user ** ifrdata,void __user * arg)
@ -673,16 +437,6 @@ void handle_fasteoi_irq(struct irq_desc * desc)
const struct net_offload __rcu *inet6_offloads[MAX_INET_PROTOS] = {};
#include <linux/mm_types.h>
struct mm_struct init_mm;
#include <linux/pid_namespace.h>
struct pid_namespace init_pid_ns;
#include <linux/utsname.h>
struct user_namespace init_user_ns;
@ -776,65 +530,9 @@ struct irq_desc * irq_to_desc(unsigned int irq)
}
#include <linux/net.h>
#include <linux/mm.h>
int kernel_bind(struct socket * sock,struct sockaddr * addr,int addrlen)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_connect(struct socket * sock,struct sockaddr * addr,int addrlen,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendmsg(struct socket * sock,struct msghdr * msg,struct kvec * vec,size_t num,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendmsg_locked(struct sock * sk,struct msghdr * msg,struct kvec * vec,size_t num,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendpage(struct socket * sock,struct page * page,int offset,size_t size,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendpage_locked(struct sock * sk,struct page * page,int offset,size_t size,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sock_shutdown(struct socket * sock,enum sock_shutdown_cmd how)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kobject.h>
int kobject_uevent_env(struct kobject * kobj,enum kobject_action action,char * envp_ext[])
int is_vmalloc_or_module_addr(const void * x)
{
lx_emul_trace_and_stop(__func__);
}
@ -848,19 +546,24 @@ bool llist_add_batch(struct llist_node * new_first,struct llist_node * new_last,
}
#include <linux/delay.h>
#include <linux/mm.h>
unsigned long lpj_fine;
#include <linux/string.h>
ssize_t memory_read_from_buffer(void * to,size_t count,loff_t * ppos,const void * from,size_t available)
struct vm_area_struct * lock_vma_under_rcu(struct mm_struct * mm,unsigned long address)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/delay.h>
unsigned long loops_per_jiffy;
#include <linux/delay.h>
unsigned long lpj_fine;
#include <linux/preempt.h>
void migrate_disable(void)
@ -877,22 +580,6 @@ void migrate_enable(void)
}
#include <linux/mman.h>
void mm_compute_batch(int overcommit_policy)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
void mmput(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/maple_tree.h>
void * mtree_load(struct maple_tree * mt,unsigned long index)
@ -901,13 +588,6 @@ void * mtree_load(struct maple_tree * mt,unsigned long index)
}
extern int netdev_queue_update_kobjects(struct net_device * dev,int old_num,int new_num);
int netdev_queue_update_kobjects(struct net_device * dev,int old_num,int new_num)
{
lx_emul_trace_and_stop(__func__);
}
extern void netdev_unregister_kobject(struct net_device * ndev);
void netdev_unregister_kobject(struct net_device * ndev)
{
@ -915,14 +595,6 @@ void netdev_unregister_kobject(struct net_device * ndev)
}
#include <linux/mmzone.h>
struct pglist_data * next_online_pgdat(struct pglist_data * pgdat)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pipe_fs_i.h>
const struct pipe_buf_operations nosteal_pipe_buf_ops;
@ -941,14 +613,6 @@ struct property * of_find_property(const struct device_node * np,const char * na
const struct fwnode_operations of_fwnode_ops;
#include <linux/of_net.h>
int of_get_mac_address(struct device_node * np,u8 * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/of.h>
const char * of_prop_next_string(struct property * prop,const char * cur)
@ -965,16 +629,6 @@ int of_property_read_string(const struct device_node * np,const char * propname,
}
#include <linux/highuid.h>
int overflowuid;
#include <linux/splice.h>
const struct pipe_buf_operations page_cache_pipe_buf_ops;
#include <linux/panic.h>
void panic(const char * fmt,...)
@ -983,14 +637,6 @@ void panic(const char * fmt,...)
}
#include <linux/phy.h>
int phy_loopback(struct phy_device * phydev,bool enable)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pid.h>
pid_t pid_vnr(struct pid * pid)
@ -999,33 +645,17 @@ pid_t pid_vnr(struct pid * pid)
}
#include <linux/rcutree.h>
#include <linux/pid.h>
bool poll_state_synchronize_rcu(unsigned long oldstate)
int pidfd_prepare(struct pid * pid,unsigned int flags,struct file ** ret)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
#include <linux/mm.h>
int proc_dointvec(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
int proc_dointvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
int proc_doulongvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
int pin_user_pages_fast(unsigned long start,int nr_pages,unsigned int gup_flags,struct page ** pages)
{
lx_emul_trace_and_stop(__func__);
}
@ -1039,6 +669,14 @@ void put_device(struct device * dev)
}
#include <linux/file.h>
void put_unused_fd(unsigned int fd)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int put_user_ifreq(struct ifreq * ifr,void __user * arg)
@ -1061,14 +699,6 @@ void raw_spin_rq_unlock(struct rq * rq)
}
#include <linux/refcount.h>
bool refcount_dec_and_mutex_lock(refcount_t * r,struct mutex * lock)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/refcount.h>
bool refcount_dec_if_one(refcount_t * r)
@ -1085,14 +715,6 @@ void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
}
#include <linux/mm.h>
void __meminit reserve_bootmem_region(phys_addr_t start,phys_addr_t end)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/fs.h>
int send_sigurg(struct fown_struct * fown)
@ -1101,13 +723,6 @@ int send_sigurg(struct fown_struct * fown)
}
extern void set_cpus_allowed_common(struct task_struct * p,const struct cpumask * new_mask,u32 flags);
void set_cpus_allowed_common(struct task_struct * p,const struct cpumask * new_mask,u32 flags)
{
lx_emul_trace_and_stop(__func__);
}
extern void set_rq_offline(struct rq * rq);
void set_rq_offline(struct rq * rq)
{
@ -1122,14 +737,6 @@ void set_rq_online(struct rq * rq)
}
#include <linux/scatterlist.h>
void sg_init_one(struct scatterlist * sg,const void * buf,unsigned int buflen)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,void * info,bool wait)
@ -1138,14 +745,6 @@ void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,voi
}
#include <linux/smp.h>
int smp_call_function_single(int cpu,smp_call_func_t func,void * info,int wait)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
int smp_call_function_single_async(int cpu,struct __call_single_data * csd)
@ -1154,14 +753,6 @@ int smp_call_function_single_async(int cpu,struct __call_single_data * csd)
}
#include <linux/net.h>
struct socket * sock_from_file(struct file * file)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
bool sock_is_registered(int family)
@ -1186,37 +777,11 @@ ssize_t splice_to_pipe(struct pipe_inode_info * pipe,struct splice_pipe_desc * s
}
#include <linux/mm.h>
unsigned long stack_guard_gap;
#include <linux/rcutree.h>
unsigned long start_poll_synchronize_rcu(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/jump_label.h>
bool static_key_initialized;
#include <linux/mm.h>
void sync_mm_rss(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/device/class.h>
struct kobject *sysfs_dev_char_kobj;
#include <linux/pid_namespace.h>
struct pid_namespace * task_active_pid_ns(struct task_struct * tsk)
@ -1240,22 +805,17 @@ void update_group_capacity(struct sched_domain * sd,int cpu)
}
#include <linux/timekeeper_internal.h>
void update_vsyscall_tz(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/uuid.h>
const u8 uuid_index[16] = {};
#include <linux/mman.h>
#include <linux/vmalloc.h>
s32 vm_committed_as_batch;
void vfree_atomic(const void * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
@ -1266,17 +826,9 @@ int vm_insert_pages(struct vm_area_struct * vma,unsigned long addr,struct page *
}
#include <linux/vmalloc.h>
#include <linux/mm.h>
bool vmalloc_dump_obj(void * object)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/vmalloc.h>
void * vmalloc_huge(unsigned long size,gfp_t gfp_mask)
struct page * vmalloc_to_page(const void * vmalloc_addr)
{
lx_emul_trace_and_stop(__func__);
}
@ -1308,7 +860,7 @@ void __sched yield(void)
#include <linux/mm.h>
void zap_page_range(struct vm_area_struct * vma,unsigned long start,unsigned long size)
void zap_page_range_single(struct vm_area_struct * vma,unsigned long address,unsigned long size,struct zap_details * details)
{
lx_emul_trace_and_stop(__func__);
}

View File

@ -52,6 +52,7 @@ lib/once.c
lib/percpu_counter.c
lib/radix-tree.c
lib/rbtree.c
lib/rcuref.c
lib/rhashtable.c
lib/siphash.c
lib/string.c
@ -79,6 +80,7 @@ net/core/gen_estimator.c
net/core/gen_stats.c
net/core/gro.c
net/core/gro_cells.c
net/core/gso.c
net/core/link_watch.c
net/core/neighbour.c
net/core/net_namespace.c

View File

@ -1,7 +1,7 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2024-07-26
* \date 2024-07-30
*/
#include <lx_emul.h>
@ -33,38 +33,6 @@ void __bpf_prog_free(struct bpf_prog * fp)
struct cpumask __cpu_active_mask;
#include <linux/sched.h>
char * __get_task_comm(char * buf,size_t buf_size,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/ipv6.h>
int __ipv6_addr_type(const struct in6_addr * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
int __mm_populate(unsigned long start,unsigned long len,int ignore_errors)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
void __mmdrop(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
void __printk_safe_enter(void)
@ -121,14 +89,6 @@ void __sock_recv_timestamp(struct msghdr * msg,struct sock * sk,struct sk_buff *
}
#include <net/sock.h>
void __sock_recv_wifi_status(struct msghdr * msg,struct sock * sk,struct sk_buff * skb)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/sock.h>
void __sock_tx_timestamp(__u16 tsflags,__u8 * tx_flags)
@ -166,14 +126,6 @@ int _printk_deferred(const char * fmt,...)
atomic_long_t _totalram_pages;
#include <linux/mm.h>
int access_process_vm(struct task_struct * tsk,unsigned long addr,void * buf,int len,unsigned int gup_flags)
{
lx_emul_trace_and_stop(__func__);
}
extern void ack_bad_irq(unsigned int irq);
void ack_bad_irq(unsigned int irq)
{
@ -249,22 +201,6 @@ void bpf_user_rnd_init_once(void)
}
#include <linux/if_bridge.h>
int br_ioctl_call(struct net * net,struct net_bridge * br,unsigned int cmd,struct ifreq * ifr,void __user * uarg)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/security.h>
int cap_settime(const struct timespec64 * ts,const struct timezone * tz)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/uaccess.h>
int check_zeroed_user(const void __user * from,size_t size)
@ -273,21 +209,6 @@ int check_zeroed_user(const void __user * from,size_t size)
}
extern unsigned long clear_user(void __user * to,unsigned long n);
unsigned long clear_user(void __user * to,unsigned long n)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/uaccess.h>
long copy_from_kernel_nofault(void * dst,const void * src,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/arch_topology.h>
const struct cpumask * cpu_clustergroup_mask(int cpu)
@ -296,6 +217,22 @@ const struct cpumask * cpu_clustergroup_mask(int cpu)
}
#include <linux/cpumask.h>
unsigned int cpumask_any_and_distribute(const struct cpumask * src1p,const struct cpumask * src2p)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/topology.h>
bool cpus_share_cache(int this_cpu,int that_cpu)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_enter(void)
@ -312,11 +249,6 @@ noinstr void ct_irq_exit(void)
}
#include <linux/splice.h>
const struct pipe_buf_operations default_pipe_buf_ops;
#include <linux/device.h>
const char * dev_driver_string(const struct device * dev)
@ -325,22 +257,6 @@ const char * dev_driver_string(const struct device * dev)
}
#include <linux/netdevice.h>
int dev_ethtool(struct net * net,struct ifreq * ifr,void __user * useraddr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
struct fwnode_handle * dev_fwnode(const struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/dev_printk.h>
int dev_printk_emit(int level,const struct device * dev,const char * fmt,...)
@ -357,22 +273,6 @@ int device_rename(struct device * dev,const char * new_name)
}
#include <linux/device.h>
int devm_add_action(struct device * dev,void (* action)(void *),void * data)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
unsigned long do_mmap(struct file * file,unsigned long addr,unsigned long len,unsigned long prot,unsigned long flags,unsigned long pgoff,unsigned long * populate,struct list_head * uf)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
asmlinkage __visible void dump_stack(void)
@ -381,13 +281,6 @@ asmlinkage __visible void dump_stack(void)
}
extern void enter_lazy_tlb(struct mm_struct * mm,struct task_struct * tsk);
void enter_lazy_tlb(struct mm_struct * mm,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/ethtool.h>
int ethtool_get_phc_vclocks(struct net_device * dev,int ** vclock_index)
@ -404,17 +297,9 @@ int ethtool_op_get_ts_info(struct net_device * dev,struct ethtool_ts_info * info
}
#include <linux/pagemap.h>
#include <linux/file.h>
size_t fault_in_readable(const char __user * uaddr,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pagemap.h>
size_t fault_in_safe_writeable(const char __user * uaddr,size_t size)
void fd_install(unsigned int fd,struct file * file)
{
lx_emul_trace_and_stop(__func__);
}
@ -460,22 +345,6 @@ void finish_rcuwait(struct rcuwait * w)
}
#include <linux/mmzone.h>
struct pglist_data * first_online_pgdat(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/task.h>
struct task_struct * __init fork_idle(int cpu)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/file.h>
void fput(struct file * file)
@ -532,46 +401,6 @@ void fwnode_handle_put(struct fwnode_handle * fwnode)
}
#include <linux/property.h>
int fwnode_property_read_u8_array(const struct fwnode_handle * fwnode,const char * propname,u8 * val,size_t nval)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/device.h>
struct device * get_device(struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kernel.h>
int get_option(char ** str,int * pint)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/rcutree.h>
unsigned long get_state_synchronize_rcu(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
struct mm_struct * get_task_mm(struct task_struct * task)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int get_user_ifreq(struct ifreq * ifr,void __user ** ifrdata,void __user * arg)
@ -611,11 +440,6 @@ void * high_memory;
const struct net_offload __rcu *inet6_offloads[MAX_INET_PROTOS] = {};
#include <linux/pid_namespace.h>
struct pid_namespace init_pid_ns;
#include <linux/sched.h>
unsigned long init_stack[THREAD_SIZE / sizeof(unsigned long)] = {};
@ -674,65 +498,9 @@ int irq_set_affinity(unsigned int irq,const struct cpumask * cpumask)
}
#include <linux/net.h>
#include <linux/mm.h>
int kernel_bind(struct socket * sock,struct sockaddr * addr,int addrlen)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_connect(struct socket * sock,struct sockaddr * addr,int addrlen,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendmsg(struct socket * sock,struct msghdr * msg,struct kvec * vec,size_t num,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendmsg_locked(struct sock * sk,struct msghdr * msg,struct kvec * vec,size_t num,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendpage(struct socket * sock,struct page * page,int offset,size_t size,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendpage_locked(struct sock * sk,struct page * page,int offset,size_t size,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sock_shutdown(struct socket * sock,enum sock_shutdown_cmd how)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kobject.h>
int kobject_uevent_env(struct kobject * kobj,enum kobject_action action,char * envp_ext[])
int is_vmalloc_or_module_addr(const void * x)
{
lx_emul_trace_and_stop(__func__);
}
@ -746,19 +514,9 @@ bool llist_add_batch(struct llist_node * new_first,struct llist_node * new_last,
}
extern void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order);
void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/delay.h>
#include <linux/string.h>
ssize_t memory_read_from_buffer(void * to,size_t count,loff_t * ppos,const void * from,size_t available)
{
lx_emul_trace_and_stop(__func__);
}
unsigned long loops_per_jiffy;
#include <linux/preempt.h>
@ -777,22 +535,6 @@ void migrate_enable(void)
}
#include <linux/mman.h>
void mm_compute_batch(int overcommit_policy)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
void mmput(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/maple_tree.h>
void * mtree_load(struct maple_tree * mt,unsigned long index)
@ -801,13 +543,6 @@ void * mtree_load(struct maple_tree * mt,unsigned long index)
}
extern int netdev_queue_update_kobjects(struct net_device * dev,int old_num,int new_num);
int netdev_queue_update_kobjects(struct net_device * dev,int old_num,int new_num)
{
lx_emul_trace_and_stop(__func__);
}
extern void netdev_unregister_kobject(struct net_device * ndev);
void netdev_unregister_kobject(struct net_device * ndev)
{
@ -815,14 +550,6 @@ void netdev_unregister_kobject(struct net_device * ndev)
}
#include <linux/mmzone.h>
struct pglist_data * next_online_pgdat(struct pglist_data * pgdat)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pipe_fs_i.h>
const struct pipe_buf_operations nosteal_pipe_buf_ops;
@ -833,11 +560,6 @@ const struct pipe_buf_operations nosteal_pipe_buf_ops;
int overflowuid;
#include <linux/splice.h>
const struct pipe_buf_operations page_cache_pipe_buf_ops;
#include <linux/panic.h>
void panic(const char * fmt,...)
@ -846,14 +568,6 @@ void panic(const char * fmt,...)
}
#include <linux/phy.h>
int phy_loopback(struct phy_device * phydev,bool enable)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pid.h>
pid_t pid_vnr(struct pid * pid)
@ -862,33 +576,17 @@ pid_t pid_vnr(struct pid * pid)
}
#include <linux/rcutree.h>
#include <linux/pid.h>
bool poll_state_synchronize_rcu(unsigned long oldstate)
int pidfd_prepare(struct pid * pid,unsigned int flags,struct file ** ret)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
#include <linux/mm.h>
int proc_dointvec(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
int proc_dointvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
int proc_doulongvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
int pin_user_pages_fast(unsigned long start,int nr_pages,unsigned int gup_flags,struct page ** pages)
{
lx_emul_trace_and_stop(__func__);
}
@ -902,6 +600,14 @@ void put_device(struct device * dev)
}
#include <linux/file.h>
void put_unused_fd(unsigned int fd)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int put_user_ifreq(struct ifreq * ifr,void __user * arg)
@ -924,14 +630,6 @@ void raw_spin_rq_unlock(struct rq * rq)
}
#include <linux/refcount.h>
bool refcount_dec_and_mutex_lock(refcount_t * r,struct mutex * lock)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/refcount.h>
bool refcount_dec_if_one(refcount_t * r)
@ -948,14 +646,6 @@ void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
}
#include <linux/mm.h>
void __meminit reserve_bootmem_region(phys_addr_t start,phys_addr_t end)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/fs.h>
int send_sigurg(struct fown_struct * fown)
@ -964,13 +654,6 @@ int send_sigurg(struct fown_struct * fown)
}
extern void set_cpus_allowed_common(struct task_struct * p,const struct cpumask * new_mask,u32 flags);
void set_cpus_allowed_common(struct task_struct * p,const struct cpumask * new_mask,u32 flags)
{
lx_emul_trace_and_stop(__func__);
}
extern void set_rq_offline(struct rq * rq);
void set_rq_offline(struct rq * rq)
{
@ -985,6 +668,11 @@ void set_rq_online(struct rq * rq)
}
#include <linux/smp.h>
unsigned int setup_max_cpus;
#include <linux/smp.h>
void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,void * info,bool wait)
@ -1041,39 +729,11 @@ ssize_t splice_to_pipe(struct pipe_inode_info * pipe,struct splice_pipe_desc * s
}
#include <linux/rcutree.h>
unsigned long start_poll_synchronize_rcu(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/jump_label.h>
bool static_key_initialized;
extern void switch_mm_irqs_off(struct mm_struct * prev,struct mm_struct * next,struct task_struct * tsk);
void switch_mm_irqs_off(struct mm_struct * prev,struct mm_struct * next,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
void sync_mm_rss(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/device/class.h>
struct kobject *sysfs_dev_char_kobj;
#include <linux/pid_namespace.h>
struct pid_namespace * task_active_pid_ns(struct task_struct * tsk)
@ -1089,22 +749,17 @@ void update_group_capacity(struct sched_domain * sd,int cpu)
}
#include <linux/timekeeper_internal.h>
void update_vsyscall_tz(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/uuid.h>
const u8 uuid_index[16] = {};
#include <linux/mman.h>
#include <linux/vmalloc.h>
s32 vm_committed_as_batch;
void vfree_atomic(const void * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
@ -1115,17 +770,9 @@ int vm_insert_pages(struct vm_area_struct * vma,unsigned long addr,struct page *
}
#include <linux/vmalloc.h>
#include <linux/mm.h>
bool vmalloc_dump_obj(void * object)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/vmalloc.h>
void * vmalloc_huge(unsigned long size,gfp_t gfp_mask)
struct page * vmalloc_to_page(const void * vmalloc_addr)
{
lx_emul_trace_and_stop(__func__);
}
@ -1157,7 +804,7 @@ void __sched yield(void)
#include <linux/mm.h>
void zap_page_range(struct vm_area_struct * vma,unsigned long start,unsigned long size)
void zap_page_range_single(struct vm_area_struct * vma,unsigned long address,unsigned long size,struct zap_details * details)
{
lx_emul_trace_and_stop(__func__);
}

View File

@ -44,6 +44,7 @@ lib/once.c
lib/percpu_counter.c
lib/radix-tree.c
lib/rbtree.c
lib/rcuref.c
lib/rhashtable.c
lib/siphash.c
lib/string.c
@ -71,6 +72,7 @@ net/core/gen_estimator.c
net/core/gen_stats.c
net/core/gro.c
net/core/gro_cells.c
net/core/gso.c
net/core/link_watch.c
net/core/neighbour.c
net/core/net_namespace.c

View File

@ -1,19 +1,12 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2024-07-26
* \date 2024-07-30
*/
#include <lx_emul.h>
extern unsigned long KSTK_ESP(struct task_struct * task);
unsigned long KSTK_ESP(struct task_struct * task)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/root_dev.h>
dev_t ROOT_DEV;
@ -40,45 +33,6 @@ void __bpf_prog_free(struct bpf_prog * fp)
struct cpumask __cpu_active_mask;
#include <linux/sched.h>
char * __get_task_comm(char * buf,size_t buf_size,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/ipv6.h>
int __ipv6_addr_type(const struct in6_addr * addr)
{
lx_emul_trace_and_stop(__func__);
}
extern void __memcpy_flushcache(void * _dst,const void * _src,size_t size);
void __memcpy_flushcache(void * _dst,const void * _src,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
int __mm_populate(unsigned long start,unsigned long len,int ignore_errors)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
void __mmdrop(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
void __printk_safe_enter(void)
@ -135,14 +89,6 @@ void __sock_recv_timestamp(struct msghdr * msg,struct sock * sk,struct sk_buff *
}
#include <net/sock.h>
void __sock_recv_wifi_status(struct msghdr * msg,struct sock * sk,struct sk_buff * skb)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/sock.h>
void __sock_tx_timestamp(__u16 tsflags,__u8 * tx_flags)
@ -180,14 +126,6 @@ int _printk_deferred(const char * fmt,...)
atomic_long_t _totalram_pages;
#include <linux/mm.h>
int access_process_vm(struct task_struct * tsk,unsigned long addr,void * buf,int len,unsigned int gup_flags)
{
lx_emul_trace_and_stop(__func__);
}
extern void ack_bad_irq(unsigned int irq);
void ack_bad_irq(unsigned int irq)
{
@ -263,22 +201,6 @@ void bpf_user_rnd_init_once(void)
}
#include <linux/if_bridge.h>
int br_ioctl_call(struct net * net,struct net_bridge * br,unsigned int cmd,struct ifreq * ifr,void __user * uarg)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/security.h>
int cap_settime(const struct timespec64 * ts,const struct timezone * tz)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/uaccess.h>
int check_zeroed_user(const void __user * from,size_t size)
@ -287,14 +209,6 @@ int check_zeroed_user(const void __user * from,size_t size)
}
#include <linux/uaccess.h>
long copy_from_kernel_nofault(void * dst,const void * src,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
extern unsigned long __must_check copy_mc_to_kernel(void * dst,const void * src,unsigned len);
unsigned long __must_check copy_mc_to_kernel(void * dst,const void * src,unsigned len)
{
@ -302,16 +216,25 @@ unsigned long __must_check copy_mc_to_kernel(void * dst,const void * src,unsigne
}
extern unsigned long __must_check copy_mc_to_user(void * dst,const void * src,unsigned len);
unsigned long __must_check copy_mc_to_user(void * dst,const void * src,unsigned len)
#include <linux/arch_topology.h>
const struct cpumask * cpu_clustergroup_mask(int cpu)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/arch_topology.h>
#include <linux/cpumask.h>
const struct cpumask * cpu_clustergroup_mask(int cpu)
unsigned int cpumask_any_and_distribute(const struct cpumask * src1p,const struct cpumask * src2p)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/topology.h>
bool cpus_share_cache(int this_cpu,int that_cpu)
{
lx_emul_trace_and_stop(__func__);
}
@ -333,11 +256,6 @@ noinstr void ct_irq_exit(void)
}
#include <linux/splice.h>
const struct pipe_buf_operations default_pipe_buf_ops;
#include <linux/device.h>
const char * dev_driver_string(const struct device * dev)
@ -346,22 +264,6 @@ const char * dev_driver_string(const struct device * dev)
}
#include <linux/netdevice.h>
int dev_ethtool(struct net * net,struct ifreq * ifr,void __user * useraddr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
struct fwnode_handle * dev_fwnode(const struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/dev_printk.h>
int dev_printk_emit(int level,const struct device * dev,const char * fmt,...)
@ -378,30 +280,6 @@ int device_rename(struct device * dev,const char * new_name)
}
#include <linux/device.h>
int devm_add_action(struct device * dev,void (* action)(void *),void * data)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
unsigned long do_mmap(struct file * file,unsigned long addr,unsigned long len,unsigned long prot,unsigned long flags,unsigned long pgoff,unsigned long * populate,struct list_head * uf)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/restart_block.h>
long do_no_restart_syscall(struct restart_block * param)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
asmlinkage __visible void dump_stack(void)
@ -410,13 +288,6 @@ asmlinkage __visible void dump_stack(void)
}
extern void enter_lazy_tlb(struct mm_struct * mm,struct task_struct * tsk);
void enter_lazy_tlb(struct mm_struct * mm,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/ethtool.h>
int ethtool_get_phc_vclocks(struct net_device * dev,int ** vclock_index)
@ -433,17 +304,9 @@ int ethtool_op_get_ts_info(struct net_device * dev,struct ethtool_ts_info * info
}
#include <linux/pagemap.h>
#include <linux/file.h>
size_t fault_in_readable(const char __user * uaddr,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pagemap.h>
size_t fault_in_safe_writeable(const char __user * uaddr,size_t size)
void fd_install(unsigned int fd,struct file * file)
{
lx_emul_trace_and_stop(__func__);
}
@ -489,22 +352,6 @@ void finish_rcuwait(struct rcuwait * w)
}
#include <linux/mmzone.h>
struct pglist_data * first_online_pgdat(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/task.h>
struct task_struct * __init fork_idle(int cpu)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/file.h>
void fput(struct file * file)
@ -561,46 +408,6 @@ void fwnode_handle_put(struct fwnode_handle * fwnode)
}
#include <linux/property.h>
int fwnode_property_read_u8_array(const struct fwnode_handle * fwnode,const char * propname,u8 * val,size_t nval)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/device.h>
struct device * get_device(struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kernel.h>
int get_option(char ** str,int * pint)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/rcutree.h>
unsigned long get_state_synchronize_rcu(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
struct mm_struct * get_task_mm(struct task_struct * task)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int get_user_ifreq(struct ifreq * ifr,void __user ** ifrdata,void __user * arg)
@ -635,11 +442,6 @@ const u8 guid_index[16] = {};
const struct net_offload __rcu *inet6_offloads[MAX_INET_PROTOS] = {};
#include <linux/pid_namespace.h>
struct pid_namespace init_pid_ns;
#include <linux/utsname.h>
struct user_namespace init_user_ns;
@ -693,65 +495,9 @@ int irq_set_affinity(unsigned int irq,const struct cpumask * cpumask)
}
#include <linux/net.h>
#include <linux/mm.h>
int kernel_bind(struct socket * sock,struct sockaddr * addr,int addrlen)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_connect(struct socket * sock,struct sockaddr * addr,int addrlen,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendmsg(struct socket * sock,struct msghdr * msg,struct kvec * vec,size_t num,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendmsg_locked(struct sock * sk,struct msghdr * msg,struct kvec * vec,size_t num,size_t size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendpage(struct socket * sock,struct page * page,int offset,size_t size,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sendpage_locked(struct sock * sk,struct page * page,int offset,size_t size,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/net.h>
int kernel_sock_shutdown(struct socket * sock,enum sock_shutdown_cmd how)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kobject.h>
int kobject_uevent_env(struct kobject * kobj,enum kobject_action action,char * envp_ext[])
int is_vmalloc_or_module_addr(const void * x)
{
lx_emul_trace_and_stop(__func__);
}
@ -765,19 +511,17 @@ bool llist_add_batch(struct llist_node * new_first,struct llist_node * new_last,
}
extern void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order);
void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order)
#include <linux/mm.h>
struct vm_area_struct * lock_vma_under_rcu(struct mm_struct * mm,unsigned long address)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/string.h>
#include <linux/delay.h>
ssize_t memory_read_from_buffer(void * to,size_t count,loff_t * ppos,const void * from,size_t available)
{
lx_emul_trace_and_stop(__func__);
}
unsigned long loops_per_jiffy;
#include <linux/preempt.h>
@ -796,22 +540,6 @@ void migrate_enable(void)
}
#include <linux/mman.h>
void mm_compute_batch(int overcommit_policy)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/mm.h>
void mmput(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/maple_tree.h>
void * mtree_load(struct maple_tree * mt,unsigned long index)
@ -820,13 +548,6 @@ void * mtree_load(struct maple_tree * mt,unsigned long index)
}
extern int netdev_queue_update_kobjects(struct net_device * dev,int old_num,int new_num);
int netdev_queue_update_kobjects(struct net_device * dev,int old_num,int new_num)
{
lx_emul_trace_and_stop(__func__);
}
extern void netdev_unregister_kobject(struct net_device * ndev);
void netdev_unregister_kobject(struct net_device * ndev)
{
@ -834,14 +555,6 @@ void netdev_unregister_kobject(struct net_device * ndev)
}
#include <linux/mmzone.h>
struct pglist_data * next_online_pgdat(struct pglist_data * pgdat)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pipe_fs_i.h>
const struct pipe_buf_operations nosteal_pipe_buf_ops;
@ -852,11 +565,6 @@ const struct pipe_buf_operations nosteal_pipe_buf_ops;
int overflowuid;
#include <linux/splice.h>
const struct pipe_buf_operations page_cache_pipe_buf_ops;
#include <linux/panic.h>
void panic(const char * fmt,...)
@ -865,14 +573,6 @@ void panic(const char * fmt,...)
}
#include <linux/phy.h>
int phy_loopback(struct phy_device * phydev,bool enable)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pid.h>
pid_t pid_vnr(struct pid * pid)
@ -881,33 +581,17 @@ pid_t pid_vnr(struct pid * pid)
}
#include <linux/rcutree.h>
#include <linux/pid.h>
bool poll_state_synchronize_rcu(unsigned long oldstate)
int pidfd_prepare(struct pid * pid,unsigned int flags,struct file ** ret)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
#include <linux/mm.h>
int proc_dointvec(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
int proc_dointvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
int proc_doulongvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
int pin_user_pages_fast(unsigned long start,int nr_pages,unsigned int gup_flags,struct page ** pages)
{
lx_emul_trace_and_stop(__func__);
}
@ -921,6 +605,14 @@ void put_device(struct device * dev)
}
#include <linux/file.h>
void put_unused_fd(unsigned int fd)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int put_user_ifreq(struct ifreq * ifr,void __user * arg)
@ -943,14 +635,6 @@ void raw_spin_rq_unlock(struct rq * rq)
}
#include <linux/refcount.h>
bool refcount_dec_and_mutex_lock(refcount_t * r,struct mutex * lock)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/refcount.h>
bool refcount_dec_if_one(refcount_t * r)
@ -967,14 +651,6 @@ void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
}
#include <linux/mm.h>
void __meminit reserve_bootmem_region(phys_addr_t start,phys_addr_t end)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/fs.h>
int send_sigurg(struct fown_struct * fown)
@ -983,13 +659,6 @@ int send_sigurg(struct fown_struct * fown)
}
extern void set_cpus_allowed_common(struct task_struct * p,const struct cpumask * new_mask,u32 flags);
void set_cpus_allowed_common(struct task_struct * p,const struct cpumask * new_mask,u32 flags)
{
lx_emul_trace_and_stop(__func__);
}
extern void set_rq_offline(struct rq * rq);
void set_rq_offline(struct rq * rq)
{
@ -1004,6 +673,11 @@ void set_rq_online(struct rq * rq)
}
#include <linux/smp.h>
unsigned int setup_max_cpus;
#include <linux/smp.h>
void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,void * info,bool wait)
@ -1060,39 +734,11 @@ ssize_t splice_to_pipe(struct pipe_inode_info * pipe,struct splice_pipe_desc * s
}
#include <linux/rcutree.h>
unsigned long start_poll_synchronize_rcu(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/jump_label.h>
bool static_key_initialized;
extern void switch_mm_irqs_off(struct mm_struct * prev,struct mm_struct * next,struct task_struct * tsk);
void switch_mm_irqs_off(struct mm_struct * prev,struct mm_struct * next,struct task_struct * tsk)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
void sync_mm_rss(struct mm_struct * mm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/device/class.h>
struct kobject *sysfs_dev_char_kobj;
#include <linux/pid_namespace.h>
struct pid_namespace * task_active_pid_ns(struct task_struct * tsk)
@ -1108,22 +754,17 @@ void update_group_capacity(struct sched_domain * sd,int cpu)
}
#include <linux/timekeeper_internal.h>
void update_vsyscall_tz(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/uuid.h>
const u8 uuid_index[16] = {};
#include <linux/mman.h>
#include <linux/vmalloc.h>
s32 vm_committed_as_batch;
void vfree_atomic(const void * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
@ -1134,17 +775,9 @@ int vm_insert_pages(struct vm_area_struct * vma,unsigned long addr,struct page *
}
#include <linux/vmalloc.h>
#include <linux/mm.h>
bool vmalloc_dump_obj(void * object)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/vmalloc.h>
void * vmalloc_huge(unsigned long size,gfp_t gfp_mask)
struct page * vmalloc_to_page(const void * vmalloc_addr)
{
lx_emul_trace_and_stop(__func__);
}
@ -1176,7 +809,7 @@ void __sched yield(void)
#include <linux/mm.h>
void zap_page_range(struct vm_area_struct * vma,unsigned long start,unsigned long size)
void zap_page_range_single(struct vm_area_struct * vma,unsigned long address,unsigned long size,struct zap_details * details)
{
lx_emul_trace_and_stop(__func__);
}

View File

@ -45,6 +45,7 @@ lib/once.c
lib/percpu_counter.c
lib/radix-tree.c
lib/rbtree.c
lib/rcuref.c
lib/rhashtable.c
lib/siphash.c
lib/string.c
@ -72,6 +73,7 @@ net/core/gen_estimator.c
net/core/gen_stats.c
net/core/gro.c
net/core/gro_cells.c
net/core/gso.c
net/core/link_watch.c
net/core/neighbour.c
net/core/net_namespace.c

View File

@ -0,0 +1,35 @@
{
global:
genode_socket;
genode_socket_accept;
genode_socket_bind;
genode_socket_config_address;
genode_socket_configure_mtu;
genode_socket_connect;
genode_socket_getpeername;
genode_socket_getsockname;
genode_socket_getsockopt;
genode_socket_init;
genode_socket_listen;
genode_socket_poll;
genode_socket_pollex_set;
genode_socket_pollin_set;
genode_socket_pollout_set;
genode_socket_recvmsg;
genode_socket_release;
genode_socket_sendmsg;
genode_socket_setsockopt;
genode_socket_shutdown;
genode_socket_wait_for_progress;
/* dhcp */
ic_myaddr;
ic_netmask;
ic_gateway;
ic_nameservers;
local:
*;
};