[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lost] [Patch] kernel: RPC-Parameter prüfen



Am Samstag, 9. Februar 2008 09.50:32 schrieb Kevin Wolf:
> Antoine Kaufmann schrieb:
> >> Index: src/kernel/src/mm/paging.c
> >> ===================================================================
> >> --- src/kernel/src/mm/paging.c  (Revision 699)
> >> +++ src/kernel/src/mm/paging.c  (Arbeitskopie)
> >> -        return (paddr_t) (
> >> -            (page_directory[vpage / PAGE_TABLE_LENGTH] & ~0x3FFFFF)
> >> -          | ((dword) vaddr & 0x3FFFFF));
> >> +        return (page_directory[vpage / PAGE_TABLE_LENGTH] & ~0x3FF000)
> >> +            | ((dword) vaddr & 0x3FF000);
> >
> > Was ist die Überlegung hinter diesem Rückgabewert? Ich sehe da nicht,
> > warum das so Kompliziert sein muss. Sind die Bits im PD-Eintrag nicht an
> > der gewünschten Stelle, oder wo ist das Problem?
>
> Die Überlegung war, daß resolve_vaddr() bisher mit 4M-Pages umgehen kann
> und ich das nicht kaputtmachen wollte, auch wenn wir es im Moment nicht
> nutzen. Die einfachere Lösung wäre es aber vermutlich wirklich, in
> resolve_vaddr() den Rückgabewert einfach auf PTE_PS zu prüfen und
> entsprechend viel von der virtuellen Adresse dazuzuoren - Wald vor
> lauter Bäumen nicht gesehen und so...
>
> Neuer Versuch:

Sieht gut aus. Ich würde sagen: Rein damit.