mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jeremiah Mahler <jmmahler@gmail.com>
To: Miklos Szeredi <miklos@szeredi.hu>, fuse-devel@lists.sourceforge.net
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Subject: Re: BUG: update-grub, unable to handle kernel NULL pointer dereference
Date: Sun, 31 May 2015 16:52:59 -0700	[thread overview]
Message-ID: <20150531235259.GA4620@hudson.localdomain> (raw)
In-Reply-To: <20150530080324.GA4412@hudson.localdomain>

Miklos, all,

On Sat, May 30, 2015 at 01:03:24AM -0700, Jeremiah Mahler wrote:
> all,
> 
> When running update-grub on a system with a Windows partition the kernel
> will oops with a "BUG: unable to handle kernel NULL pointer dereference"
> message.  It does this during the call to os-prober.  After the oops
> the system locks and requires a hard reset to get it running again.
> 
> This bug is present in the current linux-next (20150529) and as far
> back as 20150522 and possibly earlier.  That last working kernel I
> have is tagged 4.1.0-rc1+.
> 
> Below is a snippet from the back trace.  The full log is attached.
> 
>   ...
>   May 29 10:57:03 hudson 50mounted-tests[3413]: debug: running subtest /usr/lib/os-probes/mounted/20microsoft
>   May 29 10:57:03 hudson 20microsoft[3416]: debug: /dev/sda1 is a NTFS partition
>   May 29 10:57:03 hudson 20microsoft[3431]: result: /dev/sda1:Windows 7 (loader):Windows:chain
>   May 29 10:57:03 hudson 50mounted-tests[3432]: debug: os found by subtest /usr/lib/os-probes/mounted/20microsoft
>   May 29 10:57:03 hudson kernel: BUG: unable to handle kernel NULL pointer dereference at           (null)
>   May 29 10:57:03 hudson kernel: IP: [<          (null)>]           (null)
>   May 29 10:57:03 hudson kernel: PGD c9e43067 PUD c7b4a067 PMD 0 
>   May 29 10:57:03 hudson kernel: Oops: 0010 [#1] SMP 
>   May 29 10:57:03 hudson kernel: Modules linked in: vfat msdos fat dm_mod cpufreq_conservative cpufreq_stats cpufreq_userspace cpufreq_powersave binfmt_misc nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc joydev arc4 iwldvm mac80211 x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm i915 iTCO_wdt crct10dif_pclmul iTCO_vendor_support iwlwifi snd_hda_codec_hdmi crc32_pclmul snd_hda_codec_realtek crc32c_intel snd_hda_codec_generic cfg80211 snd_hda_intel snd_hda_codec ghash_clmulni_intel i2c_algo_bit aesni_intel drm_kms_helper aes_x86_64 snd_hwdep glue_helper lrw psmouse snd_hda_core gf128mul ablk_helper cryptd evdev mei_me tpm_tis drm snd_pcm serio_raw mei pcspkr tpm thinkpad_acpi wmi i2c_i801 shpchp snd_timer nvram snd battery rfkill lpc_ich ac video intel_smartconnect i2c_core soundcore
>   May 29 10:57:03 hudson kernel:  button mfd_core processor loop fuse autofs4 ext4 crc16 mbcache jbd2 sg sd_mod ahci libahci libata sdhci_pci scsi_mod xhci_pci ehci_pci sdhci ehci_hcd xhci_hcd mmc_core usbcore thermal usb_common thermal_sys
>   May 29 10:57:03 hudson kernel: CPU: 3 PID: 3433 Comm: umount Not tainted 4.1.0-rc4-next-20150522 #404
>   May 29 10:57:03 hudson kernel: Hardware name: LENOVO 3443CTO/3443CTO, BIOS G6ET59WW (2.03 ) 09/11/2012
>   May 29 10:57:03 hudson kernel: task: ffff880036bbd4d0 ti: ffff880118fd4000 task.ti: ffff880118fd4000
>   May 29 10:57:03 hudson kernel: RIP: 0010:[<0000000000000000>]  [<          (null)>]           (null)
>   May 29 10:57:03 hudson kernel: RSP: 0018:ffff880118fd7ea0  EFLAGS: 00010246
>   May 29 10:57:03 hudson kernel: RAX: 0000000000000000 RBX: ffff8800c95b6000 RCX: ffff8800355c9000
>   May 29 10:57:03 hudson kernel: RDX: 0000000000000001 RSI: 0000000000000286 RDI: ffff88003652c800
>   May 29 10:57:03 hudson kernel: RBP: ffff8800c95b60c0 R08: 000800010000feb4 R09: 0000fead0000fea5
>   May 29 10:57:03 hudson kernel: R10: 0000fead0000fea5 R11: 0000fe9d0000fe95 R12: ffffffffa0241b40
>   May 29 10:57:03 hudson kernel: R13: ffff880036bbd4d0 R14: 0000000000000000 R15: 0000000000000000
>   May 29 10:57:03 hudson kernel: FS:  00007f8d586b8840(0000) GS:ffff88011e380000(0000) knlGS:0000000000000000
>   May 29 10:57:03 hudson kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>   May 29 10:57:03 hudson kernel: CR2: 0000000000000000 CR3: 0000000036b7e000 CR4: 00000000001407e0
>   May 29 10:57:03 hudson kernel: Stack:
>   May 29 10:57:03 hudson kernel:  ffffffff811ae1fe 0000000000000028 ffffffffa02430c0 ffff880036bbdb28
>   May 29 10:57:03 hudson kernel:  ffffffff811ae4de ffff8800c95b6000 ffffffff811ae86c ffff8800c95b6000
>   May 29 10:57:03 hudson kernel:  ffff8801182fd200 ffffffff81a81400 ffffffff811ca15b 0000000000000000
>   May 29 10:57:03 hudson kernel: Call Trace:
>   May 29 10:57:03 hudson kernel:  [<ffffffff811ae1fe>] ? generic_shutdown_super+0x6e/0xf0
>   May 29 10:57:03 hudson kernel:  [<ffffffff811ae4de>] ? kill_anon_super+0xe/0x20
>   May 29 10:57:03 hudson kernel:  [<ffffffff811ae86c>] ? deactivate_locked_super+0x3c/0x70
>   May 29 10:57:03 hudson kernel:  [<ffffffff811ca15b>] ? cleanup_mnt+0x3b/0x80
>   May 29 10:57:03 hudson kernel:  [<ffffffff81080d3a>] ? task_work_run+0x9a/0xc0
>   May 29 10:57:03 hudson kernel:  [<ffffffff81012d5f>] ? do_notify_resume+0x5f/0x80
>   May 29 10:57:03 hudson kernel:  [<ffffffff81519e84>] ? int_signal+0x12/0x17
>   May 29 10:57:03 hudson kernel: Code:  Bad RIP value.
>   May 29 10:57:03 hudson kernel: RIP  [<          (null)>]           (null)
>   May 29 10:57:03 hudson kernel:  RSP <ffff880118fd7ea0>
>   May 29 10:57:03 hudson kernel: CR2: 0000000000000000
>   May 29 10:57:03 hudson kernel: ---[ end trace f8d3aacb091ee378 ]---
>   May 29 10:57:03 hudson 50mounted-tests[3434]: warning: failed to umount /var/lib/os-prober/mount
>   May 29 10:57:03 hudson os-prober[3436]: debug: os detected by /usr/lib/os-probes/50mounted-tests
>   May 29 10:57:03 hudson os-prober[3442]: debug: running /usr/lib/os-probes/50mounted-tests on /dev/sda2
>   ...
> 
> Any help diagnosing this bug would be appreciated.
> 
> -- 
> - Jeremiah Mahler

I found the patch that introduced the bug.  It was a two line change to
fuse back in 4.1.0-rc3.

  From daccc092d1a24fc8e4be5dfd462703631fd8c199 Mon Sep 17 00:00:00 2001
  From: Miklos Szeredi <mszeredi@suse.cz>
  Date: Wed, 20 May 2015 15:18:58 +0200
  Subject: [PATCH] fuse: initialize fc->release before calling it
  
  fc->release is called from fuse_conn_put() which was used in the error
  cleanup before fc->release was initialized.
  
  Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
  Fixes: a325f9b92273 ("fuse: update fuse_conn_init() and separate out fuse_conn_kill()")
  Cc: <stable@vger.kernel.org> #v2.6.31+
  ---
   fs/fuse/inode.c | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
  
  diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
  index 082ac1c..4a57f3e 100644
  --- a/fs/fuse/inode.c
  +++ b/fs/fuse/inode.c
  @@ -1025,6 +1025,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
   	if (!fc)
   		goto err_fput;
   
  +	fc->release = fuse_free_conn;
   	fuse_conn_init(fc);
   
   	fc->dev = sb->s_dev;
  @@ -1040,7 +1041,6 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
   		fc->dont_mask = 1;
   	sb->s_flags |= MS_POSIXACL;
   
  -	fc->release = fuse_free_conn;
   	fc->flags = d.flags;
   	fc->user_id = d.user_id;
   	fc->group_id = d.group_id;
  -- 
  2.1.4

-- 
- Jeremiah Mahler

  reply	other threads:[~2015-05-31 23:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-30  8:03 Jeremiah Mahler
2015-05-31 23:52 ` Jeremiah Mahler [this message]
2015-06-01  1:31   ` [PATCH] fuse: avoid clobbering fc->release with fuse_conn_init(fc) Jeremiah Mahler
2015-06-01 12:03     ` Miklos Szeredi
2015-06-01 17:28       ` Jeremiah Mahler

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=20150531235259.GA4620@hudson.localdomain \
    --to=jmmahler@gmail.com \
    --cc=fuse-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=stable@vger.kernel.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 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®