lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 18 Aug 2015 20:15:18 -0700
From:	Raymond Jennings <shentino@...il.com>
To:	linux-kernel@...r.kernel.org
Cc:	Andrew Morton <akpm@...ux-foundation.org>, trivial@...nel.org
Subject: Re: [PATCH] Clean up whitespace in vfs.txt

On 08/10/15 02:31, Raymond Jennings wrote:
> I noticed that vfs.txt looked kinda funky, so I went ahead and
> reformatted it.
>
> Signed-off-by: Raymond Jennings
> Cc: Andrew Morton <akpm@...ux-foundation.org>
>
> ---
>
> diff --git a/Documentation/filesystems/vfs.txt
> b/Documentation/filesystems/vfs.txt
> index 5eb8456..8ddfe06 100644
> --- a/Documentation/filesystems/vfs.txt
> +++ b/Documentation/filesystems/vfs.txt
> @@ -114,12 +114,12 @@ members are defined:
>   struct file_system_type {
>   	const char *name;
>   	int fs_flags;
> -        struct dentry *(*mount) (struct file_system_type *, int,
> -                       const char *, void *);
> -        void (*kill_sb) (struct super_block *);
> -        struct module *owner;
> -        struct file_system_type * next;
> -        struct list_head fs_supers;
> +	struct dentry *(*mount) (struct file_system_type *, int,
> +		const char *, void *);
> +	void (*kill_sb) (struct super_block *);
> +	struct module *owner;
> +	struct file_system_type * next;
> +	struct list_head fs_supers;
>   	struct lock_class_key s_lock_key;
>   	struct lock_class_key s_umount_key;
>   };
> @@ -136,7 +136,7 @@ struct file_system_type {
>   	should be shut down
>   
>     owner: for internal VFS use: you should initialize this to
> THIS_MODULE in
> -  	most cases.
> +	most cases.
>   
>     next: for internal VFS use: you should initialize this to NULL
>   
> @@ -145,7 +145,7 @@ struct file_system_type {
>   The mount() method has the following arguments:
>   
>     struct file_system_type *fs_type: describes the filesystem, partly
> initialized
> -  	by the specific filesystem code
> +	by the specific filesystem code
>   
>     int flags: mount flags
>   
> @@ -182,12 +182,12 @@ and provides a fill_super() callback instead. The
> generic variants are:
>     mount_nodev: mount a filesystem that is not backed by a device
>   
>     mount_single: mount a filesystem which shares the instance between
> -  	all mounts
> +	all mounts
>   
>   A fill_super() callback implementation has the following arguments:
>   
>     struct super_block *sb: the superblock structure. The callback
> -  	must initialize this properly.
> +	must initialize this properly.
>   
>     void *data: arbitrary mount options, usually comes as an ASCII
>   	string (see "Mount Options" section)
> @@ -208,26 +208,26 @@ This describes how the VFS can manipulate the
> superblock of your
>   filesystem. As of kernel 2.6.22, the following members are defined:
>   
>   struct super_operations {
> -        struct inode *(*alloc_inode)(struct super_block *sb);
> -        void (*destroy_inode)(struct inode *);
> -
> -        void (*dirty_inode) (struct inode *, int flags);
> -        int (*write_inode) (struct inode *, int);
> -        void (*drop_inode) (struct inode *);
> -        void (*delete_inode) (struct inode *);
> -        void (*put_super) (struct super_block *);
> -        int (*sync_fs)(struct super_block *sb, int wait);
> -        int (*freeze_fs) (struct super_block *);
> -        int (*unfreeze_fs) (struct super_block *);
> -        int (*statfs) (struct dentry *, struct kstatfs *);
> -        int (*remount_fs) (struct super_block *, int *, char *);
> -        void (*clear_inode) (struct inode *);
> -        void (*umount_begin) (struct super_block *);
> -
> -        int (*show_options)(struct seq_file *, struct dentry *);
> -
> -        ssize_t (*quota_read)(struct super_block *, int, char *,
> size_t, loff_t);
> -        ssize_t (*quota_write)(struct super_block *, int, const char *,
> size_t, loff_t);
> +	struct inode *(*alloc_inode)(struct super_block *sb);
> +	void (*destroy_inode)(struct inode *);
> +
> +	void (*dirty_inode) (struct inode *, int flags);
> +	int (*write_inode) (struct inode *, int);
> +	void (*drop_inode) (struct inode *);
> +	void (*delete_inode) (struct inode *);
> +	void (*put_super) (struct super_block *);
> +	int (*sync_fs)(struct super_block *sb, int wait);
> +	int (*freeze_fs) (struct super_block *);
> +	int (*unfreeze_fs) (struct super_block *);
> +	int (*statfs) (struct dentry *, struct kstatfs *);
> +	int (*remount_fs) (struct super_block *, int *, char *);
> +	void (*clear_inode) (struct inode *);
> +	void (*umount_begin) (struct super_block *);
> +
> +	int (*show_options)(struct seq_file *, struct dentry *);
> +
> +	ssize_t (*quota_read)(struct super_block *, int, char *, size_t,
> loff_t);
> +	ssize_t (*quota_write)(struct super_block *, int, const char *,
> size_t, loff_t);
>   	int (*nr_cached_objects)(struct super_block *);
>   	void (*free_cached_objects)(struct super_block *, int);
>   };
> @@ -238,14 +238,14 @@ only called from a process context (i.e. not from
> an interrupt handler
>   or bottom half).
>   
>     alloc_inode: this method is called by alloc_inode() to allocate
> memory
> - 	for struct inode and initialize it.  If this function is not
> - 	defined, a simple 'struct inode' is allocated.  Normally
> - 	alloc_inode will be used to allocate a larger structure which
> - 	contains a 'struct inode' embedded within it.
> +	for struct inode and initialize it.  If this function is not
> +	defined, a simple 'struct inode' is allocated.  Normally
> +	alloc_inode will be used to allocate a larger structure which
> +	contains a 'struct inode' embedded within it.
>   
>     destroy_inode: this method is called by destroy_inode() to release
> -  	resources allocated for struct inode.  It is only required if
> -  	->alloc_inode was defined and simply undoes anything done by
> +	resources allocated for struct inode.  It is only required if
> +	->alloc_inode was defined and simply undoes anything done by
>   	->alloc_inode.
>   
>     dirty_inode: this method is called by the VFS to mark an inode dirty.
> @@ -273,15 +273,15 @@ or bottom half).
>   	(i.e. unmount). This is called with the superblock lock held
>   
>     sync_fs: called when VFS is writing out all dirty data associated
> with
> -  	a superblock. The second parameter indicates whether the method
> +	a superblock. The second parameter indicates whether the method
>   	should wait until the write out has been completed. Optional.
>   
>     freeze_fs: called when VFS is locking a filesystem and
> -  	forcing it into a consistent state.  This method is currently
> -  	used by the Logical Volume Manager (LVM).
> +	forcing it into a consistent state.  This method is currently
> +	used by the Logical Volume Manager (LVM).
>   
>     unfreeze_fs: called when VFS is unlocking a filesystem and making it
> writable
> -  	again.
> +	again.
>   
>     statfs: called when the VFS needs to get filesystem statistics.
>   
> @@ -346,9 +346,9 @@ struct inode_operations {
>   	int (*rmdir) (struct inode *,struct dentry *);
>   	int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);
>   	int (*rename) (struct inode *, struct dentry *,
> -			struct inode *, struct dentry *);
> +		struct inode *, struct dentry *);
>   	int (*rename2) (struct inode *, struct dentry *,
> -			struct inode *, struct dentry *, unsigned int);
> +		struct inode *, struct dentry *, unsigned int);
>   	int (*readlink) (struct dentry *, char __user *,int);
>   	const char *(*follow_link) (struct dentry *, void **);
>   	void (*put_link) (struct inode *, void *);
> @@ -362,7 +362,7 @@ struct inode_operations {
>   	int (*removexattr) (struct dentry *, const char *);
>   	void (*update_time)(struct inode *, struct timespec *, int);
>   	int (*atomic_open)(struct inode *, struct dentry *, struct file *,
> -			unsigned open_flag, umode_t create_mode, int *opened);
> +		unsigned open_flag, umode_t create_mode, int *opened);
>   	int (*tmpfile) (struct inode *, struct dentry *, umode_t);
>   	int (*dentry_open)(struct dentry *, struct file *, const struct cred
> *);
>   };
> @@ -450,7 +450,7 @@ otherwise noted.
>   	cookie isn't NULL.
>   
>     permission: called by the VFS to check for access rights on a
> POSIX-like
> -  	filesystem.
> +	filesystem.
>   
>   	May be called in rcu-walk mode (mask & MAY_NOT_BLOCK). If in rcu-walk
>           mode, the filesystem must check the permission without blocking
> or
> @@ -460,33 +460,33 @@ otherwise noted.
>   	-ECHILD and it will be called again in ref-walk mode.
>   
>     setattr: called by the VFS to set attributes for a file. This method
> -  	is called by chmod(2) and related system calls.
> +	is called by chmod(2) and related system calls.
>   
>     getattr: called by the VFS to get attributes of a file. This method
> -  	is called by stat(2) and related system calls.
> +	is called by stat(2) and related system calls.
>   
>     setxattr: called by the VFS to set an extended attribute for a file.
> -  	Extended attribute is a name:value pair associated with an
> -  	inode. This method is called by setxattr(2) system call.
> +	Extended attribute is a name:value pair associated with an
> +	inode. This method is called by setxattr(2) system call.
>   
>     getxattr: called by the VFS to retrieve the value of an extended
> -  	attribute name. This method is called by getxattr(2) function
> -  	call.
> +	attribute name. This method is called by getxattr(2) function
> +	call.
>   
>     listxattr: called by the VFS to list all extended attributes for a
> -  	given file. This method is called by listxattr(2) system call.
> +	given file. This method is called by listxattr(2) system call.
>   
>     removexattr: called by the VFS to remove an extended attribute from
> -  	a file. This method is called by removexattr(2) system call.
> +	a file. This method is called by removexattr(2) system call.
>   
>     update_time: called by the VFS to update a specific time or the
> i_version of
> -  	an inode.  If this is not defined the VFS will update the inode
> itself
> -  	and call mark_inode_dirty_sync.
> +	an inode.  If this is not defined the VFS will update the inode itself
> +	and call mark_inode_dirty_sync.
>   
>     atomic_open: called on the last component of an open.  Using this
> optional
> -  	method the filesystem can look up, possibly create and open the file
> in
> -  	one atomic operation.  If it cannot perform this (e.g. the file type
> -  	turned out to be wrong) it may signal this by returning 1 instead of
> +	method the filesystem can look up, possibly create and open the file
> in
> +	one atomic operation.  If it cannot perform this (e.g. the file type
> +	turned out to be wrong) it may signal this by returning 1 instead of
>   	usual 0 or -ve .  This method is only called if the last component is
>   	negative or needs lookup.  Cached positive dentries are still handled
> by
>   	f_op->open().  If the file was created, the FILE_CREATED flag should
> be
> @@ -581,13 +581,13 @@ struct address_space_operations {
>   	int (*writepages)(struct address_space *, struct writeback_control *);
>   	int (*set_page_dirty)(struct page *page);
>   	int (*readpages)(struct file *filp, struct address_space *mapping,
> -			struct list_head *pages, unsigned nr_pages);
> +		struct list_head *pages, unsigned nr_pages);
>   	int (*write_begin)(struct file *, struct address_space *mapping,
> -				loff_t pos, unsigned len, unsigned flags,
> -				struct page **pagep, void **fsdata);
> +		loff_t pos, unsigned len, unsigned flags,
> +		struct page **pagep, void **fsdata);
>   	int (*write_end)(struct file *, struct address_space *mapping,
> -				loff_t pos, unsigned len, unsigned copied,
> -				struct page *page, void *fsdata);
> +		loff_t pos, unsigned len, unsigned copied,
> +		struct page *page, void *fsdata);
>   	sector_t (*bmap)(struct address_space *, sector_t);
>   	void (*invalidatepage) (struct page *, unsigned int, unsigned int);
>   	int (*releasepage) (struct page *, int);
> @@ -597,7 +597,7 @@ struct address_space_operations {
>   	int (*migratepage) (struct page *, struct page *);
>   	int (*launder_page) (struct page *);
>   	int (*is_partially_uptodate) (struct page *, unsigned long,
> -					unsigned long);
> +		unsigned long);
>   	void (*is_dirty_writeback) (struct page *, bool *, bool *);
>   	int (*error_remove_page) (struct mapping *mapping, struct page *page);
>   	int (*swap_activate)(struct file *);
> @@ -605,54 +605,54 @@ struct address_space_operations {
>   };
>   
>     writepage: called by the VM to write a dirty page to backing store.
> -      This may happen for data integrity reasons (i.e. 'sync'), or
> -      to free up memory (flush).  The difference can be seen in
> -      wbc->sync_mode.
> -      The PG_Dirty flag has been cleared and PageLocked is true.
> -      writepage should start writeout, should set PG_Writeback,
> -      and should make sure the page is unlocked, either synchronously
> -      or asynchronously when the write operation completes.
> -
> -      If wbc->sync_mode is WB_SYNC_NONE, ->writepage doesn't have to
> -      try too hard if there are problems, and may choose to write out
> -      other pages from the mapping if that is easier (e.g. due to
> -      internal dependencies).  If it chooses not to start writeout, it
> -      should return AOP_WRITEPAGE_ACTIVATE so that the VM will not keep
> -      calling ->writepage on that page.
> -
> -      See the file "Locking" for more details.
> +	This may happen for data integrity reasons (i.e. 'sync'), or
> +	to free up memory (flush).  The difference can be seen in
> +	wbc->sync_mode.
> +	The PG_Dirty flag has been cleared and PageLocked is true.
> +	writepage should start writeout, should set PG_Writeback,
> +	and should make sure the page is unlocked, either synchronously
> +	or asynchronously when the write operation completes.
> +
> +	If wbc->sync_mode is WB_SYNC_NONE, ->writepage doesn't have to
> +	try too hard if there are problems, and may choose to write out
> +	other pages from the mapping if that is easier (e.g. due to
> +	internal dependencies).  If it chooses not to start writeout, it
> +	should return AOP_WRITEPAGE_ACTIVATE so that the VM will not keep
> +	calling ->writepage on that page.
> +
> +	See the file "Locking" for more details.
>   
>     readpage: called by the VM to read a page from backing store.
> -       The page will be Locked when readpage is called, and should be
> -       unlocked and marked uptodate once the read completes.
> -       If ->readpage discovers that it needs to unlock the page for
> -       some reason, it can do so, and then return AOP_TRUNCATED_PAGE.
> -       In this case, the page will be relocated, relocked and if
> -       that all succeeds, ->readpage will be called again.
> +	The page will be Locked when readpage is called, and should be
> +	unlocked and marked uptodate once the read completes.
> +	If ->readpage discovers that it needs to unlock the page for
> +	some reason, it can do so, and then return AOP_TRUNCATED_PAGE.
> +	In this case, the page will be relocated, relocked and if
> +	that all succeeds, ->readpage will be called again.
>   
>     writepages: called by the VM to write out pages associated with the
> -  	address_space object.  If wbc->sync_mode is WBC_SYNC_ALL, then
> -  	the writeback_control will specify a range of pages that must be
> -  	written out.  If it is WBC_SYNC_NONE, then a nr_to_write is given
> +	address_space object.  If wbc->sync_mode is WBC_SYNC_ALL, then
> +	the writeback_control will specify a range of pages that must be
> +	written out.  If it is WBC_SYNC_NONE, then a nr_to_write is given
>   	and that many pages should be written if possible.
>   	If no ->writepages is given, then mpage_writepages is used
> -  	instead.  This will choose pages from the address space that are
> -  	tagged as DIRTY and will pass them to ->writepage.
> +	instead.  This will choose pages from the address space that are
> +	tagged as DIRTY and will pass them to ->writepage.
>   
>     set_page_dirty: called by the VM to set a page dirty.
> -        This is particularly needed if an address space attaches
> -        private data to a page, and that data needs to be updated when
> -        a page is dirtied.  This is called, for example, when a memory
> +	This is particularly needed if an address space attaches
> +	private data to a page, and that data needs to be updated when
> +	a page is dirtied.  This is called, for example, when a memory
>   	mapped page gets modified.
>   	If defined, it should set the PageDirty flag, and the
> -        PAGECACHE_TAG_DIRTY tag in the radix tree.
> +	PAGECACHE_TAG_DIRTY tag in the radix tree.
>   
>     readpages: called by the VM to read pages associated with the
> address_space
> -  	object. This is essentially just a vector version of
> -  	readpage.  Instead of just one page, several pages are
> -  	requested.
> +	object. This is essentially just a vector version of
> +	readpage.  Instead of just one page, several pages are
> +	requested.
>   	readpages is only used for read-ahead, so read errors are
> -  	ignored.  If anything goes wrong, feel free to give up.
> +	ignored.  If anything goes wrong, feel free to give up.
>   
>     write_begin:
>   	Called by the generic buffered write code to ask the filesystem to
> @@ -663,7 +663,7 @@ struct address_space_operations {
>   	storage, then those blocks should be pre-read (if they haven't been
>   	read already) so that the updated blocks can be written out properly.
>   
> -        The filesystem must return the locked pagecache page for the
> specified
> +	The filesystem must return the locked pagecache page for the specified
>   	offset, in *pagep, for the caller to write into.
>   
>   	It must be able to cope with short writes (where the length passed to
> @@ -672,30 +672,30 @@ struct address_space_operations {
>   	flags is a field for AOP_FLAG_xxx flags, described in
>   	include/linux/fs.h.
>   
> -        A void * may be returned in fsdata, which then gets passed into
> -        write_end.
> +	A void * may be returned in fsdata, which then gets passed into
> +	write_end.
>   
> -        Returns 0 on success; < 0 on failure (which is the error code),
> in
> +	Returns 0 on success; < 0 on failure (which is the error code), in
>   	which case write_end is not called.
>   
>     write_end: After a successful write_begin, and data copy, write_end
> must
> -        be called. len is the original len passed to write_begin, and
> copied
> -        is the amount that was able to be copied (copied == len is
> always true
> +	be called. len is the original len passed to write_begin, and copied
> +	is the amount that was able to be copied (copied == len is always true
>   	if write_begin was called with the AOP_FLAG_UNINTERRUPTIBLE flag).
>   
> -        The filesystem must take care of unlocking the page and
> releasing it
> -        refcount, and updating i_size.
> +	The filesystem must take care of unlocking the page and releasing it
> +	refcount, and updating i_size.
>   
> -        Returns < 0 on failure, otherwise the number of bytes (<=
> 'copied')
> -        that were able to be copied into pagecache.
> +	Returns < 0 on failure, otherwise the number of bytes (<= 'copied')
> +	that were able to be copied into pagecache.
>   
>     bmap: called by the VFS to map a logical block offset within object
> to
> -  	physical block number. This method is used by the FIBMAP
> -  	ioctl and for working with swap-files.  To be able to swap to
> -  	a file, the file must have a stable mapping to a block
> -  	device.  The swap system does not go through the filesystem
> -  	but instead uses bmap to find out where the blocks in the file
> -  	are and uses those addresses directly.
> +	physical block number. This method is used by the FIBMAP
> +	ioctl and for working with swap-files.  To be able to swap to
> +	a file, the file must have a stable mapping to a block
> +	device.  The swap system does not go through the filesystem
> +	but instead uses bmap to find out where the blocks in the file
> +	are and uses those addresses directly.
>   
>     dentry_open: *WARNING: probably going away soon, do not use!* This is
> an
>   	alternative to f_op->open(), the difference is that this method may
> open
> @@ -717,46 +717,46 @@ struct address_space_operations {
>   	release MUST succeed.
>   
>     releasepage: releasepage is called on PagePrivate pages to indicate
> -        that the page should be freed if possible.  ->releasepage
> -        should remove any private data from the page and clear the
> -        PagePrivate flag. If releasepage() fails for some reason, it
> must
> +	that the page should be freed if possible.  ->releasepage
> +	should remove any private data from the page and clear the
> +	PagePrivate flag. If releasepage() fails for some reason, it must
>   	indicate failure with a 0 return value.
>   	releasepage() is used in two distinct though related cases.  The
>   	first is when the VM finds a clean page with no active users and
> -        wants to make it a free page.  If ->releasepage succeeds, the
> -        page will be removed from the address_space and become free.
> +	wants to make it a free page.  If ->releasepage succeeds, the
> +	page will be removed from the address_space and become free.
>   
>   	The second case is when a request has been made to invalidate
> -        some or all pages in an address_space.  This can happen
> -        through the fadvice(POSIX_FADV_DONTNEED) system call or by the
> -        filesystem explicitly requesting it as nfs and 9fs do (when
> -        they believe the cache may be out of date with storage) by
> -        calling invalidate_inode_pages2().
> +	some or all pages in an address_space.  This can happen
> +	through the fadvice(POSIX_FADV_DONTNEED) system call or by the
> +	filesystem explicitly requesting it as nfs and 9fs do (when
> +	they believe the cache may be out of date with storage) by
> +	calling invalidate_inode_pages2().
>   	If the filesystem makes such a call, and needs to be certain
> -        that all pages are invalidated, then its releasepage will
> -        need to ensure this.  Possibly it can clear the PageUptodate
> -        bit if it cannot free private data yet.
> +	that all pages are invalidated, then its releasepage will
> +	need to ensure this.  Possibly it can clear the PageUptodate
> +	bit if it cannot free private data yet.
>   
>     freepage: freepage is called once the page is no longer visible in
> -        the page cache in order to allow the cleanup of any private
> +	the page cache in order to allow the cleanup of any private
>   	data. Since it may be called by the memory reclaimer, it
>   	should not assume that the original address_space mapping still
>   	exists, and it should not block.
>   
>     direct_IO: called by the generic read/write routines to perform
> -        direct_IO - that is IO requests which bypass the page cache
> -        and transfer data directly between the storage and the
> -        application's address space.
> +	direct_IO - that is IO requests which bypass the page cache
> +	and transfer data directly between the storage and the
> +	application's address space.
>   
>     migrate_page:  This is used to compact the physical memory usage.
> -        If the VM wants to relocate a page (maybe off a memory card
> -        that is signalling imminent failure) it will pass a new page
> +	If the VM wants to relocate a page (maybe off a memory card
> +	that is signalling imminent failure) it will pass a new page
>   	and an old page to this function.  migrate_page should
>   	transfer any private data across and update any references
> -        that it has to the page.
> +	that it has to the page.
>   
>     launder_page: Called before freeing a page - it writes back the dirty
> page. To
> -  	prevent redirtying the page, it is kept locked during the whole
> +	prevent redirtying the page, it is kept locked during the whole
>   	operation.
>   
>     is_partially_uptodate: Called by the VM when reading a file through
> the
> @@ -858,7 +858,7 @@ otherwise noted.
>     unlocked_ioctl: called by the ioctl(2) system call.
>   
>     compat_ioctl: called by the ioctl(2) system call when 32 bit system
> calls
> - 	 are used on 64 bit kernels.
> +	 are used on 64 bit kernels.
>   
>     mmap: called by the mmap(2) system call
>   
> @@ -882,7 +882,7 @@ otherwise noted.
>   	(non-blocking) mode is enabled for a file
>   
>     lock: called by the fcntl(2) system call for F_GETLK, F_SETLK, and
> F_SETLKW
> -  	commands
> +	commands
>   
>     get_unmapped_area: called by the mmap(2) system call
>   
> @@ -891,14 +891,14 @@ otherwise noted.
>     flock: called by the flock(2) system call
>   
>     splice_write: called by the VFS to splice data from a pipe to a file.
> This
> -		method is used by the splice(2) system call
> +	method is used by the splice(2) system call
>   
>     splice_read: called by the VFS to splice data from file to a pipe.
> This
> -	       method is used by the splice(2) system call
> +	method is used by the splice(2) system call
>   
>     setlease: called by the VFS to set or release a file lock lease.
> setlease
> -	    implementations should call generic_setlease to record or remove
> -	    the lease in the inode after setting it.
> +	implementations should call generic_setlease to record or remove
> +	the lease in the inode after setting it.
>   
>     fallocate: called by the VFS to preallocate blocks or punch a hole.
Are there any problems with this patch or how I submitted it?  I'm still 
pretty new to the process.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ