cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

hooks.c (877B)


      1// SPDX-License-Identifier: GPL-2.0
      2
      3/*
      4 * Copyright (C) 2020 Google LLC.
      5 */
      6#include <linux/lsm_hooks.h>
      7#include <linux/bpf_lsm.h>
      8
      9static struct security_hook_list bpf_lsm_hooks[] __lsm_ro_after_init = {
     10	#define LSM_HOOK(RET, DEFAULT, NAME, ...) \
     11	LSM_HOOK_INIT(NAME, bpf_lsm_##NAME),
     12	#include <linux/lsm_hook_defs.h>
     13	#undef LSM_HOOK
     14	LSM_HOOK_INIT(inode_free_security, bpf_inode_storage_free),
     15	LSM_HOOK_INIT(task_free, bpf_task_storage_free),
     16};
     17
     18static int __init bpf_lsm_init(void)
     19{
     20	security_add_hooks(bpf_lsm_hooks, ARRAY_SIZE(bpf_lsm_hooks), "bpf");
     21	pr_info("LSM support for eBPF active\n");
     22	return 0;
     23}
     24
     25struct lsm_blob_sizes bpf_lsm_blob_sizes __lsm_ro_after_init = {
     26	.lbs_inode = sizeof(struct bpf_storage_blob),
     27	.lbs_task = sizeof(struct bpf_storage_blob),
     28};
     29
     30DEFINE_LSM(bpf) = {
     31	.name = "bpf",
     32	.init = bpf_lsm_init,
     33	.blobs = &bpf_lsm_blob_sizes
     34};