Merge tag 'for-5.15-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
[linux-2.6-microblaze.git] / kernel / sys.c
index 30c12e5..8fdac0d 100644 (file)
@@ -480,7 +480,8 @@ static int set_user(struct cred *new)
         * failure to the execve() stage.
         */
        if (is_ucounts_overlimit(new->ucounts, UCOUNT_RLIMIT_NPROC, rlimit(RLIMIT_NPROC)) &&
-                       new_user != INIT_USER)
+                       new_user != INIT_USER &&
+                       !capable(CAP_SYS_RESOURCE) && !capable(CAP_SYS_ADMIN))
                current->flags |= PF_NPROC_EXCEEDED;
        else
                current->flags &= ~PF_NPROC_EXCEEDED;
@@ -1928,13 +1929,6 @@ static int validate_prctl_map_addr(struct prctl_mm_map *prctl_map)
 
        error = -EINVAL;
 
-       /*
-        * @brk should be after @end_data in traditional maps.
-        */
-       if (prctl_map->start_brk <= prctl_map->end_data ||
-           prctl_map->brk <= prctl_map->end_data)
-               goto out;
-
        /*
         * Neither we should allow to override limits if they set.
         */