-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Eric Paris
authored and
James Morris
committed
Aug 5, 2009
1 parent
68edc86
commit b61b5b9
Showing
12 changed files
with
93 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 84336d1a77ccd2c06a730ddd38e695c2324a7386 | ||
refs/heads/master: a2551df7ec568d87793d2eea4ca744e86318f205 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
#include <linux/init.h> | ||
#include <linux/mm.h> | ||
#include <linux/security.h> | ||
#include <linux/sysctl.h> | ||
|
||
/* amount of vm to protect from userspace access by both DAC and the LSM*/ | ||
unsigned long mmap_min_addr; | ||
/* amount of vm to protect from userspace using CAP_SYS_RAWIO (DAC) */ | ||
unsigned long dac_mmap_min_addr = CONFIG_DEFAULT_MMAP_MIN_ADDR; | ||
/* amount of vm to protect from userspace using the LSM = CONFIG_LSM_MMAP_MIN_ADDR */ | ||
|
||
/* | ||
* Update mmap_min_addr = max(dac_mmap_min_addr, CONFIG_LSM_MMAP_MIN_ADDR) | ||
*/ | ||
static void update_mmap_min_addr(void) | ||
{ | ||
#ifdef CONFIG_LSM_MMAP_MIN_ADDR | ||
if (dac_mmap_min_addr > CONFIG_LSM_MMAP_MIN_ADDR) | ||
mmap_min_addr = dac_mmap_min_addr; | ||
else | ||
mmap_min_addr = CONFIG_LSM_MMAP_MIN_ADDR; | ||
#else | ||
mmap_min_addr = dac_mmap_min_addr; | ||
#endif | ||
} | ||
|
||
/* | ||
* sysctl handler which just sets dac_mmap_min_addr = the new value and then | ||
* calls update_mmap_min_addr() so non MAP_FIXED hints get rounded properly | ||
*/ | ||
int mmap_min_addr_handler(struct ctl_table *table, int write, struct file *filp, | ||
void __user *buffer, size_t *lenp, loff_t *ppos) | ||
{ | ||
int ret; | ||
|
||
ret = proc_doulongvec_minmax(table, write, filp, buffer, lenp, ppos); | ||
|
||
update_mmap_min_addr(); | ||
|
||
return ret; | ||
} | ||
|
||
int __init init_mmap_min_addr(void) | ||
{ | ||
update_mmap_min_addr(); | ||
|
||
return 0; | ||
} | ||
pure_initcall(init_mmap_min_addr); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters