dsy core staff
Registered: Jun 2012
Posts: 471 (0.10 al dì)
Location:
Corso: Magistrale in Informatica
Anno: 2
Time Online: 4 Days, 2:45:03: [...]
Status: Offline
Edit | Report | IP: Logged |
Ciao a tutti,
Come sapete lo stack quando alloca memoria va verso indirizzi "più bassi", mentre quando ci scrivete l'ordine è inverso. Tanto per intenderci se avete un buffer tra l'indirizzo 1000 e 900, quando ci scrivete si parte da 900 andando verso l'alto, quindi verso 1000. JOS negli indirizzi sopra KERNBASE come sapete ci mette il kernel. Cosa succederebbe se usiamo routine di scrittura non sicure quali "gets"? Buffer overflow e bye bye kernel. Per questo jos mette il top dello stack a KERNBASE-PTSIZE, dove tra KERNBASE-PTSIZE e KERNBASE c'è una pagina segnata come "non valida", quindi quando si prova ad accedervi.. TRAP!!
E' una protezione del kernel.
Venendo alla tua domanda.. mi sa proprio che al mit hanno cambiato layout (anche se il file è aggiornato al lab 2.. mi sembra assurdo che nei lab successivi lo cambiano ma.. boh). Quello che ti posso assicurare è che nell'ultima edizione del corso c'è
KERNSTACKTOP = KERNBASE-PTSIZE
ciao
|