On 03/19/15 at 10:48am, Lukáš Czerner wrote:
> On Wed, 18 Mar 2015, Taesoo Kim wrote:
> 
> > Date: Wed, 18 Mar 2015 13:39:31 -0400
> > From: Taesoo Kim <tae...@gatech.edu>
> > To: Lukáš Czerner <lczer...@redhat.com>
> > Cc: Taesoo Kim <tsgat...@gmail.com>, ty...@mit.edu,
> >     linux-e...@vger.kernel.org, linux-kernel@vger.kernel.org,
> >     chang...@gatech.edu, sanid...@gatech.edu, b...@gatech.edu,
> >     cson...@gatech.edu
> > Subject: Re: [PATCH 1/1] jbd2: fix incorrect unlock on j_list_lock
> > 
> > > The patch looks good, thanks.
> > 
> > Thank you.
> >  
> > > Reviewed-by: Lukas Czerner <lczer...@redhat.com>
> > > 
> > > Btw, were you able to reproduce the problem, or have you seen the
> > > problem in the wild ? Or did you just spot it in the code ?
> > 
> > We are developing a static checker to spot inconsistent programming
> > patterns; our first goal is to scan over existing filesystems and
> > figure out how they are implemented differently (or similarly). We
> > will report bugs in sequence as soon as our team confirm (just start
> > sending patches to other fs).
> 
> And this was found but it ?

Our current prototype.
 
> But anyway it sounds really interesting, do you have any more
> information you can share about the project ? Project website,
> description, or source code would be great :)

We need 1-2 months to wrap up. I would say, right after the deadline,
we plan to make the code/result publicly available :)

Taesoo
 
> Thanks!
> -Lukas
> 
> > 
> > Thanks,
> > Taesoo
> > 
> > > Thanks!
> > > -Lukas
> > > 
> > > > 
> > > > Signed-off-by: Taesoo Kim <tsgat...@gmail.com>
> > > > ---
> > > >  fs/jbd2/transaction.c | 3 ++-
> > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
> > > > index 5f09370..edb7f59 100644
> > > > --- a/fs/jbd2/transaction.c
> > > > +++ b/fs/jbd2/transaction.c
> > > > @@ -1091,6 +1091,7 @@ int jbd2_journal_get_create_access(handle_t 
> > > > *handle, struct buffer_head *bh)
> > > >                 JBUFFER_TRACE(jh, "file as BJ_Reserved");
> > > >                 spin_lock(&journal->j_list_lock);
> > > >                 __jbd2_journal_file_buffer(jh, transaction, 
> > > > BJ_Reserved);
> > > > +               spin_unlock(&journal->j_list_lock);
> > > >         } else if (jh->b_transaction == 
> > > > journal->j_committing_transaction) {
> > > >                 /* first access by this transaction */
> > > >                 jh->b_modified = 0;
> > > > @@ -1098,8 +1099,8 @@ int jbd2_journal_get_create_access(handle_t 
> > > > *handle, struct buffer_head *bh)
> > > >                 JBUFFER_TRACE(jh, "set next transaction");
> > > >                 spin_lock(&journal->j_list_lock);
> > > >                 jh->b_next_transaction = transaction;
> > > > +               spin_unlock(&journal->j_list_lock);
> > > >         }
> > > > -       spin_unlock(&journal->j_list_lock);
> > > >         jbd_unlock_bh_state(bh);
> > > > 
> > > >         /*
> > > > --
> > > > 2.3.3
> > > > 
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> > > > the body of a message to majord...@vger.kernel.org
> > > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > > 
> > 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to