if (IS_ERR(heap->task)) {
                pr_err("%s: creating thread for deferred free failed\n",
                       __func__);
 -              return PTR_RET(heap->task);
 +              return PTR_ERR_OR_ZERO(heap->task);
        }
+       sched_setscheduler(heap->task, SCHED_IDLE, ¶m);
        return 0;
  }
  
 
                break;
        case Q_GETQUOTA:
                if (((type == USRQUOTA &&
-                     uid_eq(current_euid(), make_kuid(&init_user_ns, id))) ||
+                     !uid_eq(current_euid(), make_kuid(&init_user_ns, id))) ||
                     (type == GRPQUOTA &&
                      !in_egroup_p(make_kgid(&init_user_ns, id)))) &&
 -                  (!cfs_capable(CFS_CAP_SYS_ADMIN) ||
 +                  (!capable(CFS_CAP_SYS_ADMIN) ||
                     sbi->ll_flags & LL_SBI_RMT_CLIENT))
                        return -EPERM;
                break;