Bug #1459

panic in msdosfs

Added by polachok almost 5 years ago. Updated almost 5 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

I get a panic while trying to read a file from msdos filesystem with latest
master.

http://omploader.org/vMjZzaw

History

#1 Updated by qhwt+dfly almost 5 years ago

On Fri, Aug 21, 2009 at 12:30:30AM +0000, Alexander Polakov (via DragonFly issue tracker) wrote:
>
> New submission from Alexander Polakov <>:
>
> I get a panic while trying to read a file from msdos filesystem with latest
> master.
>
> http://omploader.org/vMjZzaw

Can you apply this patch, compile and reinstall the kernel, and
see how it it proceeds?

diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index 8217817..3758510 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -887,7 +887,7 @@ breadn(struct vnode *vp, off_t loffset, int size, off_t *raoffset,
rabp = getblk(vp, *raoffset, *rabsize, 0, 0);

if ((rabp->b_flags & B_CACHE) == 0) {
- rel_mplock();
+ get_mplock();
rabp->b_flags &= ~(B_ERROR | B_EINTR | B_INVAL);
rabp->b_cmd = BUF_CMD_READ;
vfs_busy_pages(vp, rabp);

>
> ----------
> messages: 7104
> nosy: polachok
> status: unread
> title: panic in msdosfs
>
> _____________________________________________________
> DragonFly issue tracker <>
> <http://bugs.dragonflybsd.org/issue1459>
> _____________________________________________________

#2 Updated by corecode almost 5 years ago

YONETANI Tomokazu wrote:
> On Fri, Aug 21, 2009 at 12:30:30AM +0000, Alexander Polakov (via DragonFly issue tracker) wrote:
>> New submission from Alexander Polakov <>:
>>
>> I get a panic while trying to read a file from msdos filesystem with latest
>> master.
>>
>> http://omploader.org/vMjZzaw
>
> Can you apply this patch, compile and reinstall the kernel, and
> see how it it proceeds?
>
> diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
> index 8217817..3758510 100644
> --- a/sys/kern/vfs_bio.c
> +++ b/sys/kern/vfs_bio.c
> @@ -887,7 +887,7 @@ breadn(struct vnode *vp, off_t loffset, int size, off_t *raoffset,
> rabp = getblk(vp, *raoffset, *rabsize, 0, 0);
>
> if ((rabp->b_flags & B_CACHE) == 0) {
> - rel_mplock();
> + get_mplock();

haha :)

#3 Updated by dillon almost 5 years ago

Doh. Oh please commit that :-)

-Matt
Matthew Dillon
<>

#4 Updated by polachok almost 5 years ago

resolved.

Also available in: Atom PDF