|
@@ -121,6 +121,21 @@ struct request_sock;
|
|
|
#define LSM_UNSAFE_PTRACE 2
|
|
|
#define LSM_UNSAFE_PTRACE_CAP 4
|
|
|
|
|
|
+/*
|
|
|
+ * If a hint addr is less than mmap_min_addr change hint to be as
|
|
|
+ * low as possible but still greater than mmap_min_addr
|
|
|
+ */
|
|
|
+static inline unsigned long round_hint_to_min(unsigned long hint)
|
|
|
+{
|
|
|
+ hint &= PAGE_MASK;
|
|
|
+ if (((void *)hint != NULL) &&
|
|
|
+ (hint < mmap_min_addr))
|
|
|
+ return PAGE_ALIGN(mmap_min_addr);
|
|
|
+ return hint;
|
|
|
+}
|
|
|
+extern int mmap_min_addr_handler(struct ctl_table *table, int write, struct file *filp,
|
|
|
+ void __user *buffer, size_t *lenp, loff_t *ppos);
|
|
|
+
|
|
|
#ifdef CONFIG_SECURITY
|
|
|
|
|
|
struct security_mnt_opts {
|
|
@@ -149,21 +164,6 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts)
|
|
|
opts->num_mnt_opts = 0;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * If a hint addr is less than mmap_min_addr change hint to be as
|
|
|
- * low as possible but still greater than mmap_min_addr
|
|
|
- */
|
|
|
-static inline unsigned long round_hint_to_min(unsigned long hint)
|
|
|
-{
|
|
|
- hint &= PAGE_MASK;
|
|
|
- if (((void *)hint != NULL) &&
|
|
|
- (hint < mmap_min_addr))
|
|
|
- return PAGE_ALIGN(mmap_min_addr);
|
|
|
- return hint;
|
|
|
-}
|
|
|
-
|
|
|
-extern int mmap_min_addr_handler(struct ctl_table *table, int write, struct file *filp,
|
|
|
- void __user *buffer, size_t *lenp, loff_t *ppos);
|
|
|
/**
|
|
|
* struct security_operations - main security structure
|
|
|
*
|