Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Mar 1999 06:56:51 -0500 (EST)
From:      Brian Feldman <green@unixhelp.org>
To:        Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
Cc:        Matthew Dillon <dillon@apollo.backplane.com>, current@FreeBSD.ORG
Subject:   Re: Simple DOS against 3.x locks box solid 
Message-ID:  <Pine.BSF.4.05.9903150654440.20897-100000@janus.syracuse.net>
In-Reply-To: <199903151024.NAA00520@tejblum.dnttm.rssi.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 15 Mar 1999, Dmitrij Tejblum wrote:

> Matthew Dillon wrote:
> >=20
> >     We'll get a quick fix committed but the lockmgr stuff needs a real
> >     going-over... having interrupts using the general lockmgr call is
> >     a disaster waiting to happen.
>=20
> Hmmm. After I looked a bit further, it looks like a bug in the=20
> scheduler (?). Here is the stack trace:
>=20
> #9  0xc01ff64e in trap (frame=3D{tf_es =3D 16, tf_ds =3D 16, tf_edi =3D 0=
,=20
>       tf_esi =3D 16777216, tf_ebp =3D -999002708, tf_isp =3D -999002744,=
=20
>       tf_ebx =3D -1071228500, tf_edx =3D -2, tf_ecx =3D 0, tf_eax =3D 0,=
=20
>       tf_trapno =3D 12, tf_err =3D 0, tf_eip =3D -1072584332, tf_cs =3D 8=
,=20
>       tf_eflags =3D 66050, tf_esp =3D -999002524, tf_ss =3D -1071228500})
>     at ../../i386/i386/trap.c:438
> #10 0xc011a974 in lockmgr (lkp=3D0xc02659ac, flags=3D1, interlkp=3D0x0, p=
=3D0x0)
>     at ../../kern/kern_lock.c:217
> #11 0xc01d8c5b in vm_map_lookup (var_map=3D0xc4746e64, vaddr=3D3294351360=
,=20
>     fault_typea=3D1 '\001', out_entry=3D0xc4746e68, object=3D0xc4746e5c,=
=20
>     pindex=3D0xc4746e60, out_prot=3D0xc4746e4b "=C0\a", wired=3D0xc4746e4=
4)
>     at ../../vm/vm_map.c:2463
> #12 0xc01d4153 in vm_fault (map=3D0xc02659ac, vaddr=3D3294351360,=20
>     fault_type=3D1 '\001', fault_flags=3D0) at ../../vm/vm_fault.c:197
> #13 0xc01ff9ac in trap_pfault (frame=3D0xc4746f18, usermode=3D0, eva=3D32=
94351360)
>     at ../../i386/i386/trap.c:825
> #14 0xc01ff64e in trap (frame=3D{tf_es =3D 16, tf_ds =3D 16, tf_edi =3D 4=
6137344,=20
>       tf_esi =3D -1071149988, tf_ebp =3D -999002244, tf_isp =3D -99900230=
4,=20
>       tf_ebx =3D 18341888, tf_edx =3D -1000615936, tf_ecx =3D -1005747008=
,=20
>       tf_eax =3D 0, tf_trapno =3D 12, tf_err =3D 0, tf_eip =3D -107165079=
6, tf_cs =3D 8,=20
>       tf_eflags =3D 65606, tf_esp =3D -1072552121, tf_ss =3D -999654400})
>     at ../../i386/i386/trap.c:438
> #15 0xc01fe814 in swtch_com ()
> #16 0xc01ff859 in trap (frame=3D{tf_es =3D 47, tf_ds =3D 47, tf_edi =3D 2=
0,=20
>       tf_esi =3D 136019608, tf_ebp =3D -1077948228, tf_isp =3D -999002156=
,=20
>       tf_ebx =3D 307, tf_edx =3D 136220264, tf_ecx =3D 136630944,=20
>       tf_eax =3D 135716928, tf_trapno =3D 7, tf_err =3D 0, tf_eip =3D 134=
536416,=20
>       tf_cs =3D 31, tf_eflags =3D 514, tf_esp =3D -1077948244, tf_ss =3D =
47})
>     at ../../i386/i386/trap.c:195
> #17 0xc01f5aa3 in swi_ast_user ()
>=20
> the trap in swtch_com() (frame #15) is here:
>         /* switch address space */=09=09<----- line 622
>         movl    %cr3,%ebx
>         cmpl    PCB_CR3(%edx),%ebx =09=09<----- trap
>         je              4f
>=20
> I don't think this line is supposed to cause a trap...

When it says "switch address space" What exactly do you think it's going to
do? What I mean is, I'm pretty certain this is a good trap =3D)

The real problem did seem to be the NULL p dereference, as it was obvious
that it could happen in the code.

>=20
> Dima
>=20
>=20
>=20
>=20
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message
>=20

 Brian Feldman=09=09=09=09=09  _ __  ___ ___ ___ =20
 green@unixhelp.org=09=09=09      _ __ ___ | _ ) __|   \=20
=09     http://www.freebsd.org/=09 _ __ ___ ____ | _ \__ \ |) |
 FreeBSD: The Power to Serve!=09   _ __ ___ ____ _____ |___/___/___/=20



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9903150654440.20897-100000>