Re: mcdx -- do_request(): non-read command to cd!!

Pekka J Enberg
2007-04-03T17:37:44Z

On Tue, 3 Apr 2007, Rene Herman wrote:
> I believe the "tar" runs has produced something useful now though:
>
> root@5va2:~# dmesg -c >/dev/null
> root@5va2:~# strace -o tar.strace tar cvf foo.tar /mnt/cdrom
> tar: Removing leading `/' from member names
> /mnt/cdrom/
> /mnt/cdrom/dott/
> /mnt/cdrom/dott/adlib.ims
> /mnt/cdrom/dott/dott.bat
> /mnt/cdrom/dott/dotticon.ico
> /mnt/cdrom/dott/gmidi.ims
> /mnt/cdrom/dott/maniac/
> rlogin: connection closed.
> rene@7ixe4:~$
>
> When I now switch the monitor to 5va2 directly, there is an oops on the
> screen, with a backtrace saying (manual transcription):
>
> Call Trace:
> [<c1047eb6>] drain_array+0x94/0xc3
> [ ... ] cache_reap+0x55/0xe9
> [ ... ] run_workqueue+0x8f/0x14d
> [ ... ] cache_reap+0x0//0xe9
> [ ... ] worker_thread+0x122/0x14b
> [ ... ] default_wake_function+0x0/0xc
> [ ... ] default_wake_function+0x0/0xc
> [ ... ] worker_thread+0x0/0x14b
> [ ... ] kthread+0x72/0x97
> [ ... ] kthread+0x0/0x97
> [ ... ] kernel_thread_helper+0x7/0x10
> =======================
> Code: [ ... ]
> EIP: [<c1047787>] free_block+0x58/0xcf SS:ESP [ ... ]
>
> Couple of functions mentioned twice in that backtrace. That looks a
> little off no?

It looks like we are passing a bad pointer to slab. Please turn on
CONFIG_DEBUG_SLAB and reproduce. It's probably a double-free as the TOC
reading bits look racy.

Pekka