mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Dave Johnson <djohnson+linux-kernel@sw.starentnetworks.com>
To: Chris Mason <mason@suse.com>
Cc: agruen@suse.de, Olaf Hering <olh@suse.de>, linux-kernel@vger.kernel.org
Subject: Re: cramfs mounts provide corrupted content since 2.6.15
Date: Tue, 28 Feb 2006 15:40:28 -0500	[thread overview]
Message-ID: <17412.46396.581647.436622@zeus.sw.starentnetworks.com> (raw)
In-Reply-To: <200602281414.57084.mason@suse.com>

Chris Mason writes:
> On Monday 27 February 2006 11:31, Dave Johnson wrote:
> 
> > I think I've spotted an issue.
> >
> > Both ifind() and find_inode() will call the test function on inodes
> > that still have I_LOCK|I_NEW set.  This means everything that the
> > test function needs _must_ be set in the set function (which is called
> > while the inode_lock is still held).
> >
> > This could cause issues for inodes of 1 (only i_ino is getting set
> > right now).
> 
> The problem is that two files are getting the same inode number because 
> their offsets are the same.
> 
> ls -lai:
> 3412140 -rw-r--r--  1 root root       0 Jan  1  1970 ./etc/mtab
> 3412140 -rw-r--r--  1 root root    1220 Jan  1  1970 ./etc/nsswitch.conf
> 
> So, if /etc/mtab is read first, /etc/nsswitch.conf ends up with size zero, 
> because it uses the mtab inode.
> 
> Andreas Gruenbacher suggested this change.  Along with your patch, things 
> are working here again:
> 
> -chris
> 
> diff -r 0f4fc87886c2 fs/cramfs/inode.c
> --- a/fs/cramfs/inode.c	Fri Feb 24 16:18:23 2006 -0500
> +++ b/fs/cramfs/inode.c	Tue Feb 28 14:00:11 2006 -0500
> @@ -36,7 +36,7 @@ static DECLARE_MUTEX(read_mutex);
>  
>  /* These two macros may change in future, to provide better st_ino
>     semantics. */
> -#define CRAMINO(x)	((x)->offset?(x)->offset<<2:1)
> +#define CRAMINO(x)	(((x)->offset && (x)->size)?(x)->offset<<2:1)
>  #define OFFSET(x)	((x)->i_ino)


What version of mkcramfs are you using?  Empty regular files should
have offset set to 0 already.


-- 
Dave Johnson
Starent Networks


  reply	other threads:[~2006-02-28 20:40 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-25 11:08 Olaf Hering
2006-02-25 12:55 ` Olaf Hering
2006-02-25 16:38   ` Dave Johnson
2006-02-25 22:01     ` Olaf Hering
2006-02-27 16:31       ` Dave Johnson
2006-02-28 19:14         ` Chris Mason
2006-02-28 20:40           ` Dave Johnson [this message]
2006-02-28 20:53             ` Chris Mason
2006-02-28 21:08               ` Dave Johnson
2006-02-28 21:13                 ` Chris Mason
     [not found]           ` <20060301155813.245d71ff.akpm@osdl.org>
     [not found]             ` <20060301235858.GA6792@suse.de>
     [not found]               ` <17414.16541.260439.712849@zeus.sw.starentnetworks.com>
     [not found]                 ` <20060302115446.GA9708@suse.de>
     [not found]                   ` <20060302093216.67b90533.akpm@osdl.org>
2006-03-02 17:45                     ` [PATCH] " Dave Johnson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=17412.46396.581647.436622@zeus.sw.starentnetworks.com \
    --to=djohnson+linux-kernel@sw.starentnetworks.com \
    --cc=agruen@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mason@suse.com \
    --cc=olh@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®