The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/openzfs/config/kernel-userns-capabilities.m4

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 dnl #
    2 dnl # 2.6.38 API change
    3 dnl # ns_capable() was introduced
    4 dnl #
    5 AC_DEFUN([ZFS_AC_KERNEL_SRC_NS_CAPABLE], [
    6         ZFS_LINUX_TEST_SRC([ns_capable], [
    7                 #include <linux/capability.h>
    8         ],[
    9                 ns_capable((struct user_namespace *)NULL, CAP_SYS_ADMIN);
   10         ])
   11 ])
   12 
   13 AC_DEFUN([ZFS_AC_KERNEL_NS_CAPABLE], [
   14         AC_MSG_CHECKING([whether ns_capable exists])
   15         ZFS_LINUX_TEST_RESULT([ns_capable], [
   16                 AC_MSG_RESULT(yes)
   17         ],[
   18                 ZFS_LINUX_TEST_ERROR([ns_capable()])
   19         ])
   20 ])
   21 
   22 dnl #
   23 dnl # 4.10 API change
   24 dnl # has_capability() was exported.
   25 dnl #
   26 AC_DEFUN([ZFS_AC_KERNEL_SRC_HAS_CAPABILITY], [
   27         ZFS_LINUX_TEST_SRC([has_capability], [
   28                 #include <linux/capability.h>
   29         ],[
   30                 struct task_struct *task = NULL;
   31                 int cap = 0;
   32                 bool result __attribute__ ((unused));
   33 
   34                 result = has_capability(task, cap);
   35         ])
   36 ])
   37 
   38 AC_DEFUN([ZFS_AC_KERNEL_HAS_CAPABILITY], [
   39         AC_MSG_CHECKING([whether has_capability() is available])
   40         ZFS_LINUX_TEST_RESULT_SYMBOL([has_capability],
   41             [has_capability], [kernel/capability.c], [
   42                 AC_MSG_RESULT(yes)
   43                 AC_DEFINE(HAVE_HAS_CAPABILITY, 1, [has_capability() is available])
   44         ],[
   45                 AC_MSG_RESULT(no)
   46         ])
   47 ])
   48 
   49 dnl #
   50 dnl # 2.6.39 API change
   51 dnl # struct user_namespace was added to struct cred_t as cred->user_ns member
   52 dnl #
   53 AC_DEFUN([ZFS_AC_KERNEL_SRC_CRED_USER_NS], [
   54         ZFS_LINUX_TEST_SRC([cred_user_ns], [
   55                 #include <linux/cred.h>
   56         ],[
   57                 struct cred cr;
   58                 cr.user_ns = (struct user_namespace *)NULL;
   59         ])
   60 ])
   61 
   62 AC_DEFUN([ZFS_AC_KERNEL_CRED_USER_NS], [
   63         AC_MSG_CHECKING([whether cred_t->user_ns exists])
   64         ZFS_LINUX_TEST_RESULT([cred_user_ns], [
   65                 AC_MSG_RESULT(yes)
   66         ],[
   67                 ZFS_LINUX_TEST_ERROR([cred_t->user_ns()])
   68         ])
   69 ])
   70 
   71 dnl #
   72 dnl # 3.4 API change
   73 dnl # kuid_has_mapping() and kgid_has_mapping() were added to distinguish
   74 dnl # between internal kernel uids/gids and user namespace uids/gids.
   75 dnl #
   76 AC_DEFUN([ZFS_AC_KERNEL_SRC_KUID_HAS_MAPPING], [
   77         ZFS_LINUX_TEST_SRC([kuid_has_mapping], [
   78                 #include <linux/uidgid.h>
   79         ],[
   80                 kuid_has_mapping((struct user_namespace *)NULL, KUIDT_INIT(0));
   81                 kgid_has_mapping((struct user_namespace *)NULL, KGIDT_INIT(0));
   82         ])
   83 ])
   84 
   85 AC_DEFUN([ZFS_AC_KERNEL_KUID_HAS_MAPPING], [
   86         AC_MSG_CHECKING([whether kuid_has_mapping/kgid_has_mapping exist])
   87         ZFS_LINUX_TEST_RESULT([kuid_has_mapping], [
   88                 AC_MSG_RESULT(yes)
   89         ],[
   90                 ZFS_LINUX_TEST_ERROR([kuid_has_mapping()])
   91         ])
   92 ])
   93 
   94 AC_DEFUN([ZFS_AC_KERNEL_SRC_USERNS_CAPABILITIES], [
   95         ZFS_AC_KERNEL_SRC_NS_CAPABLE
   96         ZFS_AC_KERNEL_SRC_HAS_CAPABILITY
   97         ZFS_AC_KERNEL_SRC_CRED_USER_NS
   98         ZFS_AC_KERNEL_SRC_KUID_HAS_MAPPING
   99 ])
  100 
  101 AC_DEFUN([ZFS_AC_KERNEL_USERNS_CAPABILITIES], [
  102         ZFS_AC_KERNEL_NS_CAPABLE
  103         ZFS_AC_KERNEL_HAS_CAPABILITY
  104         ZFS_AC_KERNEL_CRED_USER_NS
  105         ZFS_AC_KERNEL_KUID_HAS_MAPPING
  106 ])

Cache object: 6ec5edc24b6e8f08392f513315710015


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.