linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Paul Taysom <taysom@chromium.org>
Cc: Mandeep Baines <msb@chromium.org>, Jens Axboe <axboe@kernel.dk>,
	Theodore Tso <tytso@google.com>, Andrew Morton <akpm@google.com>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-fsdevel@vger.kernel.org, stable@kernel.org
Subject: Re: [PATCH] fs: Fix mod_timer crash when removing USB sticks
Date: Fri, 16 Mar 2012 10:36:10 -0700	[thread overview]
Message-ID: <20120316173610.GA26601@kroah.com> (raw)
In-Reply-To: <1326405431-988-1-git-send-email-taysom@chromium.org>

On Thu, Jan 12, 2012 at 01:57:11PM -0800, Paul Taysom wrote:
> A USB stick with a ext file system on it, would occasionally crash
> when the stick was pulled.
> 
> The problem was a timer was being set on the Backing Device Interface,
> bdi, after the USB device had been removed and the bdi had been
> unregistered. The bdi would then be later reinitialized by zeroing
> the timer without removing from the timer from the timer queue.
> This would eventually result in a kernel crash (NULL ptr dereference).
> 
> When the bdi is unregistered, the dev field is set to NULL. This
> indication is used by bdi_unregister to only unregister the device
> once.
> 
> Fix: When the backing device is invalidated, the mapping backing_dev_info
> should be redirected to the default_backing_dev_info.
> 
> Created 3 USB sticks with ext2, ext4 and one with both apple and DOS
> file systems on it. Inserted and removed USB sticks many times in random
> order. With out the bug fix, the kernel would soon crash. With the fix,
> it did not. Ran on both stumpy and amd64-generic.
> 
> Signed-off-by: Paul Taysom <taysom@chromium.org>
> Cc: Mandeep Baines <msb@chromium.org>
> Cc: Greg KH <greg@kroah.com>
> Cc: Jens Axboe <axboe@kernel.dk>
> Cc: Theodore Tso <tytso@google.com>
> Cc: Andrew Morton <akpm@google.com>
> Cc: <linux-usb@vger.kernel.org>
> Cc: <linux-kernel@vger.kernel.org>
> Cc: Alexander Viro <viro@zeniv.linux.org.uk>
> Cc: <linux-fsdevel@vger.kernel.org>
> Cc: <stable@kernel.org>
> ---
>  fs/block_dev.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/fs/block_dev.c b/fs/block_dev.c
> index afe74dd..322cd05 100644
> --- a/fs/block_dev.c
> +++ b/fs/block_dev.c
> @@ -110,6 +110,7 @@ void invalidate_bdev(struct block_device *bdev)
>  	 * But, for the strange corners, lets be cautious
>  	 */
>  	cleancache_flush_inode(mapping);
> +	mapping->backing_dev_info = &default_backing_dev_info;
>  }
>  EXPORT_SYMBOL(invalidate_bdev);

What ever happened to this patch?  Is it still needed?  Can you still
reproduce the problem on Linus's tree and older kernels?

thanks,

greg k-h

  reply	other threads:[~2012-03-16 17:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-12 21:57 [PATCH] fs: Fix mod_timer crash when removing USB sticks Paul Taysom
2012-03-16 17:36 ` Greg KH [this message]
2012-03-16 19:29   ` Paul Taysom
2012-03-16 19:43     ` Greg KH
2012-03-16 21:10       ` Theodore Tso
2012-03-17  0:06         ` Greg KH
2012-03-17 14:21         ` Alan Stern
2012-03-18  3:44           ` Ted Ts'o
2012-03-18 20:23             ` Alan Stern
2012-03-18 22:25               ` Mandeep Singh Baines
     [not found]                 ` <CACBanvpzOdC4ns-pg1f92ptxrCJ2O=_oJhpKFD4NOB0hyF_+aA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-03-20  0:24                   ` Paul Taysom
2012-03-20  2:02                     ` Alan Stern
2012-03-22 16:15                       ` Paul Taysom
  -- strict thread matches above, loose matches on Subject: below --
2012-01-12 21:15 Paul Taysom
2012-01-12 21:38 ` Greg KH
2012-01-12 21:53   ` Mandeep Singh Baines
2012-01-12 22:02     ` Greg KH
     [not found]     ` <20120112215331.GB18166-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-01-12 22:11       ` Theodore Tso
     [not found]     ` <CAGagf4dk4KsZSkaWTO9Yegi=_wRJsYBPgfyks1z=wMZJV8gX0w@mail.gmail.com>
2012-01-12 22:35       ` Mandeep Singh Baines
     [not found]         ` <20120112223544.GC18166-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-01-12 23:23           ` Andrew Morton
     [not found] ` <1326402935-31002-1-git-send-email-taysom-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-01-13  5:42   ` Josh Boyer
     [not found]     ` <CA+5PVA7Yffs3-qdq6pSqDKLLngU7kBsdE92e31NnAM0=wrwp4w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-13 15:39       ` Paul Taysom
2012-01-12 19:57 Paul Taysom
2012-01-12 20:15 ` Greg KH
2012-01-13 11:28 ` Sergei Shtylyov

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=20120316173610.GA26601@kroah.com \
    --to=greg@kroah.com \
    --cc=akpm@google.com \
    --cc=axboe@kernel.dk \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=msb@chromium.org \
    --cc=stable@kernel.org \
    --cc=taysom@chromium.org \
    --cc=tytso@google.com \
    --cc=viro@zeniv.linux.org.uk \
    /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;
as well as URLs for NNTP newsgroup(s).