/*
  * Control the relaxed ABI allowing tagged user addresses into the kernel.
  */
-static unsigned int tagged_addr_prctl_allowed = 1;
+static unsigned int tagged_addr_disabled;
 
 long set_tagged_addr_ctrl(unsigned long arg)
 {
-       if (!tagged_addr_prctl_allowed)
-               return -EINVAL;
        if (is_compat_task())
                return -EINVAL;
        if (arg & ~PR_TAGGED_ADDR_ENABLE)
                return -EINVAL;
 
+       /*
+        * Do not allow the enabling of the tagged address ABI if globally
+        * disabled via sysctl abi.tagged_addr_disabled.
+        */
+       if (arg & PR_TAGGED_ADDR_ENABLE && tagged_addr_disabled)
+               return -EINVAL;
+
        update_thread_flag(TIF_TAGGED_ADDR, arg & PR_TAGGED_ADDR_ENABLE);
 
        return 0;
 
 long get_tagged_addr_ctrl(void)
 {
-       if (!tagged_addr_prctl_allowed)
-               return -EINVAL;
        if (is_compat_task())
                return -EINVAL;
 
 
 static struct ctl_table tagged_addr_sysctl_table[] = {
        {
-               .procname       = "tagged_addr",
+               .procname       = "tagged_addr_disabled",
                .mode           = 0644,
-               .data           = &tagged_addr_prctl_allowed,
+               .data           = &tagged_addr_disabled,
                .maxlen         = sizeof(int),
                .proc_handler   = proc_dointvec_minmax,
                .extra1         = &zero,