All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Hansen <haveblue@us.ibm.com>
To: Matthew Wilcox <willy@debian.org>
Cc: linux-fsdevel@vger.kernel.org
Subject: race with i_flock?
Date: Tue, 16 Jul 2002 19:27:00 -0700	[thread overview]
Message-ID: <3D34D5F4.2060008@us.ibm.com> (raw)

I've been getting some funny freezes while running Specweb.  I don't 
think this is the cause, but I did run into it.

Program received signal SIGSEGV, Segmentation fault.
0xc0147540 in may_open (nd=0xdaa69f78, acc_mode=6, flag=3)
     at /home/dave/oprofile/linux-2.5.25/include/linux/fs.h:1047

which is:
static inline int get_lease(struct inode *inode, unsigned int mode)
{
------->if (inode->i_flock && (inode->i_flock->fl_flags & FL_LEASE))
                 return __get_lease(inode, mode);
         return 0;
}

It appears that i_flock is NULL:

(gdb) print inode
$1 = (struct inode *) 0xe8d638f0
(gdb) print *inode
$2 = {...big snip
      i_flock = 0x0,
      ...}
(gdb) print &inode->i_flock
$3 = (struct file_lock **) 0xe8d6396c

But, there was a check for that just a second earlier.  Looks racy to 
me.  I noticed that there is use of i_sem in some of the calling 
functions, but not in get_lease()'s call sequence.  Is this a problem? 
    A quick grep for i_flock didn't show any obvious places where it 
was set back to NULL.

#0  0xc0147540 in may_open (nd=0xdaa69f78, acc_mode=6, flag=3)
     at /home/dave/oprofile/linux-2.5.25/include/linux/fs.h:1047
#1  0xc014786c in open_namei (pathname=0xe7292000 
"/mnt/sdc1/www/post.log", flag=3, mode=438,
     nd=0xdaa69f78) at namei.c:1294
#2  0xc013bcbb in filp_open (filename=0xe7292000 
"/mnt/sdc1/www/post.log", flags=2, mode=438)
     at open.c:616
#3  0xc013c0df in sys_open (filename=0x8130cd0 
"/mnt/sdc1/www/post.log", flags=2, mode=438)
     at open.c:806
#4  0xc0106fbb in syscall_call ()


-- 
Dave Hansen
haveblue@us.ibm.com


             reply	other threads:[~2002-07-17  2:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-17  2:27 Dave Hansen [this message]
2002-07-17  6:32 ` race with i_flock? Andrew Morton
2002-07-17 11:55 ` Matthew Wilcox
2002-07-17 22:31   ` Dave Hansen
2002-07-18  1:07     ` Matthew Wilcox

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=3D34D5F4.2060008@us.ibm.com \
    --to=haveblue@us.ibm.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=willy@debian.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.