common.h 901 B

123456789101112131415161718192021222324252627282930313233
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Linux Security Module infrastructure tests
  4. *
  5. * Copyright © 2023 Casey Schaufler <casey@schaufler-ca.com>
  6. */
  7. #ifndef lsm_get_self_attr
  8. static inline int lsm_get_self_attr(unsigned int attr, struct lsm_ctx *ctx,
  9. __u32 *size, __u32 flags)
  10. {
  11. return syscall(__NR_lsm_get_self_attr, attr, ctx, size, flags);
  12. }
  13. #endif
  14. #ifndef lsm_set_self_attr
  15. static inline int lsm_set_self_attr(unsigned int attr, struct lsm_ctx *ctx,
  16. __u32 size, __u32 flags)
  17. {
  18. return syscall(__NR_lsm_set_self_attr, attr, ctx, size, flags);
  19. }
  20. #endif
  21. #ifndef lsm_list_modules
  22. static inline int lsm_list_modules(__u64 *ids, __u32 *size, __u32 flags)
  23. {
  24. return syscall(__NR_lsm_list_modules, ids, size, flags);
  25. }
  26. #endif
  27. extern int read_proc_attr(const char *attr, char *value, size_t size);
  28. extern int read_sysfs_lsms(char *lsms, size_t size);
  29. int attr_lsm_count(void);