[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.