euspectre/kedr

KEDR build fails on 4.14

j-hui opened this issue · 4 comments

j-hui commented

I'm running ArchLinux on the latest Linux LTS kernel, 4.14.17-1-lts. I cannot build KEDR on this system.

Below is the output from running cmake <sources> and make:

$ cmake ../sources/
-- Build type is "Release"
-- The C compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- The CXX compiler identification is GNU 7.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Global installation
-- Found Kbuild: /lib/modules/4.14.17-1-lts/build (Required is at least version "3.2.0") 
-- Checking if kernel modules can be built on this system
-- Checking if kernel modules can be built on this system - yes
-- Checking which memory allocator is used by the kernel
-- Checking which memory allocator is used by the kernel - slub
-- Checking if stack trace information is reliable
-- Checking if stack trace information is reliable - no

[WARNING]
It looks like reliable stack traces cannot be obtained on this system.
The output of KEDR-based tools like LeakCheck will be less detailed
(each stack trace shown will contain only one frame).
If this is not acceptable, you could rebuild the kernel with
CONFIG_FRAME_POINTER or CONFIG_STACK_UNWIND (if available) set to "y"
and then reconfigure and rebuild KEDR.

-- Checking the signatures of hlist_for_each_entry*() macros
-- Checking the signatures of hlist_for_each_entry*() macros - do not use additional loop cursor
-- Checking if random32() is available
-- Checking if random32() is available - no
-- Checking if ring buffer is implemented in the kernel
-- Checking if ring buffer is implemented in the kernel - yes
-- Creating "kedr_gen"
-- Creating "kedr_gen" - done
-- Checking the ways to create module parameters with callbacks
-- Checking the ways to create module parameters with callbacks - use callbacks struct
CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  core/CMakeLists.txt:88 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  core/CMakeLists.txt:88 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Checking if posix_acl_from_xattr() has struct user_namespace * argument
-- Checking if posix_acl_from_xattr() has struct user_namespace * argument - yes
-- Checking the signature of __init_waitqueue_head()
-- Checking the signature of __init_waitqueue_head() - done
CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  fault_simulation/CMakeLists.txt:8 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  fault_simulation/CMakeLists.txt:8 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Checking the signature of ring_buffer_consume()
-- Checking the signature of ring_buffer_consume() - accept 'lost_events' argument
-- Checking the signature of ring_buffer_size()
-- Checking the signature of ring_buffer_size() - accept 'cpu' argument
-- Checking the signature of ring_buffer_resize()
-- Checking the signature of ring_buffer_resize() - accept 'cpu_id' argument
CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  trace/CMakeLists.txt:168 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  trace/CMakeLists.txt:168 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for __kmalloc in the kernel
-- Looking for __kmalloc in the kernel - found
-- Looking for krealloc in the kernel
-- Looking for krealloc in the kernel - found
-- Looking for __krealloc in the kernel
-- Looking for __krealloc in the kernel - found
-- Looking for kmem_cache_alloc in the kernel
-- Looking for kmem_cache_alloc in the kernel - found
-- Looking for kmem_cache_alloc_notrace in the kernel
-- Looking for kmem_cache_alloc_notrace in the kernel - not found
-- Looking for kmem_cache_alloc_trace in the kernel
-- Looking for kmem_cache_alloc_trace in the kernel - found
-- Looking for __kmalloc_node in the kernel
-- Looking for __kmalloc_node in the kernel - found
-- Looking for kmem_cache_alloc_node in the kernel
-- Looking for kmem_cache_alloc_node in the kernel - found
-- Looking for kmem_cache_alloc_node_notrace in the kernel
-- Looking for kmem_cache_alloc_node_notrace in the kernel - not found
-- Looking for kmem_cache_alloc_node_trace in the kernel
-- Looking for kmem_cache_alloc_node_trace in the kernel - found
-- Looking for kmalloc_order_trace in the kernel
-- Looking for kmalloc_order_trace in the kernel - found
-- Looking for __get_free_pages in the kernel
-- Looking for __get_free_pages in the kernel - found
-- Looking for get_zeroed_page in the kernel
-- Looking for get_zeroed_page in the kernel - found
-- Looking for __alloc_pages_nodemask in the kernel
-- Looking for __alloc_pages_nodemask in the kernel - found
-- Looking for alloc_pages_current in the kernel
-- Looking for alloc_pages_current in the kernel - found
-- Looking for alloc_pages_exact in the kernel
-- Looking for alloc_pages_exact in the kernel - found
-- Looking for alloc_pages_exact_nid in the kernel
-- Looking for alloc_pages_exact_nid in the kernel - not found
CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  payloads_fsim/common_mm/CMakeLists.txt:39 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  payloads_fsim/common_mm/CMakeLists.txt:39 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for copy_to_user in the kernel
-- Looking for copy_to_user in the kernel - not found
-- Looking for _copy_to_user in the kernel
-- Looking for _copy_to_user in the kernel - found
-- Looking for copy_from_user in the kernel
-- Looking for copy_from_user in the kernel - not found
-- Looking for _copy_from_user in the kernel
-- Looking for _copy_from_user in the kernel - found
-- Looking for strndup_user in the kernel
-- Looking for strndup_user in the kernel - found
-- Looking for memdup_user in the kernel
-- Looking for memdup_user in the kernel - found
CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  payloads_fsim/uaccess/CMakeLists.txt:42 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  payloads_fsim/uaccess/CMakeLists.txt:42 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for capable in the kernel
-- Looking for capable in the kernel - found
CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  payloads_fsim/capable/CMakeLists.txt:24 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  payloads_fsim/capable/CMakeLists.txt:24 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for kstrdup in the kernel
-- Looking for kstrdup in the kernel - found
-- Looking for kstrndup in the kernel
-- Looking for kstrndup in the kernel - found
-- Looking for kmemdup in the kernel
-- Looking for kmemdup in the kernel - found
-- Looking for posix_acl_alloc in the kernel
-- Looking for posix_acl_alloc in the kernel - found
-- Looking for posix_acl_clone in the kernel
-- Looking for posix_acl_clone in the kernel - not found
-- Looking for posix_acl_from_mode in the kernel
-- Looking for posix_acl_from_mode in the kernel - found
-- Looking for posix_acl_from_xattr in the kernel
-- Looking for posix_acl_from_xattr in the kernel - found
-- Looking for match_strdup in the kernel
-- Looking for match_strdup in the kernel - found
-- Looking for __posix_acl_create in the kernel
-- Looking for __posix_acl_create in the kernel - found
-- Looking for __posix_acl_chmod in the kernel
-- Looking for __posix_acl_chmod in the kernel - found
CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  payloads_fsim/mem_util/CMakeLists.txt:50 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  payloads_fsim/mem_util/CMakeLists.txt:50 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for vmalloc in the kernel
-- Looking for vmalloc in the kernel - found
-- Looking for __vmalloc in the kernel
-- Looking for __vmalloc in the kernel - found
-- Looking for vmalloc_user in the kernel
-- Looking for vmalloc_user in the kernel - found
-- Looking for vmalloc_node in the kernel
-- Looking for vmalloc_node in the kernel - found
-- Looking for vmalloc_32 in the kernel
-- Looking for vmalloc_32 in the kernel - found
-- Looking for vmalloc_32_user in the kernel
-- Looking for vmalloc_32_user in the kernel - found
-- Looking for vzalloc in the kernel
-- Looking for vzalloc in the kernel - found
-- Looking for vzalloc_node in the kernel
-- Looking for vzalloc_node in the kernel - found
CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  payloads_fsim/virtual_mm/CMakeLists.txt:32 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  payloads_fsim/virtual_mm/CMakeLists.txt:32 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  fault_indicators/kmalloc/CMakeLists.txt:15 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  fault_indicators/kmalloc/CMakeLists.txt:15 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  fault_indicators/capable/CMakeLists.txt:15 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  fault_indicators/capable/CMakeLists.txt:15 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  fault_indicators/common/CMakeLists.txt:15 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  fault_indicators/common/CMakeLists.txt:15 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Checking if kfree_rcu() is available
-- Checking if kfree_rcu() is available - yes
CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  leak_check/core/CMakeLists.txt:20 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  leak_check/core/CMakeLists.txt:20 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for __kmalloc in the kernel [cached] - found
-- Looking for krealloc in the kernel [cached] - found
-- Looking for __krealloc in the kernel [cached] - found
-- Looking for kfree in the kernel
-- Looking for kfree in the kernel - found
-- Looking for kzfree in the kernel
-- Looking for kzfree in the kernel - found
-- Looking for kmem_cache_alloc in the kernel [cached] - found
-- Looking for kmem_cache_free in the kernel
-- Looking for kmem_cache_free in the kernel - found
-- Looking for __get_free_pages in the kernel [cached] - found
-- Looking for get_zeroed_page in the kernel [cached] - found
-- Looking for free_pages in the kernel
-- Looking for free_pages in the kernel - found
-- Looking for kmem_cache_alloc_notrace in the kernel [cached] - not found
-- Looking for kmem_cache_alloc_trace in the kernel [cached] - found
-- Looking for __kmalloc_node in the kernel [cached] - found
-- Looking for kmem_cache_alloc_node in the kernel [cached] - found
-- Looking for kmem_cache_alloc_node_notrace in the kernel [cached] - not found
-- Looking for kmem_cache_alloc_node_trace in the kernel [cached] - found
-- Looking for kmalloc_order_trace in the kernel [cached] - found
-- Looking for __alloc_pages_nodemask in the kernel [cached] - found
-- Looking for alloc_pages_current in the kernel [cached] - found
-- Looking for __free_pages in the kernel
-- Looking for __free_pages in the kernel - found
-- Looking for alloc_pages_exact in the kernel [cached] - found
-- Looking for free_pages_exact in the kernel
-- Looking for free_pages_exact in the kernel - found
-- Looking for alloc_pages_exact_nid in the kernel [cached] - not found
-- Looking for kstrdup in the kernel [cached] - found
-- Looking for kstrndup in the kernel [cached] - found
-- Looking for kmemdup in the kernel [cached] - found
-- Looking for strndup_user in the kernel [cached] - found
-- Looking for memdup_user in the kernel [cached] - found
-- Looking for vmalloc in the kernel [cached] - found
-- Looking for __vmalloc in the kernel [cached] - found
-- Looking for vmalloc_user in the kernel [cached] - found
-- Looking for vmalloc_node in the kernel [cached] - found
-- Looking for vmalloc_32 in the kernel [cached] - found
-- Looking for vmalloc_32_user in the kernel [cached] - found
-- Looking for vfree in the kernel
-- Looking for vfree in the kernel - found
-- Looking for vzalloc in the kernel [cached] - found
-- Looking for vzalloc_node in the kernel [cached] - found
-- Looking for add_to_page_cache_lru in the kernel
-- Looking for add_to_page_cache_lru in the kernel - found
-- Looking for add_to_page_cache_locked in the kernel
-- Looking for add_to_page_cache_locked in the kernel - found
-- Looking for __page_cache_alloc in the kernel
-- Looking for __page_cache_alloc in the kernel - found
-- Looking for posix_acl_alloc in the kernel [cached] - found
-- Looking for posix_acl_clone in the kernel [cached] - not found
-- Looking for posix_acl_from_mode in the kernel [cached] - found
-- Looking for posix_acl_from_xattr in the kernel [cached] - found
-- Looking for match_strdup in the kernel [cached] - found
-- Looking for kasprintf in the kernel
-- Looking for kasprintf in the kernel - found
-- Looking for kvasprintf in the kernel
-- Looking for kvasprintf in the kernel - found
-- Looking for ioremap_nocache in the kernel
-- Looking for ioremap_nocache in the kernel - found
-- Looking for ioremap_uc in the kernel
-- Looking for ioremap_uc in the kernel - found
-- Looking for ioremap_wc in the kernel
-- Looking for ioremap_wc in the kernel - found
-- Looking for ioremap_wt in the kernel
-- Looking for ioremap_wt in the kernel - found
-- Looking for ioremap_cache in the kernel
-- Looking for ioremap_cache in the kernel - found
-- Looking for ioremap_prot in the kernel
-- Looking for ioremap_prot in the kernel - found
-- Looking for iounmap in the kernel
-- Looking for iounmap in the kernel - found
-- Looking for __posix_acl_create in the kernel [cached] - found
-- Looking for __posix_acl_chmod in the kernel [cached] - found
-- Looking for call_rcu in the kernel
-- Looking for call_rcu in the kernel - not found
-- Looking for call_rcu_sched in the kernel
-- Looking for call_rcu_sched in the kernel - found
-- Looking for kfree_call_rcu in the kernel
-- Looking for kfree_call_rcu in the kernel - found
CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1107 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_ALL" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  leak_check/common_mm/CMakeLists.txt:119 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/kbuild_system.cmake:1111 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "pia_MODULE" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/modules/kbuild_system.cmake:586 (parse_install_arguments)
  CMakeLists.txt:190 (kbuild_install)
  leak_check/common_mm/CMakeLists.txt:119 (kedr_install_kmodule)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- "kedr_gen" is configured to be installed to /usr/local/lib/kedr
-- kedr_gen: Build type is "Release"
-- mist_engine: Build type is "Release"
-- Performing Test MIST_GCC_HAS_FVISIBILITY
-- Performing Test MIST_GCC_HAS_FVISIBILITY - Success
CMake Warning (dev) at cmake/modules/example_system.cmake:223 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "example_install_SECTION0_PERMISSIONS" will no longer
  be dereferenced when the policy is set to NEW.  Since the policy is not set
  the OLD behavior will be used.
Call Stack (most recent call first):
  examples/sample_target/CMakeLists.txt:15 (example_install)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/modules/example_system.cmake:223 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "example_install_SECTION0_PERMISSIONS" will no longer
  be dereferenced when the policy is set to NEW.  Since the policy is not set
  the OLD behavior will be used.
Call Stack (most recent call first):
  examples/counters/CMakeLists.txt:26 (example_install)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Checking whether to generate the documentation from DocBook sources - no
-- Creating config.h - done
-- Configured kedr version 0.6
-- Configuring done
-- Generating done
-- Build files have been written to: /home/archie/tools/kedr/build
$ make
Scanning dependencies of target kedr
[  1%] Generating kedr_module.c
[  1%] Generating kedr_base.c
[  2%] Generating kedr_instrumentor.c
[  2%] Generating kedr_functions_support.c
[  3%] Generating kedr_target_detector.c
[  3%] Generating arch/x86/lib/inat.c
[  4%] Generating arch/x86/lib/insn.c
[  5%] Generating arch/x86/lib/inat-tables.h
[  5%] Building kernel module kedr
In file included from /home/archie/tools/kedr/build/core/arch/x86/lib/inat.c:24:0:
/home/archie/tools/kedr/build/core/arch/x86/lib/inat-tables.h:989:19: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
 const insn_attr_t const *inat_escape_tables[INAT_ESC_MAX + 1][INAT_LSTPFX_MAX + 1] = {
                   ^~~~~
/home/archie/tools/kedr/build/core/arch/x86/lib/inat-tables.h:1002:19: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
 const insn_attr_t const *inat_group_tables[INAT_GRP_MAX + 1][INAT_LSTPFX_MAX + 1] = {
                   ^~~~~
/home/archie/tools/kedr/build/core/arch/x86/lib/inat-tables.h:1023:19: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
 const insn_attr_t const *inat_avx_tables[X86_VEX_M_MAX + 1][INAT_LSTPFX_MAX + 1] = {
                   ^~~~~
[  5%] Built target kedr
Scanning dependencies of target kedr_fault_simulation
[  6%] Generating fault_simulation_module.c
[  6%] Generating control_file.c
[  6%] Building kernel module kedr_fault_simulation
[  6%] Built target kedr_fault_simulation
Scanning dependencies of target kedr_trace
[  6%] Generating kedr_trace_module.c
[  7%] Generating trace_buffer.c
[  8%] Generating wait_nestable.c
[  9%] Building kernel module kedr_trace
In file included from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:3:0:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:8:5: error: unknown type name ‘wait_queue_t’
     wait_queue_t wait;
     ^~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:17:24: error: unknown type name ‘wait_queue_t’; did you mean ‘wait_event’?
 int wake_flag_function(wait_queue_t* wait, unsigned mode, int sync, void* key);
                        ^~~~~~~~~~~~
                        wait_event
/home/archie/tools/kedr/sources/trace/wait_nestable.h: In function ‘remove_wait_queue_nestable’:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:33:27: error: passing argument 2 of ‘remove_wait_queue’ from incompatible pointer type [-Werror=incompatible-pointer-types]
     remove_wait_queue(wq, &wqn->wait);
                           ^
In file included from ./include/linux/mmzone.h:10:0,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/umh.h:4,
                 from ./include/linux/kmod.h:22,
                 from ./include/linux/module.h:13,
                 from /home/archie/tools/kedr/sources/include/kedr/core/kedr.h:8,
                 from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:1:
./include/linux/wait.h:152:13: note: expected ‘struct wait_queue_entry *’ but argument is of type ‘int *’
 extern void remove_wait_queue(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry);
             ^~~~~~~~~~~~~~~~~
In file included from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:3:0:
/home/archie/tools/kedr/build/trace/kedr_trace_module.c: In function ‘trace_file_op_read’:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: warning: braces around scalar initializer
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: note: (near initialization for ‘w_buffer.wait’)
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:14: error: field name not in record or union initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:14: note: (near initialization for ‘w_buffer.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from ./include/linux/thread_info.h:21:0,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/spinlock.h:51,
                 from ./include/linux/seqlock.h:36,
                 from ./include/linux/time.h:6,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/module.h:10,
                 from /home/archie/tools/kedr/sources/include/kedr/core/kedr.h:8,
                 from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:1:
./arch/x86/include/asm/current.h:18:17: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
 #define current get_current()
                 ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:25: note: in expansion of macro ‘current’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                         ^~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./arch/x86/include/asm/current.h:18:17: note: (near initialization for ‘w_buffer.wait’)
 #define current get_current()
                 ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:25: note: in expansion of macro ‘current’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                         ^~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:3:0:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:34: error: field name not in record or union initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                  ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:34: note: (near initialization for ‘w_buffer.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                  ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:42: error: ‘wake_flag_function’ undeclared (first use in this function); did you mean ‘wake_bit_function’?
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                          ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:42: note: each undeclared identifier is reported only once for each function it appears in
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                          ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:42: warning: excess elements in scalar initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                          ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:42: note: (near initialization for ‘w_buffer.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                          ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:62: error: field name not in record or union initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:62: note: (near initialization for ‘w_buffer.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: warning: braces around scalar initializer
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: note: (near initialization for ‘w_buffer.wait’)
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from ./include/linux/module.h:9:0,
                 from /home/archie/tools/kedr/sources/include/kedr/core/kedr.h:8,
                 from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:1:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:101: error: request for member ‘task_list’ in something not a structure or union
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                                                     ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:101: error: request for member ‘task_list’ in something not a structure or union
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                                                     ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:41: warning: excess elements in scalar initializer
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                                         ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:41: note: (near initialization for ‘w_buffer.wait’)
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                                         ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:30: warning: excess elements in scalar initializer
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                              ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:30: note: (near initialization for ‘w_buffer.wait’)
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                              ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:884:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:3:0:
/home/archie/tools/kedr/build/trace/kedr_trace_module.c: In function ‘trace_file_session_op_read’:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: warning: braces around scalar initializer
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: note: (near initialization for ‘w_buffer.wait’)
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:14: error: field name not in record or union initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:14: note: (near initialization for ‘w_buffer.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from ./include/linux/thread_info.h:21:0,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/spinlock.h:51,
                 from ./include/linux/seqlock.h:36,
                 from ./include/linux/time.h:6,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/module.h:10,
                 from /home/archie/tools/kedr/sources/include/kedr/core/kedr.h:8,
                 from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:1:
./arch/x86/include/asm/current.h:18:17: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
 #define current get_current()
                 ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:25: note: in expansion of macro ‘current’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                         ^~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./arch/x86/include/asm/current.h:18:17: note: (near initialization for ‘w_buffer.wait’)
 #define current get_current()
                 ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:25: note: in expansion of macro ‘current’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                         ^~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:3:0:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:34: error: field name not in record or union initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                  ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:34: note: (near initialization for ‘w_buffer.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                  ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:42: error: ‘wake_flag_function’ undeclared (first use in this function); did you mean ‘wake_bit_function’?
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                          ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:42: warning: excess elements in scalar initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                          ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:42: note: (near initialization for ‘w_buffer.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                          ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:62: error: field name not in record or union initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:62: note: (near initialization for ‘w_buffer.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: warning: braces around scalar initializer
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: note: (near initialization for ‘w_buffer.wait’)
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from ./include/linux/module.h:9:0,
                 from /home/archie/tools/kedr/sources/include/kedr/core/kedr.h:8,
                 from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:1:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:101: error: request for member ‘task_list’ in something not a structure or union
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                                                     ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:101: error: request for member ‘task_list’ in something not a structure or union
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                                                     ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:41: warning: excess elements in scalar initializer
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                                         ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:41: note: (near initialization for ‘w_buffer.wait’)
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                                         ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:30: warning: excess elements in scalar initializer
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                              ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:30: note: (near initialization for ‘w_buffer.wait’)
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                              ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:994:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_buffer, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:3:0:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: warning: braces around scalar initializer
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: note: (near initialization for ‘w_session.wait’)
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:14: error: field name not in record or union initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:14: note: (near initialization for ‘w_session.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from ./include/linux/thread_info.h:21:0,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/spinlock.h:51,
                 from ./include/linux/seqlock.h:36,
                 from ./include/linux/time.h:6,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/module.h:10,
                 from /home/archie/tools/kedr/sources/include/kedr/core/kedr.h:8,
                 from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:1:
./arch/x86/include/asm/current.h:18:17: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
 #define current get_current()
                 ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:25: note: in expansion of macro ‘current’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                         ^~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./arch/x86/include/asm/current.h:18:17: note: (near initialization for ‘w_session.wait’)
 #define current get_current()
                 ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:25: note: in expansion of macro ‘current’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                         ^~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:3:0:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:34: error: field name not in record or union initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                  ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:34: note: (near initialization for ‘w_session.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                  ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:42: warning: excess elements in scalar initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                          ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:42: note: (near initialization for ‘w_session.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                          ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:62: error: field name not in record or union initializer
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:62: note: (near initialization for ‘w_session.wait’)
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                              ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: warning: braces around scalar initializer
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:19:53: note: (near initialization for ‘w_session.wait’)
 #define DEFINE_WAIT_NESTED(name, woken_flag) struct wait_queue_nestable name = \
                                                     ^
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
In file included from ./include/linux/module.h:9:0,
                 from /home/archie/tools/kedr/sources/include/kedr/core/kedr.h:8,
                 from /home/archie/tools/kedr/build/trace/kedr_trace_module.c:1:
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:101: error: request for member ‘task_list’ in something not a structure or union
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                                                     ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:101: error: request for member ‘task_list’ in something not a structure or union
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                                                     ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:41: warning: excess elements in scalar initializer
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                                         ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:41: note: (near initialization for ‘w_session.wait’)
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                                         ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:30: warning: excess elements in scalar initializer
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                              ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
./include/linux/list.h:21:30: note: (near initialization for ‘w_session.wait’)
 #define LIST_HEAD_INIT(name) { &(name), &(name) }
                              ^
/home/archie/tools/kedr/sources/trace/wait_nestable.h:21:75: note: in expansion of macro ‘LIST_HEAD_INIT’
     .wait = {.private = current, .func = wake_flag_function, .task_list = LIST_HEAD_INIT((name).wait.task_list)}, \
                                                                           ^~~~~~~~~~~~~~
/home/archie/tools/kedr/build/trace/kedr_trace_module.c:995:9: note: in expansion of macro ‘DEFINE_WAIT_NESTED’
         DEFINE_WAIT_NESTED(w_session, woken_flag);
         ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:321: /home/archie/tools/kedr/build/trace/kedr_trace_module.o] Error 1
make[3]: *** [Makefile:1507: _module_/home/archie/tools/kedr/build/trace] Error 2
make[2]: *** [trace/CMakeFiles/kedr_trace.dir/build.make:69: trace/kedr_trace.ko] Error 2
make[1]: *** [CMakeFiles/Makefile2:554: trace/CMakeFiles/kedr_trace.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

The problem is caused by this mainline commit.

commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f
Author: Ingo Molnar <mingo@kernel.org>
Date:   Tue Jun 20 12:06:13 2017 +0200

    sched/wait: Rename wait_queue_t => wait_queue_entry_t

We need to do more #ifdefs, perhaps.

I have fixed several issues in KEDR, it builds OK on my machine with kernel 4.14 now. Please try the current version from git repo (master branch, rev. 2562fcc or newer).

Unrelated, but may be helpful: if you plan on using KEDR to detect memory leaks, please consider rebuilding the kernel with CONFIG_FRAME_POINTER=y. This way, KEDR would be able to output more detailed stack traces for the leaks. Otherwise, only locations of the relevant instructions will probably be shown.

I haven't experimented with the newer stack unwinders (e.g. "Orc") but the good old framepointer-based stacks should work OK.

j-hui commented

fantastic, thanks for the fast response time @euspectre !

Currently this is just running on the linux-lts image pulled from the Arch repo, but when I get a chance I will test it with CONFIG_FRAME_POINTER.

Glad it worked for you.

I checked the updated KEDR in ROSA Linux with kernel 4.14 rather than Arch, but, I guess, distro should matter little in this particular case.