Lines Matching refs:shared_ctx
62 struct tsync_shared_context *shared_ctx; member
164 restrict_one_thread(ctx->shared_ctx); in restrict_one_thread_callback()
368 struct tsync_shared_context *shared_ctx) in schedule_task_work() argument
410 ctx->shared_ctx = shared_ctx; in schedule_task_work()
412 atomic_inc(&shared_ctx->num_preparing); in schedule_task_work()
413 atomic_inc(&shared_ctx->num_unfinished); in schedule_task_work()
426 atomic_dec(&shared_ctx->num_preparing); in schedule_task_work()
427 atomic_dec(&shared_ctx->num_unfinished); in schedule_task_work()
443 struct tsync_shared_context *shared_ctx) in cancel_tsync_works() argument
457 if (atomic_dec_return(&shared_ctx->num_preparing) == 0) in cancel_tsync_works()
458 complete_all(&shared_ctx->all_prepared); in cancel_tsync_works()
460 if (atomic_dec_return(&shared_ctx->num_unfinished) == 0) in cancel_tsync_works()
461 complete_all(&shared_ctx->all_finished); in cancel_tsync_works()
472 struct tsync_shared_context shared_ctx; in landlock_restrict_sibling_threads() local
477 atomic_set(&shared_ctx.preparation_error, 0); in landlock_restrict_sibling_threads()
478 init_completion(&shared_ctx.all_prepared); in landlock_restrict_sibling_threads()
479 init_completion(&shared_ctx.ready_to_commit); in landlock_restrict_sibling_threads()
480 atomic_set(&shared_ctx.num_unfinished, 1); in landlock_restrict_sibling_threads()
481 init_completion(&shared_ctx.all_finished); in landlock_restrict_sibling_threads()
482 shared_ctx.old_cred = old_cred; in landlock_restrict_sibling_threads()
483 shared_ctx.new_cred = new_cred; in landlock_restrict_sibling_threads()
484 shared_ctx.set_no_new_privs = task_no_new_privs(current); in landlock_restrict_sibling_threads()
543 atomic_set(&shared_ctx.preparation_error, err); in landlock_restrict_sibling_threads()
558 atomic_set(&shared_ctx.num_preparing, 1); in landlock_restrict_sibling_threads()
559 reinit_completion(&shared_ctx.all_prepared); in landlock_restrict_sibling_threads()
565 found_more_threads = schedule_task_work(&works, &shared_ctx); in landlock_restrict_sibling_threads()
571 if (atomic_dec_return(&shared_ctx.num_preparing) > 0) { in landlock_restrict_sibling_threads()
573 &shared_ctx.all_prepared)) { in landlock_restrict_sibling_threads()
578 atomic_set(&shared_ctx.preparation_error, in landlock_restrict_sibling_threads()
589 cancel_tsync_works(&works, &shared_ctx); in landlock_restrict_sibling_threads()
600 !atomic_read(&shared_ctx.preparation_error)); in landlock_restrict_sibling_threads()
607 complete_all(&shared_ctx.ready_to_commit); in landlock_restrict_sibling_threads()
613 if (atomic_dec_return(&shared_ctx.num_unfinished) > 0) in landlock_restrict_sibling_threads()
614 wait_for_completion(&shared_ctx.all_finished); in landlock_restrict_sibling_threads()
618 return atomic_read(&shared_ctx.preparation_error); in landlock_restrict_sibling_threads()