Bug 874407
Summary: | btrfs: BUG: unable to handle kernel NULL pointer dereference at 000000000000003f | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Ken Tobias <kentobias> |
Component: | kernel | Assignee: | Zach Brown <zab> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 17 | CC: | gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, sweil |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Unspecified | ||
Whiteboard: | abrt_hash:c4b1cc5b169c49490233caf895c13aba4707d8a7 | ||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-02-06 22:52:46 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Ken Tobias
2012-11-08 06:11:28 UTC
This oops comes from buggy error handling in btrfs_cont_expand(). > :BUG: unable to handle kernel NULL pointer dereference at 000000000000003f > :IP: [<ffffffffa05bbca6>] free_extent_map+0x16/0x70 [btrfs] > 41ca6: 8b 47 50 mov 0x50(%rdi),%eax > :RDX: 00000000009f70a0 RSI: ffff88001c1dc7e0 RDI: ffffffffffffffef > (gdb) print/x 0xffffffffffffffef + 0x50 > $2 = 0x3f > (gdb) print (long)0xffffffffffffffef > $4 = -17 > /usr/include/asm-generic/errno-base.h:#define EEXIST 17 > while (1) { > em = btrfs_get_extent(inode, NULL, 0, cur_offset, > block_end - cur_offset, 0); > if (IS_ERR(em)) { > err = PTR_ERR(em); > break; > } > [ ... ] > } > > free_extent_map(em); > void free_extent_map(struct extent_map *em) > { > if (!em) > return; > WARN_ON(atomic_read(&em->refs) == 0); So any errors from btrfs_get_extent() in btrfs_cont_expand() will trigger this oops. The bug is still present upstream in mainline. I'll get it fixed. This has been applied upstream and was first available in v3.8-rc5. commit f276795627045a3c599a60b476767861e4318c7d Author: Zach Brown <zab> Date: Tue Jan 8 19:37:58 2013 +0000 btrfs: fix btrfs_cont_expand() freeing IS_ERR em $ git tag --contains f276795627045a3c599a60b476767861e4318c7d v3.8-rc5 So the fix will be available in F17 if the kernel package rebases to a 3.8 kernel, probably around a 3.8.1 stable kernel release. |