Merge remote-tracking branch 'torvalds/master' into perf/urgent
[linux-2.6-microblaze.git] / kernel / sys.c
index 2e2e3f3..3a583a2 100644 (file)
 #ifndef PAC_RESET_KEYS
 # define PAC_RESET_KEYS(a, b)  (-EINVAL)
 #endif
+#ifndef PAC_SET_ENABLED_KEYS
+# define PAC_SET_ENABLED_KEYS(a, b, c) (-EINVAL)
+#endif
+#ifndef PAC_GET_ENABLED_KEYS
+# define PAC_GET_ENABLED_KEYS(a)       (-EINVAL)
+#endif
 #ifndef SET_TAGGED_ADDR_CTRL
 # define SET_TAGGED_ADDR_CTRL(a)       (-EINVAL)
 #endif
@@ -1584,7 +1590,7 @@ int do_prlimit(struct task_struct *tsk, unsigned int resource,
 
        /*
         * RLIMIT_CPU handling. Arm the posix CPU timer if the limit is not
-        * infite. In case of RLIM_INFINITY the posix CPU timer code
+        * infinite. In case of RLIM_INFINITY the posix CPU timer code
         * ignores the rlimit.
         */
         if (!retval && new_rlim && resource == RLIMIT_CPU &&
@@ -2023,7 +2029,7 @@ static int prctl_set_mm_map(int opt, const void __user *addr, unsigned long data
        }
 
        /*
-        * arg_lock protects concurent updates but we still need mmap_lock for
+        * arg_lock protects concurrent updates but we still need mmap_lock for
         * read to exclude races with sys_brk.
         */
        mmap_read_lock(mm);
@@ -2035,7 +2041,7 @@ static int prctl_set_mm_map(int opt, const void __user *addr, unsigned long data
         * output in procfs mostly, except
         *
         *  - @start_brk/@brk which are used in do_brk_flags but kernel lookups
-        *    for VMAs when updating these memvers so anything wrong written
+        *    for VMAs when updating these members so anything wrong written
         *    here cause kernel to swear at userspace program but won't lead
         *    to any problem in kernel itself
         */
@@ -2137,7 +2143,7 @@ static int prctl_set_mm(int opt, unsigned long addr,
        error = -EINVAL;
 
        /*
-        * arg_lock protects concurent updates of arg boundaries, we need
+        * arg_lock protects concurrent updates of arg boundaries, we need
         * mmap_lock for a) concurrent sys_brk, b) finding VMA for addr
         * validation.
         */
@@ -2204,7 +2210,7 @@ static int prctl_set_mm(int opt, unsigned long addr,
         * If command line arguments and environment
         * are placed somewhere else on stack, we can
         * set them up here, ARG_START/END to setup
-        * command line argumets and ENV_START/END
+        * command line arguments and ENV_START/END
         * for environment.
         */
        case PR_SET_MM_START_STACK:
@@ -2252,8 +2258,8 @@ static int prctl_get_tid_address(struct task_struct *me, int __user * __user *ti
 static int propagate_has_child_subreaper(struct task_struct *p, void *data)
 {
        /*
-        * If task has has_child_subreaper - all its decendants
-        * already have these flag too and new decendants will
+        * If task has has_child_subreaper - all its descendants
+        * already have these flag too and new descendants will
         * inherit it on fork, skip them.
         *
         * If we've found child_reaper - skip descendants in
@@ -2497,6 +2503,16 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
                        return -EINVAL;
                error = PAC_RESET_KEYS(me, arg2);
                break;
+       case PR_PAC_SET_ENABLED_KEYS:
+               if (arg4 || arg5)
+                       return -EINVAL;
+               error = PAC_SET_ENABLED_KEYS(me, arg2, arg3);
+               break;
+       case PR_PAC_GET_ENABLED_KEYS:
+               if (arg2 || arg3 || arg4 || arg5)
+                       return -EINVAL;
+               error = PAC_GET_ENABLED_KEYS(me);
+               break;
        case PR_SET_TAGGED_ADDR_CTRL:
                if (arg3 || arg4 || arg5)
                        return -EINVAL;