2003-06-15 16:01:03

by James Morris

[permalink] [raw]
Subject: [PATCH] remove superfluous inode superblock check from shmem_mmap

This patch against current 2.5 bk removes a (now) unecessary check for an
inode superblock in shmem_mmap(). In the current kernel, all inodes must
be associated with a superblock.

- James
--
James Morris
<[email protected]>

diff -purN -X dontdiff bk.pending/mm/shmem.c bk.w1/mm/shmem.c
--- bk.pending/mm/shmem.c 2003-06-16 00:56:13.000000000 +1000
+++ bk.w1/mm/shmem.c 2003-06-16 02:06:55.142303751 +1000
@@ -1010,7 +1010,7 @@ static int shmem_mmap(struct file *file,
struct inode *inode = file->f_dentry->d_inode;

ops = &shmem_vm_ops;
- if (!inode->i_sb || !S_ISREG(inode->i_mode))
+ if (!S_ISREG(inode->i_mode))
return -EACCES;
update_atime(inode);
vma->vm_ops = ops;


Subject: Re: [PATCH] remove superfluous inode superblock check from shmem_mmap

>
> ------- Mensaje Original -------
>
> DeJames Morris <[email protected]>
> FechaMon, 16 Jun 2003 02:14:37 +1000 (EST)
>
>This patch against current 2.5 bk removes a (now) unecessary check
for an
>inode superblock in shmem_mmap(). In the current kernel, all inodes
must
>be associated with a superblock.
>
>- James
>--
>James Morris
>
>
>diff -purN -X dontdiff bk.pending/mm/shmem.c bk.w1/mm/shmem.c
>--- bk.pending/mm/shmem.c 2003-06-16 00:56:13.000000000 +1000
>+++ bk.w1/mm/shmem.c 2003-06-16 02:06:55.142303751 +1000
>@@ -1010,7 +1010,7 @@ static int shmem_mmap(struct file *file,
> struct inode *inode = file->f_dentry->d_inode;
>
> ops = &shmem_vm_ops;
>- if (!inode->i_sb || !S_ISREG(inode->i_mode))
>+ if (!S_ISREG(inode->i_mode))
> return -EACCES;
> update_atime(inode);
> vma->vm_ops = ops;
>

Can i apply this patch against the 2.5.69 kernel?.

Thanks yo very much, in advance.

Regards.

Jose.

http://linuxespana.scripterz.org

FreeBSD RELEASE 4.8.
Mandrake Linux 9.1 Kernels 2.4.21 & 2.5.69 XFS.
Registered Linux User #213309.
Memories..... You are talking about memories.
Rick Deckard. Blade Runner.

_________________________________________________________
Envia tus postales desde Tarjetas Nico. Entra en http://www.tarjetasnico.com/es/index.html?partner=lycoses&nico_usr=premium


2003-06-15 17:29:18

by Hugh Dickins

[permalink] [raw]
Subject: Re: [PATCH] remove superfluous inode superblock check from shmem_mmap

On Mon, 16 Jun 2003, James Morris wrote:
> This patch against current 2.5 bk removes a (now) unecessary check for an
> inode superblock in shmem_mmap(). In the current kernel, all inodes must
> be associated with a superblock.

Thanks, looks good to me. I don't believe an inode with NULL i_sb
could ever have got to shmem_mmap - it's just a check copied over
from an old generic_file_mmap.

Andrew, please apply: thank you.
Hugh

diff -purN -X dontdiff bk.pending/mm/shmem.c bk.w1/mm/shmem.c
--- bk.pending/mm/shmem.c 2003-06-16 00:56:13.000000000 +1000
+++ bk.w1/mm/shmem.c 2003-06-16 02:06:55.142303751 +1000
@@ -1010,7 +1010,7 @@ static int shmem_mmap(struct file *file,
struct inode *inode = file->f_dentry->d_inode;

ops = &shmem_vm_ops;
- if (!inode->i_sb || !S_ISREG(inode->i_mode))
+ if (!S_ISREG(inode->i_mode))
return -EACCES;
update_atime(inode);
vma->vm_ops = ops;