Bug 10150

Summary: kernel BUG at fs/sysfs/file.c:89!
Product: File System Reporter: Balaji Rao R (balajirrao)
Component: SysFSAssignee: Greg Kroah-Hartman (greg)
Status: RESOLVED INSUFFICIENT_DATA    
Severity: normal CC: akpm, alan
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.25-rc3 Subsystem:
Regression: No Bisected commit-id:

Description Balaji Rao R 2008-03-02 14:17:44 UTC
Distribution: Fedora 8 i386
Hardware Environment: Intel Q6600 on ICH9
Software Environment: x86
Problem Description:

[ 1503.123224] ------------[ cut here ]------------
[ 1503.123228] kernel BUG at fs/sysfs/file.c:89!
[ 1503.123230] invalid opcode: 0000 [#1] SMP 
[ 1503.123232] Modules linked in:
[ 1503.123233] 
[ 1503.123235] Pid: 10216, comm: nautilus Not tainted (2.6.25-rc3 #40)
[ 1503.123237] EIP: 0060:[<c01aa880>] EFLAGS: 00210216 CPU: 1
[ 1503.123241] EIP is at sysfs_read_file+0x89/0xcc
[ 1503.123243] EAX: 00000001 EBX: f6dbe240 ECX: ffffefff EDX: f789a6f0
[ 1503.123245] ESI: 00011b83 EDI: f789a8d0 EBP: f0953f74 ESP: f0953f54
[ 1503.123247]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 1503.123249] Process nautilus (pid: 10216, ti=f0952000 task=f6810000 task.ti=f0952000)
[ 1503.123250] Stack: 00001000 b6308df8 f6dbe254 c05baf4c f7899800 ec1a66c0 b6308df8 c01aa7f7 
[ 1503.123255]        f0953f90 c0172de8 f0953f9c 00001000 ec1a66c0 fffffff7 00001000 f0953fb0 
[ 1503.123259]        c01731fe f0953f9c 00000000 00000000 00000001 0000001a 00000000 f0952000 
[ 1503.123264] Call Trace:
[ 1503.123266]  [<c01aa7f7>] ? sysfs_read_file+0x0/0xcc
[ 1503.123269]  [<c0172de8>] ? vfs_read+0x8a/0x106
[ 1503.123273]  [<c01731fe>] ? sys_read+0x3b/0x60
[ 1503.123275]  [<c01049a6>] ? sysenter_past_esp+0x5f/0x85
[ 1503.123279]  [<c0440000>] ? e1000_probe+0x70d/0xdcb
[ 1503.123283]  =======================
[ 1503.123284] Code: c0 74 59 8b 47 18 8b 4b 0c 8b 40 04 89 43 28 8b 57 14 8b 75 ec 8b 45 f0 ff 16 89 c6 89 f8 e8 b4 0b 00 00 81 fe ff 0f 00 00 7e 04 <0f> 0b eb fe 85 f6 78 29 c7 43 24 00 00 00 00 89 33 eb 07 be f4 
[ 1503.123305] EIP: [<c01aa880>] sysfs_read_file+0x89/0xcc SS:ESP 0068:f0953f54
[ 1503.123310] ---[ end trace 8eac802e74d51a3e ]---
Comment 1 Anonymous Emailer 2008-03-02 14:40:17 UTC
Reply-To: akpm@linux-foundation.org

On Sun,  2 Mar 2008 14:17:45 -0800 (PST) bugme-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=10150
> 
>            Summary: kernel BUG at fs/sysfs/file.c:89!
>            Product: File System
>            Version: 2.5
>      KernelVersion: 2.6.25-rc3
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: SysFS
>         AssignedTo: greg@kroah.com
>         ReportedBy: balajirrao@gmail.com
> 
> 
> Distribution: Fedora 8 i386
> Hardware Environment: Intel Q6600 on ICH9
> Software Environment: x86
> Problem Description:
> 
> [ 1503.123224] ------------[ cut here ]------------
> [ 1503.123228] kernel BUG at fs/sysfs/file.c:89!
> [ 1503.123230] invalid opcode: 0000 [#1] SMP 
> [ 1503.123232] Modules linked in:
> [ 1503.123233] 
> [ 1503.123235] Pid: 10216, comm: nautilus Not tainted (2.6.25-rc3 #40)
> [ 1503.123237] EIP: 0060:[<c01aa880>] EFLAGS: 00210216 CPU: 1
> [ 1503.123241] EIP is at sysfs_read_file+0x89/0xcc
> [ 1503.123243] EAX: 00000001 EBX: f6dbe240 ECX: ffffefff EDX: f789a6f0
> [ 1503.123245] ESI: 00011b83 EDI: f789a8d0 EBP: f0953f74 ESP: f0953f54
> [ 1503.123247]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> [ 1503.123249] Process nautilus (pid: 10216, ti=f0952000 task=f6810000
> task.ti=f0952000)
> [ 1503.123250] Stack: 00001000 b6308df8 f6dbe254 c05baf4c f7899800 ec1a66c0
> b6308df8 c01aa7f7 
> [ 1503.123255]        f0953f90 c0172de8 f0953f9c 00001000 ec1a66c0 fffffff7
> 00001000 f0953fb0 
> [ 1503.123259]        c01731fe f0953f9c 00000000 00000000 00000001 0000001a
> 00000000 f0952000 
> [ 1503.123264] Call Trace:
> [ 1503.123266]  [<c01aa7f7>] ? sysfs_read_file+0x0/0xcc
> [ 1503.123269]  [<c0172de8>] ? vfs_read+0x8a/0x106
> [ 1503.123273]  [<c01731fe>] ? sys_read+0x3b/0x60
> [ 1503.123275]  [<c01049a6>] ? sysenter_past_esp+0x5f/0x85
> [ 1503.123279]  [<c0440000>] ? e1000_probe+0x70d/0xdcb
> [ 1503.123283]  =======================
> [ 1503.123284] Code: c0 74 59 8b 47 18 8b 4b 0c 8b 40 04 89 43 28 8b 57 14 8b
> 75 ec 8b 45 f0 ff 16 89 c6 89 f8 e8 b4 0b 00 00 81 fe ff 0f 00 00 7e 04 <0f>
> 0b
> eb fe 85 f6 78 29 c7 43 24 00 00 00 00 89 33 eb 07 be f4 
> [ 1503.123305] EIP: [<c01aa880>] sysfs_read_file+0x89/0xcc SS:ESP
> 0068:f0953f54
> [ 1503.123310] ---[ end trace 8eac802e74d51a3e ]---

We need to know whihc function returned a bad length.

Please apply this patch and rerun.

--- a/fs/sysfs/file.c~a
+++ a/fs/sysfs/file.c
@@ -16,6 +16,7 @@
 #include <linux/poll.h>
 #include <linux/list.h>
 #include <linux/mutex.h>
+#include <linux/kallsyms.h>
 #include <asm/uaccess.h>
 
 #include "sysfs.h"
@@ -78,6 +79,8 @@ static int fill_read_buffer(struct dentr
 		return -ENODEV;
 
 	buffer->event = atomic_read(&attr_sd->s_attr.open->event);
+	print_symbol("fill_read_buffer: calling %s\n",
+			(unsigned long)ops->show);
 	count = ops->show(kobj, attr_sd->s_attr.attr, buffer->page);
 
 	sysfs_put_active_two(attr_sd);
_
Comment 2 Balaji Rao R 2008-03-02 15:38:02 UTC
> We need to know whihc function returned a bad length.
> 
> Please apply this patch and rerun.
> 
> --- a/fs/sysfs/file.c~a
> +++ a/fs/sysfs/file.c
> @@ -16,6 +16,7 @@
>  #include <linux/poll.h>
>  #include <linux/list.h>
>  #include <linux/mutex.h>
> +#include <linux/kallsyms.h>
>  #include <asm/uaccess.h>
> 
>  #include "sysfs.h"
> @@ -78,6 +79,8 @@ static int fill_read_buffer(struct dentr
>                 return -ENODEV;
> 
>         buffer->event = atomic_read(&attr_sd->s_attr.open->event);
> +       print_symbol("fill_read_buffer: calling %s\n",
> +                       (unsigned long)ops->show);
>         count = ops->show(kobj, attr_sd->s_attr.attr, buffer->page);
> 
>         sysfs_put_active_two(attr_sd);
> _
> 

I could not reproduce the bug. But this is the output I got with the patch enabled.I get lots of these when I run gnome-system-monitor.

'fill_read_buffer: calling dev_attr_show+0x0/0x1c'