forked from torvalds/linux
-
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.
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: security: define round_hint_to_min in !CONFIG_SECURITY Security/SELinux: seperate lsm specific mmap_min_addr SELinux: call cap_file_mmap in selinux_file_mmap Capabilities: move cap_file_mmap to commoncap.c
- Loading branch information
Showing
12 changed files
with
137 additions
and
41 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
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