int macx_backing_store_suspend( struct macx_backing_store_suspend_args *args) { boolean_t suspend = args->suspend; int error; boolean_t funnel_state; funnel_state = thread_funnel_set(kernel_flock, TRUE); if ((error = suser(kauth_cred_get(), 0))) goto backing_store_suspend_return; vm_backing_store_disable(suspend); backing_store_suspend_return: (void) thread_funnel_set(kernel_flock, FALSE); return(error); }
int macx_backing_store_suspend( boolean_t suspend) { int error; struct proc *p = current_proc(); boolean_t funnel_state; funnel_state = thread_funnel_set(kernel_flock, TRUE); if ((error = suser(p->p_ucred, &p->p_acflag))) goto backing_store_suspend_return; vm_backing_store_disable(suspend); backing_store_suspend_return: (void) thread_funnel_set(kernel_flock, FALSE); return(error); }