Commit 18fc3b79 authored by Committed by Vikram Narayanan
Fixes security bug: LCD could modify host's struct.
This is a trivial commit, but I want to get this fixed before it bites us in the future. The problem: the host kernel uses a struct to represent an installed kernel module. But this struct is literally embedded in the module's program bits. We're mapping the entire module inside the LCD. Thus, the LCD can do whatever it wants to the struct, and this could affect the host. Yes, all of the other parts of the module are technically exposed to the host. But it's important we isolate this struct because this is something the host will actually touch. The solution: I duplicate the page that contains the struct, so that the LCD has a separate copy of the struct. Open issues: we still need to come up with a solution for an LCD to pass its struct module as an argument, via rpc. I'm going to hack it for now with PMFS.
Showing with 117 additions and 8 deletions