404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.147.80.238: ~ $
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * linux/cgroup-defs.h - basic definitions for cgroup
 *
 * This file provides basic type and interface.  Include this file directly
 * only if necessary to avoid cyclic dependencies.
 */
#ifndef _LINUX_CGROUP_DEFS_H
#define _LINUX_CGROUP_DEFS_H

#include <linux/limits.h>
#include <linux/list.h>
#include <linux/idr.h>
#include <linux/wait.h>
#include <linux/mutex.h>
#include <linux/rcupdate.h>
#include <linux/refcount.h>
#include <linux/percpu-refcount.h>
#include <linux/percpu-rwsem.h>
#include <linux/u64_stats_sync.h>
#include <linux/workqueue.h>
#include <linux/bpf-cgroup.h>

#ifdef CONFIG_CGROUPS

struct cgroup;
struct cgroup_root;
struct cgroup_subsys;
struct cgroup_taskset;
struct kernfs_node;
struct kernfs_ops;
struct kernfs_open_file;
struct seq_file;

#define MAX_CGROUP_TYPE_NAMELEN 32
#define MAX_CGROUP_ROOT_NAMELEN 64
#define MAX_CFTYPE_NAME		64

/* define the enumeration of all cgroup subsystems */
#define SUBSYS(_x) _x ## _cgrp_id,
enum cgroup_subsys_id {
#include <linux/cgroup_subsys.h>
	CGROUP_SUBSYS_COUNT,
};
#undef SUBSYS

/* bits in struct cgroup_subsys_state flags field */
enum {
	CSS_NO_REF	= (1 << 0), /* no reference counting for this css */
	CSS_ONLINE	= (1 << 1), /* between ->css_online() and ->css_offline() */
	CSS_RELEASED	= (1 << 2), /* refcnt reached zero, released */
	CSS_VISIBLE	= (1 << 3), /* css is visible to userland */
	CSS_DYING	= (1 << 4), /* css is dying */
};

/* bits in struct cgroup flags field */
enum {
	/* Control Group requires release notifications to userspace */
	CGRP_NOTIFY_ON_RELEASE,
	/*
	 * Clone the parent's configuration when creating a new child
	 * cpuset cgroup.  For historical reasons, this option can be
	 * specified at mount time and thus is implemented here.
	 */
	CGRP_CPUSET_CLONE_CHILDREN,
};

/* cgroup_root->flags */
enum {
	CGRP_ROOT_NOPREFIX	= (1 << 1), /* mounted subsystems have no named prefix */
	CGRP_ROOT_XATTR		= (1 << 2), /* supports extended attributes */

	/*
	 * Consider namespaces as delegation boundaries.  If this flag is
	 * set, controller specific interface files in a namespace root
	 * aren't writeable from inside the namespace.
	 */
	CGRP_ROOT_NS_DELEGATE	= (1 << 3),

	/*
	 * Enable cpuset controller in v1 cgroup to use v2 behavior.
	 */
	CGRP_ROOT_CPUSET_V2_MODE = (1 << 4),
};

/* cftype->flags */
enum {
	CFTYPE_ONLY_ON_ROOT	= (1 << 0),	/* only create on root cgrp */
	CFTYPE_NOT_ON_ROOT	= (1 << 1),	/* don't create on root cgrp */
	CFTYPE_NS_DELEGATABLE	= (1 << 2),	/* writeable beyond delegation boundaries */

	CFTYPE_NO_PREFIX	= (1 << 3),	/* (DON'T USE FOR NEW FILES) no subsys prefix */
	CFTYPE_WORLD_WRITABLE	= (1 << 4),	/* (DON'T USE FOR NEW FILES) S_IWUGO */

	/* internal flags, do not use outside cgroup core proper */
	__CFTYPE_ONLY_ON_DFL	= (1 << 16),	/* only on default hierarchy */
	__CFTYPE_NOT_ON_DFL	= (1 << 17),	/* not on default hierarchy */
};

/*
 * cgroup_file is the handle for a file instance created in a cgroup which
 * is used, for example, to generate file changed notifications.  This can
 * be obtained by setting cftype->file_offset.
 */
struct cgroup_file {
	/* do not access any fields from outside cgroup core */
	struct kernfs_node *kn;
};

/*
 * Per-subsystem/per-cgroup state maintained by the system.  This is the
 * fundamental structural building block that controllers deal with.
 *
 * Fields marked with "PI:" are public and immutable and may be accessed
 * directly without synchronization.
 */
struct cgroup_subsys_state {
	/* PI: the cgroup that this css is attached to */
	struct cgroup *cgroup;

	/* PI: the cgroup subsystem that this css is attached to */
	struct cgroup_subsys *ss;

	/* reference count - access via css_[try]get() and css_put() */
	struct percpu_ref refcnt;

	/* siblings list anchored at the parent's ->children */
	struct list_head sibling;
	struct list_head children;

	/*
	 * PI: Subsys-unique ID.  0 is unused and root is always 1.  The
	 * matching css can be looked up using css_from_id().
	 */
	int id;

	unsigned int flags;

	/*
	 * Monotonically increasing unique serial number which defines a
	 * uniform order among all csses.  It's guaranteed that all
	 * ->children lists are in the ascending order of ->serial_nr and
	 * used to allow interrupting and resuming iterations.
	 */
	u64 serial_nr;

	/*
	 * Incremented by online self and children.  Used to guarantee that
	 * parents are not offlined before their children.
	 */
	atomic_t online_cnt;

	/* percpu_ref killing and RCU release */
	struct rcu_head rcu_head;
	struct work_struct destroy_work;

	/*
	 * PI: the parent css.	Placed here for cache proximity to following
	 * fields of the containing structure.
	 */
	struct cgroup_subsys_state *parent;
};

/*
 * A css_set is a structure holding pointers to a set of
 * cgroup_subsys_state objects. This saves space in the task struct
 * object and speeds up fork()/exit(), since a single inc/dec and a
 * list_add()/del() can bump the reference count on the entire cgroup
 * set for a task.
 */
struct css_set {
	/*
	 * Set of subsystem states, one for each subsystem. This array is
	 * immutable after creation apart from the init_css_set during
	 * subsystem registration (at boot time).
	 */
	struct cgroup_subsys_state *subsys[CGROUP_SUBSYS_COUNT];

	/* reference count */
	refcount_t refcount;

	/*
	 * For a domain cgroup, the following points to self.  If threaded,
	 * to the matching cset of the nearest domain ancestor.  The
	 * dom_cset provides access to the domain cgroup and its csses to
	 * which domain level resource consumptions should be charged.
	 */
	struct css_set *dom_cset;

	/* the default cgroup associated with this css_set */
	struct cgroup *dfl_cgrp;

	/* internal task count, protected by css_set_lock */
	int nr_tasks;

	/*
	 * Lists running through all tasks using this cgroup group.
	 * mg_tasks lists tasks which belong to this cset but are in the
	 * process of being migrated out or in.  Protected by
	 * css_set_rwsem, but, during migration, once tasks are moved to
	 * mg_tasks, it can be read safely while holding cgroup_mutex.
	 */
	struct list_head tasks;
	struct list_head mg_tasks;
	struct list_head dying_tasks;

	/* all css_task_iters currently walking this cset */
	struct list_head task_iters;

	/*
	 * On the default hierarhcy, ->subsys[ssid] may point to a css
	 * attached to an ancestor instead of the cgroup this css_set is
	 * associated with.  The following node is anchored at
	 * ->subsys[ssid]->cgroup->e_csets[ssid] and provides a way to
	 * iterate through all css's attached to a given cgroup.
	 */
	struct list_head e_cset_node[CGROUP_SUBSYS_COUNT];

	/* all threaded csets whose ->dom_cset points to this cset */
	struct list_head threaded_csets;
	struct list_head threaded_csets_node;

	/*
	 * List running through all cgroup groups in the same hash
	 * slot. Protected by css_set_lock
	 */
	struct hlist_node hlist;

	/*
	 * List of cgrp_cset_links pointing at cgroups referenced from this
	 * css_set.  Protected by css_set_lock.
	 */
	struct list_head cgrp_links;

	/*
	 * List of csets participating in the on-going migration either as
	 * source or destination.  Protected by cgroup_mutex.
	 */
	struct list_head mg_src_preload_node;
	struct list_head mg_dst_preload_node;
	struct list_head mg_node;

	/*
	 * If this cset is acting as the source of migration the following
	 * two fields are set.  mg_src_cgrp and mg_dst_cgrp are
	 * respectively the source and destination cgroups of the on-going
	 * migration.  mg_dst_cset is the destination cset the target tasks
	 * on this cset should be migrated to.  Protected by cgroup_mutex.
	 */
	struct cgroup *mg_src_cgrp;
	struct cgroup *mg_dst_cgrp;
	struct css_set *mg_dst_cset;

	/* dead and being drained, ignore for migration */
	bool dead;

	/* For RCU-protected deletion */
	struct rcu_head rcu_head;
};

/*
 * cgroup basic resource usage statistics.  Accounting is done per-cpu in
 * cgroup_cpu_stat which is then lazily propagated up the hierarchy on
 * reads.
 *
 * When a stat gets updated, the cgroup_cpu_stat and its ancestors are
 * linked into the updated tree.  On the following read, propagation only
 * considers and consumes the updated tree.  This makes reading O(the
 * number of descendants which have been active since last read) instead of
 * O(the total number of descendants).
 *
 * This is important because there can be a lot of (draining) cgroups which
 * aren't active and stat may be read frequently.  The combination can
 * become very expensive.  By propagating selectively, increasing reading
 * frequency decreases the cost of each read.
 */
struct cgroup_cpu_stat {
	/*
	 * ->sync protects all the current counters.  These are the only
	 * fields which get updated in the hot path.
	 */
	struct u64_stats_sync sync;
	struct task_cputime cputime;

	/*
	 * Snapshots at the last reading.  These are used to calculate the
	 * deltas to propagate to the global counters.
	 */
	struct task_cputime last_cputime;

	/*
	 * Child cgroups with stat updates on this cpu since the last read
	 * are linked on the parent's ->updated_children through
	 * ->updated_next.
	 *
	 * In addition to being more compact, singly-linked list pointing
	 * to the cgroup makes it unnecessary for each per-cpu struct to
	 * point back to the associated cgroup.
	 *
	 * Protected by per-cpu cgroup_cpu_stat_lock.
	 */
	struct cgroup *updated_children;	/* terminated by self cgroup */
	struct cgroup *updated_next;		/* NULL iff not on the list */
};

struct cgroup_stat {
	/* per-cpu statistics are collected into the folowing global counters */
	struct task_cputime cputime;
	struct prev_cputime prev_cputime;
};

struct cgroup {
	/* self css with NULL ->ss, points back to this cgroup */
	struct cgroup_subsys_state self;

	unsigned long flags;		/* "unsigned long" so bitops work */

	/*
	 * idr allocated in-hierarchy ID.
	 *
	 * ID 0 is not used, the ID of the root cgroup is always 1, and a
	 * new cgroup will be assigned with a smallest available ID.
	 *
	 * Allocating/Removing ID must be protected by cgroup_mutex.
	 */
	int id;

	/*
	 * The depth this cgroup is at.  The root is at depth zero and each
	 * step down the hierarchy increments the level.  This along with
	 * ancestor_ids[] can determine whether a given cgroup is a
	 * descendant of another without traversing the hierarchy.
	 */
	int level;

	/* Maximum allowed descent tree depth */
	int max_depth;

	/*
	 * Keep track of total numbers of visible and dying descent cgroups.
	 * Dying cgroups are cgroups which were deleted by a user,
	 * but are still existing because someone else is holding a reference.
	 * max_descendants is a maximum allowed number of descent cgroups.
	 *
	 * nr_descendants and nr_dying_descendants are protected
	 * by cgroup_mutex and css_set_lock. It's fine to read them holding
	 * any of cgroup_mutex and css_set_lock; for writing both locks
	 * should be held.
	 */
	int nr_descendants;
	int nr_dying_descendants;
	int max_descendants;

	/*
	 * Each non-empty css_set associated with this cgroup contributes
	 * one to nr_populated_csets.  The counter is zero iff this cgroup
	 * doesn't have any tasks.
	 *
	 * All children which have non-zero nr_populated_csets and/or
	 * nr_populated_children of their own contribute one to either
	 * nr_populated_domain_children or nr_populated_threaded_children
	 * depending on their type.  Each counter is zero iff all cgroups
	 * of the type in the subtree proper don't have any tasks.
	 */
	int nr_populated_csets;
	int nr_populated_domain_children;
	int nr_populated_threaded_children;

	int nr_threaded_children;	/* # of live threaded child cgroups */

	struct kernfs_node *kn;		/* cgroup kernfs entry */
	struct cgroup_file procs_file;	/* handle for "cgroup.procs" */
	struct cgroup_file events_file;	/* handle for "cgroup.events" */

	/*
	 * The bitmask of subsystems enabled on the child cgroups.
	 * ->subtree_control is the one configured through
	 * "cgroup.subtree_control" while ->child_ss_mask is the effective
	 * one which may have more subsystems enabled.  Controller knobs
	 * are made available iff it's enabled in ->subtree_control.
	 */
	u16 subtree_control;
	u16 subtree_ss_mask;
	u16 old_subtree_control;
	u16 old_subtree_ss_mask;

	/* Private pointers for each registered subsystem */
	struct cgroup_subsys_state __rcu *subsys[CGROUP_SUBSYS_COUNT];

	struct cgroup_root *root;

	/*
	 * List of cgrp_cset_links pointing at css_sets with tasks in this
	 * cgroup.  Protected by css_set_lock.
	 */
	struct list_head cset_links;

	/*
	 * On the default hierarchy, a css_set for a cgroup with some
	 * susbsys disabled will point to css's which are associated with
	 * the closest ancestor which has the subsys enabled.  The
	 * following lists all css_sets which point to this cgroup's css
	 * for the given subsystem.
	 */
	struct list_head e_csets[CGROUP_SUBSYS_COUNT];

	/*
	 * If !threaded, self.  If threaded, it points to the nearest
	 * domain ancestor.  Inside a threaded subtree, cgroups are exempt
	 * from process granularity and no-internal-task constraint.
	 * Domain level resource consumptions which aren't tied to a
	 * specific task are charged to the dom_cgrp.
	 */
	struct cgroup *dom_cgrp;
	struct cgroup *old_dom_cgrp;		/* used while enabling threaded */

	/* cgroup basic resource statistics */
	struct cgroup_cpu_stat __percpu *cpu_stat;
	struct cgroup_stat pending_stat;	/* pending from children */
	struct cgroup_stat stat;

	/*
	 * list of pidlists, up to two for each namespace (one for procs, one
	 * for tasks); created on demand.
	 */
	struct list_head pidlists;
	struct mutex pidlist_mutex;

	/* used to wait for offlining of csses */
	wait_queue_head_t offline_waitq;

	/* used to schedule release agent */
	struct work_struct release_agent_work;

	/* used to store eBPF programs */
	struct cgroup_bpf bpf;

	/* ids of the ancestors at each level including self */
	int ancestor_ids[];
};

/*
 * A cgroup_root represents the root of a cgroup hierarchy, and may be
 * associated with a kernfs_root to form an active hierarchy.  This is
 * internal to cgroup core.  Don't access directly from controllers.
 */
struct cgroup_root {
	struct kernfs_root *kf_root;

	/* The bitmask of subsystems attached to this hierarchy */
	unsigned int subsys_mask;

	/* Unique id for this hierarchy. */
	int hierarchy_id;

	/* The root cgroup.  Root is destroyed on its release. */
	struct cgroup cgrp;

	/* for cgrp->ancestor_ids[0] */
	int cgrp_ancestor_id_storage;

	/* Number of cgroups in the hierarchy, used only for /proc/cgroups */
	atomic_t nr_cgrps;

	/* A list running through the active hierarchies */
	struct list_head root_list;

	/* Hierarchy-specific flags */
	unsigned int flags;

	/* IDs for cgroups in this hierarchy */
	struct idr cgroup_idr;

	/* The path to use for release notifications. */
	char release_agent_path[PATH_MAX];

	/* The name for this hierarchy - may be empty */
	char name[MAX_CGROUP_ROOT_NAMELEN];
};

/*
 * struct cftype: handler definitions for cgroup control files
 *
 * When reading/writing to a file:
 *	- the cgroup to use is file->f_path.dentry->d_parent->d_fsdata
 *	- the 'cftype' of the file is file->f_path.dentry->d_fsdata
 */
struct cftype {
	/*
	 * By convention, the name should begin with the name of the
	 * subsystem, followed by a period.  Zero length string indicates
	 * end of cftype array.
	 */
	char name[MAX_CFTYPE_NAME];
	unsigned long private;

	/*
	 * The maximum length of string, excluding trailing nul, that can
	 * be passed to write.  If < PAGE_SIZE-1, PAGE_SIZE-1 is assumed.
	 */
	size_t max_write_len;

	/* CFTYPE_* flags */
	unsigned int flags;

	/*
	 * If non-zero, should contain the offset from the start of css to
	 * a struct cgroup_file field.  cgroup will record the handle of
	 * the created file into it.  The recorded handle can be used as
	 * long as the containing css remains accessible.
	 */
	unsigned int file_offset;

	/*
	 * Fields used for internal bookkeeping.  Initialized automatically
	 * during registration.
	 */
	struct cgroup_subsys *ss;	/* NULL for cgroup core files */
	struct list_head node;		/* anchored at ss->cfts */
	struct kernfs_ops *kf_ops;

	int (*open)(struct kernfs_open_file *of);
	void (*release)(struct kernfs_open_file *of);

	/*
	 * read_u64() is a shortcut for the common case of returning a
	 * single integer. Use it in place of read()
	 */
	u64 (*read_u64)(struct cgroup_subsys_state *css, struct cftype *cft);
	/*
	 * read_s64() is a signed version of read_u64()
	 */
	s64 (*read_s64)(struct cgroup_subsys_state *css, struct cftype *cft);

	/* generic seq_file read interface */
	int (*seq_show)(struct seq_file *sf, void *v);

	/* optional ops, implement all or none */
	void *(*seq_start)(struct seq_file *sf, loff_t *ppos);
	void *(*seq_next)(struct seq_file *sf, void *v, loff_t *ppos);
	void (*seq_stop)(struct seq_file *sf, void *v);

	/*
	 * write_u64() is a shortcut for the common case of accepting
	 * a single integer (as parsed by simple_strtoull) from
	 * userspace. Use in place of write(); return 0 or error.
	 */
	int (*write_u64)(struct cgroup_subsys_state *css, struct cftype *cft,
			 u64 val);
	/*
	 * write_s64() is a signed version of write_u64()
	 */
	int (*write_s64)(struct cgroup_subsys_state *css, struct cftype *cft,
			 s64 val);

	/*
	 * write() is the generic write callback which maps directly to
	 * kernfs write operation and overrides all other operations.
	 * Maximum write size is determined by ->max_write_len.  Use
	 * of_css/cft() to access the associated css and cft.
	 */
	ssize_t (*write)(struct kernfs_open_file *of,
			 char *buf, size_t nbytes, loff_t off);

#ifdef CONFIG_DEBUG_LOCK_ALLOC
	struct lock_class_key	lockdep_key;
#endif
};

/*
 * Control Group subsystem type.
 * See Documentation/cgroups/cgroups.txt for details
 */
struct cgroup_subsys {
	struct cgroup_subsys_state *(*css_alloc)(struct cgroup_subsys_state *parent_css);
	int (*css_online)(struct cgroup_subsys_state *css);
	void (*css_offline)(struct cgroup_subsys_state *css);
	void (*css_released)(struct cgroup_subsys_state *css);
	void (*css_free)(struct cgroup_subsys_state *css);
	void (*css_reset)(struct cgroup_subsys_state *css);
	int (*css_extra_stat_show)(struct seq_file *seq,
				   struct cgroup_subsys_state *css);

	int (*can_attach)(struct cgroup_taskset *tset);
	void (*cancel_attach)(struct cgroup_taskset *tset);
	void (*attach)(struct cgroup_taskset *tset);
	void (*post_attach)(void);
	int (*can_fork)(struct task_struct *task);
	void (*cancel_fork)(struct task_struct *task);
	void (*fork)(struct task_struct *task);
	void (*exit)(struct task_struct *task);
	void (*release)(struct task_struct *task);
	void (*bind)(struct cgroup_subsys_state *root_css);

	bool early_init:1;

	/*
	 * If %true, the controller, on the default hierarchy, doesn't show
	 * up in "cgroup.controllers" or "cgroup.subtree_control", is
	 * implicitly enabled on all cgroups on the default hierarchy, and
	 * bypasses the "no internal process" constraint.  This is for
	 * utility type controllers which is transparent to userland.
	 *
	 * An implicit controller can be stolen from the default hierarchy
	 * anytime and thus must be okay with offline csses from previous
	 * hierarchies coexisting with csses for the current one.
	 */
	bool implicit_on_dfl:1;

	/*
	 * If %true, the controller, supports threaded mode on the default
	 * hierarchy.  In a threaded subtree, both process granularity and
	 * no-internal-process constraint are ignored and a threaded
	 * controllers should be able to handle that.
	 *
	 * Note that as an implicit controller is automatically enabled on
	 * all cgroups on the default hierarchy, it should also be
	 * threaded.  implicit && !threaded is not supported.
	 */
	bool threaded:1;

	/*
	 * If %false, this subsystem is properly hierarchical -
	 * configuration, resource accounting and restriction on a parent
	 * cgroup cover those of its children.  If %true, hierarchy support
	 * is broken in some ways - some subsystems ignore hierarchy
	 * completely while others are only implemented half-way.
	 *
	 * It's now disallowed to create nested cgroups if the subsystem is
	 * broken and cgroup core will emit a warning message on such
	 * cases.  Eventually, all subsystems will be made properly
	 * hierarchical and this will go away.
	 */
	bool broken_hierarchy:1;
	bool warned_broken_hierarchy:1;

	/* the following two fields are initialized automtically during boot */
	int id;
	const char *name;

	/* optional, initialized automatically during boot if not set */
	const char *legacy_name;

	/* link to parent, protected by cgroup_lock() */
	struct cgroup_root *root;

	/* idr for css->id */
	struct idr css_idr;

	/*
	 * List of cftypes.  Each entry is the first entry of an array
	 * terminated by zero length name.
	 */
	struct list_head cfts;

	/*
	 * Base cftypes which are automatically registered.  The two can
	 * point to the same array.
	 */
	struct cftype *dfl_cftypes;	/* for the default hierarchy */
	struct cftype *legacy_cftypes;	/* for the legacy hierarchies */

	/*
	 * A subsystem may depend on other subsystems.  When such subsystem
	 * is enabled on a cgroup, the depended-upon subsystems are enabled
	 * together if available.  Subsystems enabled due to dependency are
	 * not visible to userland until explicitly enabled.  The following
	 * specifies the mask of subsystems that this one depends on.
	 */
	unsigned int depends_on;
};

extern struct percpu_rw_semaphore cgroup_threadgroup_rwsem;

/**
 * cgroup_threadgroup_change_begin - threadgroup exclusion for cgroups
 * @tsk: target task
 *
 * Allows cgroup operations to synchronize against threadgroup changes
 * using a percpu_rw_semaphore.
 */
static inline void cgroup_threadgroup_change_begin(struct task_struct *tsk)
{
	percpu_down_read(&cgroup_threadgroup_rwsem);
}

/**
 * cgroup_threadgroup_change_end - threadgroup exclusion for cgroups
 * @tsk: target task
 *
 * Counterpart of cgroup_threadcgroup_change_begin().
 */
static inline void cgroup_threadgroup_change_end(struct task_struct *tsk)
{
	percpu_up_read(&cgroup_threadgroup_rwsem);
}

#else	/* CONFIG_CGROUPS */

#define CGROUP_SUBSYS_COUNT 0

static inline void cgroup_threadgroup_change_begin(struct task_struct *tsk)
{
	might_sleep();
}

static inline void cgroup_threadgroup_change_end(struct task_struct *tsk) {}

#endif	/* CONFIG_CGROUPS */

#ifdef CONFIG_SOCK_CGROUP_DATA

/*
 * sock_cgroup_data is embedded at sock->sk_cgrp_data and contains
 * per-socket cgroup information except for memcg association.
 *
 * On legacy hierarchies, net_prio and net_cls controllers directly set
 * attributes on each sock which can then be tested by the network layer.
 * On the default hierarchy, each sock is associated with the cgroup it was
 * created in and the networking layer can match the cgroup directly.
 *
 * To avoid carrying all three cgroup related fields separately in sock,
 * sock_cgroup_data overloads (prioidx, classid) and the cgroup pointer.
 * On boot, sock_cgroup_data records the cgroup that the sock was created
 * in so that cgroup2 matches can be made; however, once either net_prio or
 * net_cls starts being used, the area is overriden to carry prioidx and/or
 * classid.  The two modes are distinguished by whether the lowest bit is
 * set.  Clear bit indicates cgroup pointer while set bit prioidx and
 * classid.
 *
 * While userland may start using net_prio or net_cls at any time, once
 * either is used, cgroup2 matching no longer works.  There is no reason to
 * mix the two and this is in line with how legacy and v2 compatibility is
 * handled.  On mode switch, cgroup references which are already being
 * pointed to by socks may be leaked.  While this can be remedied by adding
 * synchronization around sock_cgroup_data, given that the number of leaked
 * cgroups is bound and highly unlikely to be high, this seems to be the
 * better trade-off.
 */
struct sock_cgroup_data {
	union {
#ifdef __LITTLE_ENDIAN
		struct {
			u8	is_data : 1;
			u8	no_refcnt : 1;
			u8	unused : 6;
			u8	padding;
			u16	prioidx;
			u32	classid;
		} __packed;
#else
		struct {
			u32	classid;
			u16	prioidx;
			u8	padding;
			u8	unused : 6;
			u8	no_refcnt : 1;
			u8	is_data : 1;
		} __packed;
#endif
		u64		val;
	};
};

/*
 * There's a theoretical window where the following accessors race with
 * updaters and return part of the previous pointer as the prioidx or
 * classid.  Such races are short-lived and the result isn't critical.
 */
static inline u16 sock_cgroup_prioidx(const struct sock_cgroup_data *skcd)
{
	/* fallback to 1 which is always the ID of the root cgroup */
	return (skcd->is_data & 1) ? skcd->prioidx : 1;
}

static inline u32 sock_cgroup_classid(const struct sock_cgroup_data *skcd)
{
	/* fallback to 0 which is the unconfigured default classid */
	return (skcd->is_data & 1) ? skcd->classid : 0;
}

/*
 * If invoked concurrently, the updaters may clobber each other.  The
 * caller is responsible for synchronization.
 */
static inline void sock_cgroup_set_prioidx(struct sock_cgroup_data *skcd,
					   u16 prioidx)
{
	struct sock_cgroup_data skcd_buf = {{ .val = READ_ONCE(skcd->val) }};

	if (sock_cgroup_prioidx(&skcd_buf) == prioidx)
		return;

	if (!(skcd_buf.is_data & 1)) {
		skcd_buf.val = 0;
		skcd_buf.is_data = 1;
	}

	skcd_buf.prioidx = prioidx;
	WRITE_ONCE(skcd->val, skcd_buf.val);	/* see sock_cgroup_ptr() */
}

static inline void sock_cgroup_set_classid(struct sock_cgroup_data *skcd,
					   u32 classid)
{
	struct sock_cgroup_data skcd_buf = {{ .val = READ_ONCE(skcd->val) }};

	if (sock_cgroup_classid(&skcd_buf) == classid)
		return;

	if (!(skcd_buf.is_data & 1)) {
		skcd_buf.val = 0;
		skcd_buf.is_data = 1;
	}

	skcd_buf.classid = classid;
	WRITE_ONCE(skcd->val, skcd_buf.val);	/* see sock_cgroup_ptr() */
}

#else	/* CONFIG_SOCK_CGROUP_DATA */

struct sock_cgroup_data {
};

#endif	/* CONFIG_SOCK_CGROUP_DATA */

#endif	/* _LINUX_CGROUP_DEFS_H */

Filemanager

Name Type Size Permission Actions
amba Folder 0755
avf Folder 0755
bcma Folder 0755
byteorder Folder 0755
can Folder 0755
ceph Folder 0755
clk Folder 0755
crush Folder 0755
decompress Folder 0755
dma Folder 0755
dsa Folder 0755
extcon Folder 0755
firmware Folder 0755
fpga Folder 0755
fsl Folder 0755
gpio Folder 0755
hsi Folder 0755
i2c Folder 0755
iio Folder 0755
input Folder 0755
irqchip Folder 0755
isdn Folder 0755
lockd Folder 0755
mailbox Folder 0755
mfd Folder 0755
mlx4 Folder 0755
mlx5 Folder 0755
mmc Folder 0755
mtd Folder 0755
mux Folder 0755
netfilter Folder 0755
netfilter_arp Folder 0755
netfilter_bridge Folder 0755
netfilter_ipv4 Folder 0755
netfilter_ipv6 Folder 0755
perf Folder 0755
phy Folder 0755
pinctrl Folder 0755
platform_data Folder 0755
power Folder 0755
qed Folder 0755
raid Folder 0755
regulator Folder 0755
remoteproc Folder 0755
reset Folder 0755
rpmsg Folder 0755
rtc Folder 0755
sched Folder 0755
soc Folder 0755
spi Folder 0755
ssb Folder 0755
sunrpc Folder 0755
ulpi Folder 0755
unaligned Folder 0755
usb Folder 0755
uwb Folder 0755
wimax Folder 0755
8250_pci.h File 1.01 KB 0644
a.out.h File 354 B 0644
acct.h File 2.49 KB 0644
acpi.h File 36.89 KB 0644
acpi_dma.h File 3.22 KB 0644
acpi_iort.h File 2.15 KB 0644
acpi_pmtmr.h File 674 B 0644
adb.h File 1.79 KB 0644
adfs_fs.h File 574 B 0644
aer.h File 1.71 KB 0644
agp_backend.h File 3.45 KB 0644
agpgart.h File 3.82 KB 0644
ahci-remap.h File 607 B 0644
ahci_platform.h File 1.67 KB 0644
aio.h File 673 B 0644
alarmtimer.h File 1.83 KB 0644
altera_jtaguart.h File 379 B 0644
altera_uart.h File 397 B 0644
amd-iommu.h File 6.78 KB 0644
amifd.h File 1.99 KB 0644
amifdreg.h File 2.65 KB 0644
anon_inodes.h File 494 B 0644
apm-emulation.h File 1.54 KB 0644
apm_bios.h File 2.68 KB 0644
apple-gmux.h File 1.42 KB 0644
apple_bl.h File 498 B 0644
arch_topology.h File 840 B 0644
arm-cci.h File 2.01 KB 0644
arm-smccc.h File 12.79 KB 0644
arm_sdei.h File 2.33 KB 0644
asn1.h File 1.99 KB 0644
asn1_ber_bytecode.h File 2.72 KB 0644
asn1_decoder.h File 675 B 0644
assoc_array.h File 3.07 KB 0644
assoc_array_priv.h File 5.49 KB 0644
async.h File 1.65 KB 0644
async_tx.h File 6.81 KB 0644
ata.h File 33.61 KB 0644
ata_platform.h File 729 B 0644
atalk.h File 4.36 KB 0644
ath9k_platform.h File 1.44 KB 0644
atm.h File 287 B 0644
atm_suni.h File 253 B 0644
atm_tcp.h File 511 B 0644
atmdev.h File 10.21 KB 0644
atmel-mci.h File 1.4 KB 0644
atmel-ssc.h File 9.74 KB 0644
atmel_pdc.h File 1.47 KB 0644
atmel_tc.h File 11.33 KB 0644
atomic.h File 30.5 KB 0644
attribute_container.h File 2.47 KB 0644
audit.h File 17.22 KB 0644
auto_dev-ioctl.h File 454 B 0644
auto_fs.h File 436 B 0644
auxvec.h File 304 B 0644
average.h File 2.42 KB 0644
b1pcmcia.h File 666 B 0644
backing-dev-defs.h File 8.53 KB 0644
backing-dev.h File 13.8 KB 0644
backlight.h File 5.3 KB 0644
badblocks.h File 2.14 KB 0644
balloon_compaction.h File 7.2 KB 0644
bcd.h File 559 B 0644
bch.h File 2.6 KB 0644
bcm47xx_nvram.h File 1.22 KB 0644
bcm47xx_sprom.h File 600 B 0644
bcm47xx_wdt.h File 555 B 0644
bcm963xx_nvram.h File 2.96 KB 0644
bcm963xx_tag.h File 3.6 KB 0644
bfin_mac.h File 559 B 0644
binfmts.h File 4.77 KB 0644
bio.h File 20.17 KB 0644
bit_spinlock.h File 2.3 KB 0644
bitfield.h File 3.2 KB 0644
bitmap.h File 16.68 KB 0644
bitops.h File 6.69 KB 0644
bitrev.h File 2.53 KB 0644
bits.h File 883 B 0644
blk-cgroup.h File 22.2 KB 0644
blk-mq-pci.h File 247 B 0644
blk-mq-rdma.h File 232 B 0644
blk-mq-virtio.h File 288 B 0644
blk-mq.h File 9.09 KB 0644
blk_types.h File 10.52 KB 0644
blkdev.h File 58.96 KB 0644
blkpg.h File 436 B 0644
blktrace_api.h File 3.87 KB 0644
blockgroup_lock.h File 810 B 0644
bma150.h File 1.89 KB 0644
bootmem.h File 11.7 KB 0644
bottom_half.h File 803 B 0644
bpf-cgroup.h File 4.53 KB 0644
bpf.h File 18.51 KB 0644
bpf_trace.h File 196 B 0644
bpf_types.h File 1.88 KB 0644
bpf_verifier.h File 6.76 KB 0644
brcmphy.h File 9.88 KB 0644
bsearch.h File 275 B 0644
bsg-lib.h File 2.13 KB 0644
bsg.h File 773 B 0644
btree-128.h File 2.67 KB 0644
btree-type.h File 3.9 KB 0644
btree.h File 6.83 KB 0644
btrfs.h File 145 B 0644
buffer_head.h File 14.38 KB 0644
bug.h File 1.92 KB 0644
build_bug.h File 3.15 KB 0644
bvec.h File 4.39 KB 0644
c2port.h File 1.49 KB 0644
cache.h File 2.13 KB 0644
cacheinfo.h File 3.27 KB 0644
capability.h File 7.6 KB 0644
cb710.h File 5.69 KB 0644
cciss_ioctl.h File 1.03 KB 0644
ccp.h File 18.26 KB 0644
cdev.h File 845 B 0644
cdrom.h File 8.75 KB 0644
cfag12864b.h File 2.1 KB 0644
cgroup-defs.h File 25.38 KB 0644
cgroup.h File 26.12 KB 0644
cgroup_rdma.h File 1.33 KB 0644
cgroup_subsys.h File 1.17 KB 0644
circ_buf.h File 1.08 KB 0644
cleancache.h File 3.89 KB 0644
clk-provider.h File 34.29 KB 0644
clk.h File 19.38 KB 0644
clkdev.h File 1.54 KB 0644
clock_cooling.h File 2.06 KB 0644
clockchips.h File 7.27 KB 0644
clocksource.h File 8.31 KB 0644
cm4000_cs.h File 199 B 0644
cma.h File 1.19 KB 0644
cmdline-parser.h File 1.21 KB 0644
cn_proc.h File 1.85 KB 0644
cnt32_to_63.h File 3.6 KB 0644
coda.h File 2.16 KB 0644
coda_psdev.h File 2.98 KB 0644
compaction.h File 7.1 KB 0644
compat.h File 27.39 KB 0644
compiler-clang.h File 1.31 KB 0644
compiler-gcc.h File 12.6 KB 0644
compiler-intel.h File 1.3 KB 0644
compiler.h File 10.06 KB 0644
compiler_types.h File 7.5 KB 0644
completion.h File 4.05 KB 0644
component.h File 1.37 KB 0644
concap.h File 3.69 KB 0644
configfs.h File 9.22 KB 0644
connector.h File 2.43 KB 0644
console.h File 6.72 KB 0644
console_struct.h File 6.87 KB 0644
consolemap.h File 1.04 KB 0644
const.h File 157 B 0644
container.h File 668 B 0644
context_tracking.h File 4.43 KB 0644
context_tracking_state.h File 1.39 KB 0644
cordic.h File 1.75 KB 0644
coredump.h File 783 B 0644
coresight-pmu.h File 1.44 KB 0644
coresight-stm.h File 152 B 0644
coresight.h File 9.86 KB 0644
count_zeros.h File 1.62 KB 0644
cper.h File 16.11 KB 0644
cpu.h File 6.86 KB 0644
cpu_cooling.h File 3.59 KB 0644
cpu_pm.h File 2.78 KB 0644
cpu_rmap.h File 1.86 KB 0644
cpufeature.h File 1.85 KB 0644
cpufreq.h File 27.62 KB 0644
cpuhotplug.h File 12.05 KB 0644
cpuidle.h File 8.68 KB 0644
cpumask.h File 25.38 KB 0644
cpuset.h File 7.07 KB 0644
crash_core.h File 2.99 KB 0644
crash_dump.h File 2.98 KB 0644
crc-ccitt.h File 369 B 0644
crc-itu-t.h File 613 B 0644
crc-t10dif.h File 415 B 0644
crc16.h File 622 B 0644
crc32.h File 2.83 KB 0644
crc32c.h File 293 B 0644
crc4.h File 192 B 0644
crc7.h File 316 B 0644
crc8.h File 3.65 KB 0644
cred.h File 12.29 KB 0644
crypto.h File 55.52 KB 0644
cryptohash.h File 319 B 0644
cs5535.h File 6.28 KB 0644
ctype.h File 1.75 KB 0644
cuda.h File 501 B 0644
cyclades.h File 10.36 KB 0644
davinci_emac.h File 1.12 KB 0644
dax.h File 3.65 KB 0644
dca.h File 2.63 KB 0644
dcache.h File 18.78 KB 0644
dccp.h File 10.73 KB 0644
dcookies.h File 1.3 KB 0644
debug_locks.h File 1.51 KB 0644
debugfs.h File 11.09 KB 0644
debugobjects.h File 3.89 KB 0644
delay.h File 1.83 KB 0644
delayacct.h File 5.17 KB 0644
delayed_call.h File 709 B 0644
dell-led.h File 128 B 0644
devcoredump.h File 2.78 KB 0644
devfreq-event.h File 5.64 KB 0644
devfreq.h File 12.53 KB 0644
devfreq_cooling.h File 3.54 KB 0644
device-mapper.h File 17.85 KB 0644
device.h File 55.51 KB 0644
device_cgroup.h File 1.86 KB 0644
devpts_fs.h File 1.28 KB 0644
digsig.h File 1.35 KB 0644
dim.h File 8.98 KB 0644
dio.h File 10.97 KB 0644
dirent.h File 216 B 0644
dlm.h File 6.01 KB 0644
dlm_plock.h File 678 B 0644
dm-dirty-log.h File 3.94 KB 0644
dm-io.h File 1.93 KB 0644
dm-kcopyd.h File 2.88 KB 0644
dm-region-hash.h File 3.11 KB 0644
dm9000.h File 1.11 KB 0644
dma-buf.h File 14.7 KB 0644
dma-contiguous.h File 4.48 KB 0644
dma-debug.h File 5.61 KB 0644
dma-direction.h File 338 B 0644
dma-fence-array.h File 2.49 KB 0644
dma-fence.h File 17.29 KB 0644
dma-iommu.h File 3.62 KB 0644
dma-mapping.h File 24.61 KB 0644
dma_remapping.h File 1.46 KB 0644
dmaengine.h File 46.04 KB 0644
dmapool.h File 1.09 KB 0644
dmar.h File 7.94 KB 0644
dmi.h File 4.08 KB 0644
dnotify.h File 1.02 KB 0644
dns_resolver.h File 1.31 KB 0644
dqblk_qtree.h File 2.19 KB 0644
dqblk_v1.h File 327 B 0644
dqblk_v2.h File 406 B 0644
drbd.h File 10.67 KB 0644
drbd_genl.h File 21.49 KB 0644
drbd_genl_api.h File 1.77 KB 0644
drbd_limits.h File 7.82 KB 0644
ds2782_battery.h File 158 B 0644
dtlk.h File 3.5 KB 0644
dw_apb_timer.h File 1.7 KB 0644
dynamic_debug.h File 5.08 KB 0644
dynamic_queue_limits.h File 3.7 KB 0644
earlycpio.h File 359 B 0644
ecryptfs.h File 3.82 KB 0644
edac.h File 20.26 KB 0644
edd.h File 1.43 KB 0644
edma.h File 807 B 0644
eeprom_93cx6.h File 2.94 KB 0644
eeprom_93xx46.h File 879 B 0644
efi-bgrt.h File 644 B 0644
efi.h File 49.13 KB 0644
efs_vh.h File 1.55 KB 0644
eisa.h File 2.96 KB 0644
elevator.h File 9.26 KB 0644
elf-fdpic.h File 2.18 KB 0644
elf-randomize.h File 583 B 0644
elf.h File 1.53 KB 0644
elfcore-compat.h File 1.24 KB 0644
elfcore.h File 2.52 KB 0644
elfnote.h File 3.54 KB 0644
enclosure.h File 4.6 KB 0644
err.h File 1.55 KB 0644
errno.h File 1.34 KB 0644
errqueue.h File 524 B 0644
errseq.h File 373 B 0644
etherdevice.h File 15.65 KB 0644
ethtool.h File 17.3 KB 0644
eventfd.h File 2.36 KB 0644
eventpoll.h File 2.16 KB 0644
evm.h File 2.65 KB 0644
export.h File 3.88 KB 0644
exportfs.h File 7.45 KB 0644
ext2_fs.h File 967 B 0644
extable.h File 999 B 0644
extcon-provider.h File 4.33 KB 0644
extcon.h File 10.4 KB 0644
f2fs_fs.h File 17.51 KB 0644
f75375s.h File 541 B 0644
falloc.h File 792 B 0644
fanotify.h File 245 B 0644
fault-inject.h File 1.87 KB 0644
fb.h File 28.74 KB 0644
fbcon.h File 492 B 0644
fcdevice.h File 988 B 0644
fcntl.h File 1.27 KB 0644
fd.h File 490 B 0644
fddidevice.h File 1.02 KB 0644
fdtable.h File 3.28 KB 0644
fec.h File 609 B 0644
file.h File 2.18 KB 0644
filter.h File 27.5 KB 0644
fips.h File 167 B 0644
firewire.h File 13.4 KB 0644
firmware-map.h File 1.32 KB 0644
firmware.h File 2.34 KB 0644
fixp-arith.h File 4.41 KB 0644
flat.h File 1.61 KB 0644
flex_array.h File 4.31 KB 0644
flex_proportions.h File 2.81 KB 0644
fmc-sdb.h File 1.29 KB 0644
fmc.h File 9.65 KB 0644
font.h File 1.6 KB 0644
frame.h File 813 B 0644
freezer.h File 8.67 KB 0644
frontswap.h File 2.87 KB 0644
fs.h File 110.97 KB 0644
fs_enet_pd.h File 3.38 KB 0644
fs_pin.h File 619 B 0644
fs_stack.h File 811 B 0644
fs_struct.h File 1.03 KB 0644
fs_uart_pd.h File 1.49 KB 0644
fscache-cache.h File 18.4 KB 0644
fscache.h File 27.54 KB 0644
fscrypt.h File 8.93 KB 0644
fscrypt_notsupp.h File 4.45 KB 0644
fscrypt_supp.h File 6.1 KB 0644
fsi.h File 2.37 KB 0644
fsl-diu-fb.h File 4.08 KB 0644
fsl_devices.h File 4.32 KB 0644
fsl_hypervisor.h File 2.76 KB 0644
fsl_ifc.h File 25.13 KB 0644
fsldma.h File 398 B 0644
fsnotify.h File 7.43 KB 0644
fsnotify_backend.h File 16.66 KB 0644
ftrace.h File 29.91 KB 0644
ftrace_irq.h File 823 B 0644
futex.h File 2.4 KB 0644
fwnode.h File 4.41 KB 0644
gameport.h File 5.56 KB 0644
gcd.h File 193 B 0644
genalloc.h File 5.92 KB 0644
genetlink.h File 1.39 KB 0644
genhd.h File 22.77 KB 0644
genl_magic_func.h File 12.05 KB 0644
genl_magic_struct.h File 7.66 KB 0644
getcpu.h File 641 B 0644
gfp.h File 23.37 KB 0644
glob.h File 256 B 0644
goldfish.h File 605 B 0644
gpio-pxa.h File 571 B 0644
gpio.h File 5.19 KB 0644
gpio_keys.h File 1.63 KB 0644
hardirq.h File 1.95 KB 0644
hash.h File 3 KB 0644
hashtable.h File 6.63 KB 0644
hdlc.h File 3.33 KB 0644
hdlcdrv.h File 6.32 KB 0644
hdmi.h File 9.36 KB 0644
hid-debug.h File 2.07 KB 0644
hid-roccat.h File 688 B 0644
hid-sensor-hub.h File 9.25 KB 0644
hid-sensor-ids.h File 7.27 KB 0644
hid.h File 35.93 KB 0644
hiddev.h File 2.07 KB 0644
hidraw.h File 1.49 KB 0644
highmem.h File 5.84 KB 0644
highuid.h File 3.12 KB 0644
hil.h File 18.42 KB 0644
hil_mlc.h File 5.13 KB 0644
hippidevice.h File 1.23 KB 0644
hmm.h File 18.19 KB 0644
host1x.h File 9.02 KB 0644
hp_sdc.h File 14.02 KB 0644
hpet.h File 2.55 KB 0644
hrtimer.h File 14.02 KB 0644
htcpld.h File 617 B 0644
huge_mm.h File 10.1 KB 0644
hugetlb.h File 17 KB 0644
hugetlb_cgroup.h File 2.93 KB 0644
hugetlb_inline.h File 374 B 0644
hw_breakpoint.h File 3.85 KB 0644
hw_random.h File 2.03 KB 0644
hwmon-sysfs.h File 1.98 KB 0644
hwmon-vid.h File 1.48 KB 0644
hwmon.h File 12.07 KB 0644
hwspinlock.h File 11.06 KB 0644
hyperv.h File 38.89 KB 0644
hypervisor.h File 400 B 0644
i2c-algo-bit.h File 2.24 KB 0644
i2c-algo-pca.h File 2.89 KB 0644
i2c-algo-pcf.h File 1.88 KB 0644
i2c-dev.h File 1.03 KB 0644
i2c-gpio.h File 1.19 KB 0644
i2c-mux-gpio.h File 1.35 KB 0644
i2c-mux.h File 2.29 KB 0644
i2c-ocores.h File 757 B 0644
i2c-omap.h File 1.21 KB 0644
i2c-pca-platform.h File 441 B 0644
i2c-pnx.h File 923 B 0644
i2c-pxa.h File 438 B 0644
i2c-smbus.h File 1.94 KB 0644
i2c-xiic.h File 1.41 KB 0644
i2c.h File 30.91 KB 0644
i7300_idle.h File 1.95 KB 0644
i8042.h File 2.14 KB 0644
i8253.h File 809 B 0644
icmp.h File 863 B 0644
icmpv6.h File 2.5 KB 0644
ide.h File 46.27 KB 0644
idr.h File 7.82 KB 0644
ieee80211.h File 83.19 KB 0644
ieee802154.h File 11.5 KB 0644
if_arp.h File 1.86 KB 0644
if_bridge.h File 2.65 KB 0644
if_eql.h File 1.07 KB 0644
if_ether.h File 1.47 KB 0644
if_fddi.h File 3.44 KB 0644
if_frad.h File 2.87 KB 0644
if_link.h File 554 B 0644
if_ltalk.h File 188 B 0644
if_macvlan.h File 2.2 KB 0644
if_phonet.h File 319 B 0644
if_pppol2tp.h File 727 B 0644
if_pppox.h File 3.05 KB 0644
if_tap.h File 2.24 KB 0644
if_team.h File 7.65 KB 0644
if_tun.h File 1.14 KB 0644
if_tunnel.h File 409 B 0644
if_vlan.h File 19.2 KB 0644
igmp.h File 4.15 KB 0644
ihex.h File 1.95 KB 0644
ima.h File 2.53 KB 0644
imx-media.h File 811 B 0644
in.h File 2.43 KB 0644
in6.h File 1.85 KB 0644
inet.h File 2.8 KB 0644
inet_diag.h File 2.42 KB 0644
inetdevice.h File 8.25 KB 0644
init.h File 9.1 KB 0644
init_ohci1394_dma.h File 196 B 0644
init_task.h File 7.84 KB 0644
initrd.h File 685 B 0644
inotify.h File 696 B 0644
input-polldev.h File 2.17 KB 0644
input.h File 18.7 KB 0644
integrity.h File 1.05 KB 0644
intel-iommu.h File 16.85 KB 0644
intel-pti.h File 1.56 KB 0644
intel-svm.h File 4.96 KB 0644
interrupt.h File 21.15 KB 0644
interval_tree.h File 831 B 0644
interval_tree_generic.h File 8 KB 0644
io-64-nonatomic-hi-lo.h File 1.14 KB 0644
io-64-nonatomic-lo-hi.h File 1.14 KB 0644
io-mapping.h File 4.36 KB 0644
io.h File 5.86 KB 0644
ioc3.h File 3.14 KB 0644
ioc4.h File 5.78 KB 0644
iocontext.h File 4.76 KB 0644
iomap.h File 3.95 KB 0644
iommu-common.h File 1.41 KB 0644
iommu-helper.h File 950 B 0644
iommu.h File 21.74 KB 0644
iopoll.h File 5.72 KB 0644
ioport.h File 10.74 KB 0644
ioprio.h File 1.96 KB 0644
iova.h File 7.03 KB 0644
ip.h File 1.07 KB 0644
ipack.h File 8.85 KB 0644
ipc.h File 695 B 0644
ipc_namespace.h File 4.81 KB 0644
ipmi-fru.h File 3.64 KB 0644
ipmi.h File 11.44 KB 0644
ipmi_smi.h File 8.9 KB 0644
ipv6.h File 8.92 KB 0644
ipv6_route.h File 594 B 0644
irq.h File 39.04 KB 0644
irq_cpustat.h File 949 B 0644
irq_poll.h File 575 B 0644
irq_sim.h File 1.16 KB 0644
irq_work.h File 1.3 KB 0644
irqbypass.h File 3.59 KB 0644
irqchip.h File 1.54 KB 0644
irqdesc.h File 8.15 KB 0644
irqdomain.h File 19.21 KB 0644
irqflags.h File 4.82 KB 0644
irqhandler.h File 362 B 0644
irqnr.h File 856 B 0644
irqreturn.h File 503 B 0644
isa.h File 2.12 KB 0644
isapnp.h File 3.8 KB 0644
iscsi_boot_sysfs.h File 4.09 KB 0644
iscsi_ibft.h File 1.28 KB 0644
isdn.h File 22.99 KB 0644
isdn_divertif.h File 1.27 KB 0644
isdn_ppp.h File 6.64 KB 0644
isdnif.h File 19.26 KB 0644
isicom.h File 1.49 KB 0644
jbd2.h File 47.14 KB 0644
jhash.h File 4.62 KB 0644
jiffies.h File 15.4 KB 0644
journal-head.h File 2.87 KB 0644
joystick.h File 1.28 KB 0644
jump_label.h File 13.32 KB 0644
jump_label_ratelimit.h File 1.12 KB 0644
jz4740-adc.h File 1023 B 0644
jz4780-nemc.h File 1.16 KB 0644
kallsyms.h File 3.59 KB 0644
kasan-checks.h File 441 B 0644
kasan.h File 4.48 KB 0644
kbd_diacr.h File 198 B 0644
kbd_kern.h File 3.84 KB 0644
kbuild.h File 380 B 0644
kconfig.h File 2.53 KB 0644
kcore.h File 664 B 0644
kcov.h File 802 B 0644
kdb.h File 7.3 KB 0644
kdebug.h File 487 B 0644
kdev_t.h File 1.8 KB 0644
kern_levels.h File 1.58 KB 0644
kernel-page-flags.h File 505 B 0644
kernel.h File 31.31 KB 0644
kernel_stat.h File 2.5 KB 0644
kernelcapi.h File 4.45 KB 0644
kernfs.h File 16.88 KB 0644
kexec.h File 10.06 KB 0644
key-type.h File 6.16 KB 0644
key.h File 12.75 KB 0644
keyboard.h File 665 B 0644
kfifo.h File 24.84 KB 0644
kgdb.h File 10.72 KB 0644
khugepaged.h File 2.36 KB 0644
klist.h File 1.88 KB 0644
kmemleak.h File 3.86 KB 0644
kmod.h File 1.71 KB 0644
kmsg_dump.h File 2.85 KB 0644
kobj_map.h File 545 B 0644
kobject.h File 7.62 KB 0644
kobject_ns.h File 1.9 KB 0644
kprobes.h File 14.71 KB 0644
kref.h File 3.28 KB 0644
ks0108.h File 1.57 KB 0644
ks8842.h File 1.19 KB 0644
ks8851_mll.h File 1.04 KB 0644
ksm.h File 2.89 KB 0644
kthread.h File 6.7 KB 0644
ktime.h File 6.71 KB 0644
kvm_host.h File 37.83 KB 0644
kvm_irqfd.h File 2.39 KB 0644
kvm_para.h File 284 B 0644
kvm_types.h File 1.67 KB 0644
l2tp.h File 261 B 0644
lapb.h File 1.71 KB 0644
latencytop.h File 1.18 KB 0644
lcd.h File 4.19 KB 0644
lcm.h File 275 B 0644
led-class-flash.h File 5.42 KB 0644
led-lm3530.h File 3.7 KB 0644
leds-bd2802.h File 642 B 0644
leds-lp3944.h File 1.07 KB 0644
leds-lp3952.h File 2.5 KB 0644
leds-pca9532.h File 1.01 KB 0644
leds-regulator.h File 1.29 KB 0644
leds-tca6507.h File 1.02 KB 0644
leds.h File 13.67 KB 0644
leds_pwm.h File 407 B 0644
libata.h File 64.88 KB 0644
libfdt.h File 244 B 0644
libfdt_env.h File 494 B 0644
libgcc.h File 1.07 KB 0644
libnvdimm.h File 7.16 KB 0644
libps2.h File 1.75 KB 0644
license.h File 374 B 0644
lightnvm.h File 10.95 KB 0644
linkage.h File 2.64 KB 0644
linux_logo.h File 2.06 KB 0644
lis3lv02d.h File 5 KB 0644
list.h File 23.71 KB 0644
list_bl.h File 4.19 KB 0644
list_lru.h File 6.29 KB 0644
list_nulls.h File 3.47 KB 0644
list_sort.h File 277 B 0644
livepatch.h File 6.94 KB 0644
llc.h File 749 B 0644
llist.h File 9.15 KB 0644
lockdep.h File 18.61 KB 0644
lockref.h File 1.45 KB 0644
log2.h File 5.48 KB 0644
logic_pio.h File 3.24 KB 0644
lp.h File 2.76 KB 0644
lru_cache.h File 12.42 KB 0644
lsm_audit.h File 2.73 KB 0644
lsm_hooks.h File 88.04 KB 0644
lz4.h File 26.44 KB 0644
lzo.h File 1.37 KB 0644
mISDNdsp.h File 1.19 KB 0644
mISDNhw.h File 5.78 KB 0644
mISDNif.h File 14.91 KB 0644
mailbox_client.h File 1.79 KB 0644
mailbox_controller.h File 5.4 KB 0644
maple.h File 2.71 KB 0644
marvell_phy.h File 1.17 KB 0644
math64.h File 6.42 KB 0644
max17040_battery.h File 474 B 0644
mbcache.h File 1.57 KB 0644
mbus.h File 3.09 KB 0644
mc146818rtc.h File 4.46 KB 0644
mc6821.h File 1.18 KB 0644
mcb.h File 3.88 KB 0644
mdev.h File 4.9 KB 0644
mdio-bitbang.h File 1.18 KB 0644
mdio-mux.h File 1021 B 0644
mdio.h File 9.01 KB 0644
mei_cl_bus.h File 3.28 KB 0644
mem_encrypt.h File 1.21 KB 0644
memblock.h File 14.6 KB 0644
memcontrol.h File 29.63 KB 0644
memory.h File 4.52 KB 0644
memory_hotplug.h File 10.29 KB 0644
mempolicy.h File 7.44 KB 0644
mempool.h File 2.39 KB 0644
memremap.h File 7.15 KB 0644
memstick.h File 9.73 KB 0644
mic_bus.h File 3.2 KB 0644
micrel_phy.h File 1.42 KB 0644
microchipphy.h File 2.84 KB 0644
migrate.h File 10.02 KB 0644
migrate_mode.h File 758 B 0644
mii.h File 8.74 KB 0644
miscdevice.h File 2.81 KB 0644
mm-arch-hooks.h File 679 B 0644
mm.h File 85.89 KB 0644
mm_inline.h File 3.44 KB 0644
mm_types.h File 19.25 KB 0644
mm_types_task.h File 2.4 KB 0644
mman.h File 3.26 KB 0644
mmdebug.h File 2.32 KB 0644
mmiotrace.h File 3.05 KB 0644
mmu_context.h File 378 B 0644
mmu_notifier.h File 15.84 KB 0644
mmzone.h File 39.66 KB 0644
mnt_namespace.h File 617 B 0644
mod_devicetable.h File 19.33 KB 0644
module.h File 22.23 KB 0644
moduleloader.h File 2.72 KB 0644
moduleparam.h File 19.42 KB 0644
mount.h File 3.45 KB 0644
mpage.h File 761 B 0644
mpi.h File 5.17 KB 0644
mpls.h File 394 B 0644
mpls_iptunnel.h File 178 B 0644
mroute.h File 4.71 KB 0644
mroute6.h File 3.27 KB 0644
msdos_fs.h File 273 B 0644
msg.h File 1.02 KB 0644
msi.h File 11.79 KB 0644
mutex.h File 6.91 KB 0644
mv643xx.h File 52.4 KB 0644
mv643xx_eth.h File 1.95 KB 0644
mv643xx_i2c.h File 545 B 0644
mvebu-pmsu.h File 520 B 0644
mxm-wmi.h File 1.05 KB 0644
n_r3964.h File 4.06 KB 0644
namei.h File 3.41 KB 0644
nd.h File 5.71 KB 0644
net.h File 11.33 KB 0644
netdev_features.h File 9.39 KB 0644
netdevice.h File 140.44 KB 0644
netfilter.h File 11.74 KB 0644
netfilter_bridge.h File 1.82 KB 0644
netfilter_defs.h File 239 B 0644
netfilter_ingress.h File 1.44 KB 0644
netfilter_ipv4.h File 424 B 0644
netfilter_ipv6.h File 1.43 KB 0644
netlink.h File 6.87 KB 0644
netpoll.h File 2.69 KB 0644
nfs.h File 1.31 KB 0644
nfs3.h File 260 B 0644
nfs4.h File 17.5 KB 0644
nfs_fs.h File 16.12 KB 0644
nfs_fs_i.h File 308 B 0644
nfs_fs_sb.h File 8.81 KB 0644
nfs_iostat.h File 4.18 KB 0644
nfs_page.h File 6.26 KB 0644
nfs_xdr.h File 38.79 KB 0644
nfsacl.h File 1.15 KB 0644
nl802154.h File 4.23 KB 0644
nls.h File 3.08 KB 0644
nmi.h File 6.56 KB 0644
node.h File 3 KB 0644
nodemask.h File 17.08 KB 0644
nospec.h File 2.21 KB 0644
notifier.h File 7.72 KB 0644
ns_common.h File 235 B 0644
nsc_gpio.h File 1.42 KB 0644
nsproxy.h File 2.48 KB 0644
ntb.h File 46.52 KB 0644
ntb_transport.h File 3.8 KB 0644
nubus.h File 4.13 KB 0644
numa.h File 292 B 0644
nvme-fc-driver.h File 38.22 KB 0644
nvme-fc.h File 8.34 KB 0644
nvme-rdma.h File 2.44 KB 0644
nvme.h File 26.61 KB 0644
nvmem-consumer.h File 4.35 KB 0644
nvmem-provider.h File 1.52 KB 0644
nvram.h File 495 B 0644
of.h File 40.4 KB 0644
of_address.h File 4.47 KB 0644
of_device.h File 3.04 KB 0644
of_dma.h File 2.45 KB 0644
of_fdt.h File 4.19 KB 0644
of_gpio.h File 4.39 KB 0644
of_graph.h File 3.56 KB 0644
of_iommu.h File 1 KB 0644
of_irq.h File 3.6 KB 0644
of_mdio.h File 2.98 KB 0644
of_net.h File 708 B 0644
of_pci.h File 2.23 KB 0644
of_pdt.h File 1.4 KB 0644
of_platform.h File 4.1 KB 0644
of_reserved_mem.h File 2.35 KB 0644
oid_registry.h File 3.87 KB 0644
olpc-ec.h File 1.08 KB 0644
omap-dma.h File 10.5 KB 0644
omap-dmaengine.h File 583 B 0644
omap-gpmc.h File 2.22 KB 0644
omap-iommu.h File 520 B 0644
omap-mailbox.h File 777 B 0644
omapfb.h File 1.22 KB 0644
once.h File 2.8 KB 0644
oom.h File 3.15 KB 0644
openvswitch.h File 844 B 0644
oprofile.h File 6.1 KB 0644
osq_lock.h File 1.04 KB 0644
overflow.h File 9.26 KB 0644
oxu210hp.h File 197 B 0644
padata.h File 5.82 KB 0644
page-flags-layout.h File 2.99 KB 0644
page-flags.h File 23.91 KB 0644
page-isolation.h File 1.9 KB 0644
page_counter.h File 1.46 KB 0644
page_ext.h File 1.89 KB 0644
page_idle.h File 2.62 KB 0644
page_owner.h File 2.3 KB 0644
page_ref.h File 4.99 KB 0644
pageblock-flags.h File 3.28 KB 0644
pagemap.h File 19.02 KB 0644
pagevec.h File 2.3 KB 0644
parman.h File 2.87 KB 0644
parport.h File 17.84 KB 0644
parport_pc.h File 6.56 KB 0644
parser.h File 1.04 KB 0644
pata_arasan_cf_data.h File 1.22 KB 0644
patchkey.h File 757 B 0644
path.h File 572 B 0644
pch_dma.h File 999 B 0644
pci-acpi.h File 3.44 KB 0644
pci-aspm.h File 882 B 0644
pci-ats.h File 1.39 KB 0644
pci-dma-compat.h File 4.41 KB 0644
pci-dma.h File 454 B 0644
pci-ecam.h File 2.54 KB 0644
pci-ep-cfs.h File 1.09 KB 0644
pci-epc.h File 5.38 KB 0644
pci-epf.h File 4.83 KB 0644
pci.h File 81.59 KB 0644
pci_hotplug.h File 6.91 KB 0644
pci_ids.h File 120.12 KB 0644
pcieport_if.h File 2.35 KB 0644
pda_power.h File 1.12 KB 0644
pe.h File 15.6 KB 0644
percpu-defs.h File 18.13 KB 0644
percpu-refcount.h File 9.93 KB 0644
percpu-rwsem.h File 4.09 KB 0644
percpu.h File 5.02 KB 0644
percpu_counter.h File 4.26 KB 0644
percpu_ida.h File 2.32 KB 0644
perf_event.h File 38.78 KB 0644
perf_regs.h File 1.02 KB 0644
personality.h File 393 B 0644
pfn.h File 666 B 0644
pfn_t.h File 3.23 KB 0644
phonet.h File 1.12 KB 0644
phy.h File 31.11 KB 0644
phy_fixed.h File 1.64 KB 0644
phy_led_triggers.h File 1.46 KB 0644
phylink.h File 5.06 KB 0644
pid.h File 5.77 KB 0644
pid_namespace.h File 2.33 KB 0644
pim.h File 2.67 KB 0644
pipe_fs_i.h File 6.46 KB 0644
pkeys.h File 916 B 0644
pktcdvd.h File 5.87 KB 0644
pl320-ipc.h File 758 B 0644
platform_device.h File 12.43 KB 0644
plist.h File 8.69 KB 0644
pm-trace.h File 940 B 0644
pm.h File 34.21 KB 0644
pm2301_charger.h File 1.68 KB 0644
pm_clock.h File 2.45 KB 0644
pm_domain.h File 9.03 KB 0644
pm_opp.h File 10.08 KB 0644
pm_qos.h File 8.51 KB 0644
pm_runtime.h File 8.52 KB 0644
pm_wakeirq.h File 1.31 KB 0644
pm_wakeup.h File 6.61 KB 0644
pmbus.h File 1.58 KB 0644
pmu.h File 2.34 KB 0644
pnfs_osd_xdr.h File 9.27 KB 0644
pnp.h File 14.89 KB 0644
poison.h File 2.66 KB 0644
poll.h File 3.24 KB 0644
posix-clock.h File 4.55 KB 0644
posix-timers.h File 3.55 KB 0644
posix_acl.h File 3.06 KB 0644
posix_acl_xattr.h File 1.58 KB 0644
power_supply.h File 13.41 KB 0644
powercap.h File 12.59 KB 0644
ppp-comp.h File 3.1 KB 0644
ppp_channel.h File 3.07 KB 0644
ppp_defs.h File 454 B 0644
pps-gpio.h File 1.01 KB 0644
pps_kernel.h File 3.55 KB 0644
pr.h File 566 B 0644
prandom.h File 2.81 KB 0644
preempt.h File 9.33 KB 0644
prefetch.h File 1.54 KB 0644
prime_numbers.h File 1.35 KB 0644
printk.h File 15.24 KB 0644
proc_fs.h File 3.26 KB 0644
proc_ns.h File 2.44 KB 0644
processor.h File 2.14 KB 0644
profile.h File 2.68 KB 0644
projid.h File 2.34 KB 0644
property.h File 9.79 KB 0644
psci.h File 1.87 KB 0644
pstore.h File 7.58 KB 0644
pstore_ram.h File 2.89 KB 0644
pti.h File 240 B 0644
ptp_classify.h File 2.89 KB 0644
ptp_clock_kernel.h File 8.56 KB 0644
ptr_ring.h File 16.29 KB 0644
ptrace.h File 14.57 KB 0644
purgatory.h File 589 B 0644
pvclock_gtod.h File 548 B 0644
pwm.h File 16.8 KB 0644
pwm_backlight.h File 740 B 0644
pxa168_eth.h File 728 B 0644
pxa2xx_ssp.h File 9.8 KB 0644
qcom_scm.h File 4.12 KB 0644
qnx6_fs.h File 3.27 KB 0644
quicklist.h File 2.13 KB 0644
quota.h File 18.87 KB 0644
quotaops.h File 10.17 KB 0644
radix-tree.h File 21.77 KB 0644
raid_class.h File 2.08 KB 0644
ramfs.h File 762 B 0644
random.h File 3.98 KB 0644
range.h File 651 B 0644
ras.h File 1.18 KB 0644
ratelimit.h File 2.81 KB 0644
rational.h File 639 B 0644
rbtree.h File 5.36 KB 0644
rbtree_augmented.h File 8.67 KB 0644
rbtree_latch.h File 6.62 KB 0644
rcu_node_tree.h File 4.34 KB 0644
rcu_segcblist.h File 3.26 KB 0644
rcu_sync.h File 2.57 KB 0644
rculist.h File 23.53 KB 0644
rculist_bl.h File 4.36 KB 0644
rculist_nulls.h File 6.17 KB 0644
rcupdate.h File 33.26 KB 0644
rcupdate_wait.h File 1.63 KB 0644
rcutiny.h File 3.64 KB 0644
rcutree.h File 3.56 KB 0644
rcuwait.h File 1.82 KB 0644
reboot-mode.h File 600 B 0644
reboot.h File 2.05 KB 0644
reciprocal_div.h File 1.01 KB 0644
refcount.h File 2.6 KB 0644
regmap.h File 42.34 KB 0644
regset.h File 15.08 KB 0644
relay.h File 8.84 KB 0644
remoteproc.h File 18.48 KB 0644
reservation.h File 8.12 KB 0644
reset-controller.h File 2.16 KB 0644
reset.h File 13.69 KB 0644
resource.h File 339 B 0644
resource_ext.h File 2.22 KB 0644
restart_block.h File 1.11 KB 0644
rfkill.h File 9.89 KB 0644
rhashtable.h File 38.24 KB 0644
ring_buffer.h File 6.79 KB 0644
rio.h File 19.23 KB 0644
rio_drv.h File 14.71 KB 0644
rio_ids.h File 1.29 KB 0644
rio_regs.h File 19.27 KB 0644
rmap.h File 9.08 KB 0644
rmi.h File 12.13 KB 0644
rndis.h File 16.86 KB 0644
rodata_test.h File 559 B 0644
root_dev.h File 579 B 0644
rpmsg.h File 8.37 KB 0644
rslib.h File 2.99 KB 0644
rtc.h File 8.71 KB 0644
rtmutex.h File 3.47 KB 0644
rtnetlink.h File 4.27 KB 0644
rtsx_common.h File 1.44 KB 0644
rtsx_pci.h File 40.14 KB 0644
rtsx_usb.h File 15.95 KB 0644
rwlock.h File 4.35 KB 0644
rwlock_api_smp.h File 7.67 KB 0644
rwlock_types.h File 1.12 KB 0644
rwsem-spinlock.h File 1.58 KB 0644
rwsem.h File 6 KB 0644
s3c_adc_battery.h File 971 B 0644
sa11x0-dma.h File 572 B 0644
sbitmap.h File 13.56 KB 0644
scatterlist.h File 13.29 KB 0644
scc.h File 2.84 KB 0644
sched.h File 47.45 KB 0644
sched_clock.h File 661 B 0644
scif.h File 58.85 KB 0644
scpi_protocol.h File 2.58 KB 0644
screen_info.h File 191 B 0644
sctp.h File 21.92 KB 0644
scx200.h File 1.82 KB 0644
scx200_gpio.h File 2.38 KB 0644
sdb.h File 4.17 KB 0644
sdla.h File 6.9 KB 0644
seccomp.h File 2.66 KB 0644
securebits.h File 239 B 0644
security.h File 47.81 KB 0644
sed-opal.h File 1.94 KB 0644
seg6.h File 121 B 0644
seg6_genl.h File 136 B 0644
seg6_hmac.h File 136 B 0644
seg6_iptunnel.h File 148 B 0644
seg6_local.h File 100 B 0644
selection.h File 1.41 KB 0644
selinux.h File 910 B 0644
sem.h File 2.02 KB 0644
semaphore.h File 1.36 KB 0644
seq_buf.h File 3.15 KB 0644
seq_file.h File 6.68 KB 0644
seq_file_net.h File 713 B 0644
seqlock.h File 16.48 KB 0644
seqno-fence.h File 3.96 KB 0644
serdev.h File 9.48 KB 0644
serial.h File 630 B 0644
serial_8250.h File 6.01 KB 0644
serial_bcm63xx.h File 4.73 KB 0644
serial_core.h File 17.72 KB 0644
serial_max3100.h File 1.39 KB 0644
serial_pnx8xxx.h File 2.61 KB 0644
serial_s3c.h File 9.24 KB 0644
serial_sci.h File 1.57 KB 0644
serio.h File 4.42 KB 0644
set_memory.h File 740 B 0644
sfi.h File 5.75 KB 0644
sfi_acpi.h File 3.39 KB 0644
sfp.h File 10.4 KB 0644
sh_clk.h File 5.96 KB 0644
sh_dma.h File 3.61 KB 0644
sh_eth.h File 417 B 0644
sh_intc.h File 3.42 KB 0644
sh_timer.h File 172 B 0644
shdma-base.h File 4.41 KB 0644
shm.h File 1.71 KB 0644
shmem_fs.h File 5.33 KB 0644
shrinker.h File 2.82 KB 0644
signal.h File 12.57 KB 0644
signal_types.h File 1.13 KB 0644
signalfd.h File 817 B 0644
siphash.h File 5.59 KB 0644
sirfsoc_dma.h File 162 B 0644
sizes.h File 1.26 KB 0644
skb_array.h File 5.17 KB 0644
skbuff.h File 120.16 KB 0644
slab.h File 21.45 KB 0644
slab_def.h File 2.37 KB 0644
slub_def.h File 5.44 KB 0644
sm501-regs.h File 11.76 KB 0644
sm501.h File 4.63 KB 0644
smc911x.h File 294 B 0644
smc91x.h File 1.57 KB 0644
smp.h File 5.67 KB 0644
smpboot.h File 2.17 KB 0644
smsc911x.h File 2.29 KB 0644
smscphy.h File 1.25 KB 0644
sock_diag.h File 2.16 KB 0644
socket.h File 11.35 KB 0644
sonet.h File 469 B 0644
sony-laptop.h File 1.28 KB 0644
sonypi.h File 2.35 KB 0644
sort.h File 247 B 0644
sound.h File 807 B 0644
soundcard.h File 1.59 KB 0644
spinlock.h File 11.04 KB 0644
spinlock_api_smp.h File 5.4 KB 0644
spinlock_api_up.h File 3.31 KB 0644
spinlock_types.h File 1.99 KB 0644
spinlock_types_up.h File 726 B 0644
spinlock_up.h File 2.16 KB 0644
splice.h File 3.01 KB 0644
spmi.h File 5.95 KB 0644
sram.h File 844 B 0644
srcu.h File 6.38 KB 0644
srcutiny.h File 3.18 KB 0644
srcutree.h File 5.15 KB 0644
ssbi.h File 1.11 KB 0644
stackdepot.h File 967 B 0644
stackprotector.h File 324 B 0644
stacktrace.h File 1.45 KB 0644
start_kernel.h File 334 B 0644
stat.h File 1.18 KB 0644
statfs.h File 1.31 KB 0644
static_key.h File 30 B 0644
stddef.h File 620 B 0644
ste_modem_shm.h File 1.59 KB 0644
stm.h File 4.75 KB 0644
stmmac.h File 5.39 KB 0644
stmp3xxx_rtc_wdt.h File 332 B 0644
stmp_device.h File 619 B 0644
stop_machine.h File 4.68 KB 0644
string.h File 14.97 KB 0644
string_helpers.h File 2.17 KB 0644
stringhash.h File 2.65 KB 0644
stringify.h File 341 B 0644
sudmac.h File 1.24 KB 0644
sungem_phy.h File 3.94 KB 0644
sunserialcore.h File 1.08 KB 0644
sunxi-rsb.h File 2.89 KB 0644
superhyway.h File 2.81 KB 0644
suspend.h File 19.13 KB 0644
svga.h File 3.75 KB 0644
sw842.h File 328 B 0644
swab.h File 569 B 0644
swait.h File 9.33 KB 0644
swap.h File 21.58 KB 0644
swap_cgroup.h File 971 B 0644
swap_slots.h File 840 B 0644
swapfile.h File 556 B 0644
swapops.h File 9.27 KB 0644
swiotlb.h File 3.8 KB 0644
switchtec.h File 8.1 KB 0644
sxgbe_platform.h File 1.34 KB 0644
sync_file.h File 1.57 KB 0644
synclink.h File 989 B 0644
sys.h File 960 B 0644
sys_soc.h File 1.21 KB 0644
syscalls.h File 39.85 KB 0644
syscore_ops.h File 635 B 0644
sysctl.h File 7.55 KB 0644
sysfs.h File 15.41 KB 0644
syslog.h File 1.89 KB 0644
sysrq.h File 1.79 KB 0644
sysv_fs.h File 9.03 KB 0644
t10-pi.h File 1.21 KB 0644
task_io_accounting.h File 1.13 KB 0644
task_io_accounting_ops.h File 2.55 KB 0644
task_work.h File 617 B 0644
taskstats_kern.h File 957 B 0644
tboot.h File 3.99 KB 0644
tc.h File 3.45 KB 0644
tca6416_keypad.h File 847 B 0644
tcp.h File 15.13 KB 0644
tee_drv.h File 8.27 KB 0644
textsearch.h File 4.73 KB 0644
textsearch_fsm.h File 1.19 KB 0644
tfrc.h File 1.89 KB 0644
thermal.h File 19.62 KB 0644
thinkpad_acpi.h File 320 B 0644
thread_info.h File 4.1 KB 0644
threads.h File 1.28 KB 0644
thunderbolt.h File 19.02 KB 0644
ti_wilink_st.h File 14.07 KB 0644
tick.h File 7.88 KB 0644
tifm.h File 4.8 KB 0644
timb_dma.h File 1.74 KB 0644
timb_gpio.h File 1.28 KB 0644
time.h File 3.71 KB 0644
time32.h File 5.64 KB 0644
time64.h File 4.01 KB 0644
timecounter.h File 4.58 KB 0644
timekeeper_internal.h File 5.01 KB 0644
timekeeping.h File 5.17 KB 0644
timekeeping32.h File 3.13 KB 0644
timer.h File 6.74 KB 0644
timerfd.h File 508 B 0644
timeriomem-rng.h File 475 B 0644
timerqueue.h File 1.19 KB 0644
timex.h File 6.61 KB 0644
tnum.h File 2.74 KB 0644
topology.h File 4.85 KB 0644
torture.h File 3.58 KB 0644
toshiba.h File 904 B 0644
tpm.h File 3 KB 0644
tpm_command.h File 847 B 0644
trace.h File 964 B 0644
trace_clock.h File 667 B 0644
trace_events.h File 16.65 KB 0644
trace_seq.h File 3.74 KB 0644
tracefs.h File 1.19 KB 0644
tracehook.h File 7.08 KB 0644
tracepoint-defs.h File 778 B 0644
tracepoint.h File 16.26 KB 0644
transport_class.h File 2.5 KB 0644
ts-nbus.h File 532 B 0644
tsacct_kern.h File 1.2 KB 0644
tty.h File 28.03 KB 0644
tty_driver.h File 15.45 KB 0644
tty_flip.h File 1.62 KB 0644
tty_ldisc.h File 7.69 KB 0644
typecheck.h File 624 B 0644
types.h File 5.61 KB 0644
u64_stats_sync.h File 5.43 KB 0644
uaccess.h File 9.95 KB 0644
ucb1400.h File 4.26 KB 0644
ucs2_string.h File 662 B 0644
udp.h File 3.65 KB 0644
uidgid.h File 4.07 KB 0644
uio.h File 7.66 KB 0644
uio_driver.h File 4.07 KB 0644
umh.h File 1.79 KB 0644
uprobes.h File 6.28 KB 0644
usb.h File 75.97 KB 0644
usb_usual.h File 3.58 KB 0644
usbdevice_fs.h File 2.18 KB 0644
user-return-notifier.h File 1.18 KB 0644
user.h File 22 B 0644
user_namespace.h File 4.34 KB 0644
userfaultfd_k.h File 3.57 KB 0644
util_macros.h File 1.17 KB 0644
uts.h File 388 B 0644
utsname.h File 1.72 KB 0644
uuid.h File 2.35 KB 0644
uwb.h File 25.22 KB 0644
verification.h File 1.57 KB 0644
vermagic.h File 1.05 KB 0644
vexpress.h File 1.44 KB 0644
vfio.h File 6.32 KB 0644
vfs.h File 116 B 0644
vga_switcheroo.h File 8.4 KB 0644
vgaarb.h File 5.12 KB 0644
via-core.h File 7.27 KB 0644
via-gpio.h File 334 B 0644
via.h File 932 B 0644
via_i2c.h File 1.48 KB 0644
videodev2.h File 2.68 KB 0644
virtio.h File 7.07 KB 0644
virtio_byteorder.h File 1.46 KB 0644
virtio_caif.h File 492 B 0644
virtio_config.h File 12.82 KB 0644
virtio_console.h File 1.93 KB 0644
virtio_net.h File 5.33 KB 0644
virtio_ring.h File 2.96 KB 0644
virtio_vsock.h File 5.05 KB 0644
vlynq.h File 3.88 KB 0644
vm_event_item.h File 2.96 KB 0644
vm_sockets.h File 703 B 0644
vmacache.h File 932 B 0644
vmalloc.h File 6.29 KB 0644
vme.h File 5.66 KB 0644
vmpressure.h File 1.7 KB 0644
vmstat.h File 10.93 KB 0644
vmw_vmci_api.h File 3.19 KB 0644
vmw_vmci_defs.h File 27.93 KB 0644
vringh.h File 7.76 KB 0644
vt.h File 611 B 0644
vt_buffer.h File 1.49 KB 0644
vt_kern.h File 6.21 KB 0644
vtime.h File 3.57 KB 0644
w1-gpio.h File 729 B 0644
w1.h File 9.13 KB 0644
wait.h File 36.36 KB 0644
wait_bit.h File 9.85 KB 0644
wanrouter.h File 210 B 0644
watchdog.h File 7.81 KB 0644
win_minmax.h File 832 B 0644
wireless.h File 1.4 KB 0644
wkup_m3_ipc.h File 1.53 KB 0644
wl12xx.h File 1.39 KB 0644
wm97xx.h File 10.61 KB 0644
wmi.h File 1.94 KB 0644
workqueue.h File 21.56 KB 0644
writeback.h File 12.13 KB 0644
ww_mutex.h File 12.42 KB 0644
xattr.h File 3.38 KB 0644
xxhash.h File 7.65 KB 0644
xz.h File 11.16 KB 0644
yam.h File 2.82 KB 0644
z2_battery.h File 318 B 0644
zbud.h File 740 B 0644
zconf.h File 1.73 KB 0644
zlib.h File 27.97 KB 0644
zorro.h File 3.94 KB 0644
zpool.h File 2.99 KB 0644
zsmalloc.h File 1.64 KB 0644
zstd.h File 48.64 KB 0644
zutil.h File 2.73 KB 0644