mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-27 10:38:01 +00:00 
			
		
		
		
	 2154227a2c
			
		
	
	
		2154227a2c
		
	
	
	
	
		
			
			This patch converts the tracking of the user space watchdog process from using a pid_t to use struct pid. This makes us safe from pid wrap around issues and prepares the way for the pid namespace. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Cc: Petr Vandrovec <VANDROVE@vc.cvut.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  *  ncp_mount.h
 | |
|  *
 | |
|  *  Copyright (C) 1995, 1996 by Volker Lendecke
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef _LINUX_NCP_MOUNT_H
 | |
| #define _LINUX_NCP_MOUNT_H
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #include <linux/ncp.h>
 | |
| 
 | |
| #define NCP_MOUNT_VERSION 3	/* Binary */
 | |
| 
 | |
| /* Values for flags */
 | |
| #define NCP_MOUNT_SOFT		0x0001
 | |
| #define NCP_MOUNT_INTR		0x0002
 | |
| #define NCP_MOUNT_STRONG	0x0004	/* enable delete/rename of r/o files */
 | |
| #define NCP_MOUNT_NO_OS2	0x0008	/* do not use OS/2 (LONG) namespace */
 | |
| #define NCP_MOUNT_NO_NFS	0x0010	/* do not use NFS namespace */
 | |
| #define NCP_MOUNT_EXTRAS	0x0020
 | |
| #define NCP_MOUNT_SYMLINKS	0x0040	/* enable symlinks */
 | |
| #define NCP_MOUNT_NFS_EXTRAS	0x0080	/* Enable use of NFS NS meta-info */
 | |
| 
 | |
| struct ncp_mount_data {
 | |
| 	int version;
 | |
| 	unsigned int ncp_fd;	/* The socket to the ncp port */
 | |
| 	__kernel_uid_t mounted_uid;	/* Who may umount() this filesystem? */
 | |
| 	__kernel_pid_t wdog_pid;		/* Who cares for our watchdog packets? */
 | |
| 
 | |
| 	unsigned char mounted_vol[NCP_VOLNAME_LEN + 1];
 | |
| 	unsigned int time_out;	/* How long should I wait after
 | |
| 				   sending a NCP request? */
 | |
| 	unsigned int retry_count;	/* And how often should I retry? */
 | |
| 	unsigned int flags;
 | |
| 
 | |
| 	__kernel_uid_t uid;
 | |
| 	__kernel_gid_t gid;
 | |
| 	__kernel_mode_t file_mode;
 | |
| 	__kernel_mode_t dir_mode;
 | |
| };
 | |
| 
 | |
| #define NCP_MOUNT_VERSION_V4	(4)	/* Binary or text */
 | |
| 
 | |
| struct ncp_mount_data_v4 {
 | |
| 	int version;
 | |
| 	unsigned long flags;	/* NCP_MOUNT_* flags */
 | |
| 	/* MIPS uses long __kernel_uid_t, but... */
 | |
| 	/* we neever pass -1, so it is safe */
 | |
| 	unsigned long mounted_uid;	/* Who may umount() this filesystem? */
 | |
| 	/* MIPS uses long __kernel_pid_t */
 | |
| 	long wdog_pid;		/* Who cares for our watchdog packets? */
 | |
| 
 | |
| 	unsigned int ncp_fd;	/* The socket to the ncp port */
 | |
| 	unsigned int time_out;	/* How long should I wait after
 | |
| 				   sending a NCP request? */
 | |
| 	unsigned int retry_count;	/* And how often should I retry? */
 | |
| 
 | |
| 	/* MIPS uses long __kernel_uid_t... */
 | |
| 	/* we never pass -1, so it is safe */
 | |
| 	unsigned long uid;
 | |
| 	unsigned long gid;
 | |
| 	/* MIPS uses unsigned long __kernel_mode_t */
 | |
| 	unsigned long file_mode;
 | |
| 	unsigned long dir_mode;
 | |
| };
 | |
| 
 | |
| #define NCP_MOUNT_VERSION_V5	(5)	/* Text only */
 | |
| 
 | |
| #ifdef __KERNEL__
 | |
| 
 | |
| struct ncp_mount_data_kernel {
 | |
| 	unsigned long    flags;		/* NCP_MOUNT_* flags */
 | |
| 	unsigned int	 int_flags;	/* internal flags */
 | |
| #define NCP_IMOUNT_LOGGEDIN_POSSIBLE	0x0001
 | |
| 	__kernel_uid32_t mounted_uid;	/* Who may umount() this filesystem? */
 | |
| 	struct pid      *wdog_pid;	/* Who cares for our watchdog packets? */
 | |
| 	unsigned int     ncp_fd;	/* The socket to the ncp port */
 | |
| 	unsigned int     time_out;	/* How long should I wait after
 | |
| 					   sending a NCP request? */
 | |
| 	unsigned int     retry_count;	/* And how often should I retry? */
 | |
| 	unsigned char	 mounted_vol[NCP_VOLNAME_LEN + 1];
 | |
| 	__kernel_uid32_t uid;
 | |
| 	__kernel_gid32_t gid;
 | |
| 	__kernel_mode_t  file_mode;
 | |
| 	__kernel_mode_t  dir_mode;
 | |
| 	int		 info_fd;
 | |
| };
 | |
| 
 | |
| #endif /* __KERNEL__ */
 | |
| 
 | |
| #endif
 |