[OSy] Staticke struktury se alokuji na divnem miste v pameti

Tomáš Brambora tomas.brambora at gmail.com
Sun Jan 6 12:41:21 CET 2008


0xCFB4 je adresa ve virtualni pameti.
Mam v kodu user procesu dejme tomu
putc_syscall_struct str;
a volam SYSCALL(kod_syscallu, (void*)&str)).

Proces mame namapovany na nejvyse 132 stranek pocinaje 0x0. Takze CFB4
je daleko za nim, coz by u staticke struktury byt nemelo, jestli se
nepletu..
Na strane kernelu dostaneme v registru stejny pointer, ktery jsme do
nej v user procesu strcili (zkouseli jsme to s MAGIC hodnotou). Takze
ta struktura je fakt alokovana na te divne adrese 0xCFB4 (a dalsi
struktury jsou v okoli tehle adresy)...

On Jan 6, 2008 12:34 PM, Andrej Kruták <andree182 at gmail.com> wrote:
> hi,
>
> ta adresa je vo virtualnej alebo fyzickej pamati? vo virtualnej to moze byt
> perfektne validna adresa... A 0x8000cfb4 by tiez mohla byt validna cast ram,
> ak je tam namapovana virtualna... skontroluj si, co za hodnota sa posiela do
> syscallu a co na strane kernelu dostanes (ci su rovnake)... to su moje
> "napady" ;-)
>
> andrej
>
>
>
> On Jan 6, 2008 12:06 PM, Tomáš Brambora <tomas.brambora at gmail.com> wrote:
> >
> >
> >
> > Dobry den,
> >
> > mame problem pri volani syscallu - pouzivame staticke struktury, ktere
> > naplnime potrebnymi daty, a posleme si v registrech kod syscallu a
> > pointer na prislusnou strukturu. Jenze tahle struktura je na "divnem"
> > miste v pameti - na adrese 0xCFB4, coz je az nekde daleko za kernelem
> > - a data v ni jsou corrupted.
> > Nesetkali jste se nekdo s necim podobnym, prosim?
> >
> > S pozdravem
> > Tom
> >
> > _______________________________________________
> > OSy mailing list
> > OSy at dsrg.mff.cuni.cz
> > https://dsrg.mff.cuni.cz/mailman/listinfo/osy
> >
>
>
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>
>




More information about the NSWI004 mailing list