cregit-Linux how code gets into the kernel

Release 4.14 include/linux/shm.h

Directory: include/linux
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_SHM_H_

#define _LINUX_SHM_H_

#include <linux/list.h>
#include <asm/page.h>
#include <uapi/linux/shm.h>
#include <asm/shmparam.h>


struct shmid_kernel /* private to the kernel */
{	
	
struct kern_ipc_perm	shm_perm;
	
struct file		*shm_file;
	
unsigned long		shm_nattch;
	
unsigned long		shm_segsz;
	
time64_t		shm_atim;
	
time64_t		shm_dtim;
	
time64_t		shm_ctim;
	
pid_t			shm_cprid;
	
pid_t			shm_lprid;
	
struct user_struct	*mlock_user;

	/* The task created the shm object.  NULL if the task is dead. */
	
struct task_struct	*shm_creator;
	
struct list_head	shm_clist;	/* list by creator */

} __randomize_layout;

/* shm_mode upper byte flags */

#define	SHM_DEST	01000	
/* segment will be destroyed on last detach */

#define SHM_LOCKED      02000   
/* segment will not be swapped */

#ifdef CONFIG_SYSVIPC

struct sysv_shm {
	
struct list_head shm_clist;
};

long do_shmat(int shmid, char __user *shmaddr, int shmflg, unsigned long *addr,
	      unsigned long shmlba);
bool is_file_shm_hugepages(struct file *file);
void exit_shm(struct task_struct *task);

#define shm_init_task(task) INIT_LIST_HEAD(&(task)->sysvshm.shm_clist)
#else

struct sysv_shm {
	/* empty */
};


static inline long do_shmat(int shmid, char __user *shmaddr, int shmflg, unsigned long *addr, unsigned long shmlba) { return -ENOSYS; }

Contributors

PersonTokensPropCommitsCommitProp
Manfred Spraul2683.87%133.33%
Will Deacon412.90%133.33%
Andrew Morton13.23%133.33%
Total31100.00%3100.00%


static inline bool is_file_shm_hugepages(struct file *file) { return false; }

Contributors

PersonTokensPropCommitsCommitProp
Adam Litke1386.67%150.00%
Yaowei Bai213.33%150.00%
Total15100.00%2100.00%


static inline void exit_shm(struct task_struct *task) { }

Contributors

PersonTokensPropCommitsCommitProp
Vasiliy Kulikov11100.00%1100.00%
Total11100.00%1100.00%


static inline void shm_init_task(struct task_struct *task) { }

Contributors

PersonTokensPropCommitsCommitProp
Jack Miller11100.00%1100.00%
Total11100.00%1100.00%

#endif #endif /* _LINUX_SHM_H_ */

Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)4419.38%627.27%
Jack Miller4118.06%14.55%
Greg Kroah-Hartman3615.86%29.09%
Manfred Spraul3414.98%14.55%
Vasiliy Kulikov2611.45%29.09%
Adam Litke219.25%14.55%
Will Deacon83.52%14.55%
Rik Van Riel52.20%14.55%
Deepa Dinamani31.32%14.55%
Yaowei Bai31.32%14.55%
Kirill A. Shutemov20.88%14.55%
Andrew Morton10.44%14.55%
Linus Torvalds10.44%14.55%
David Howells10.44%14.55%
Kees Cook10.44%14.55%
Total227100.00%22100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.