Comment 4 for bug 1303785

Revision history for this message
Fathi Boudra (fboudra) wrote :

latest arndale-uprobes passed the kernel header related failure. as far as I'm concerned the bug is fixed.

However, it fails later on (using the script provided by Naresh):

kernel location:
kernel version: 3.14.0-linaro-arndale
systemtap location: /usr/local/bin/stap
systemtap version: version 2.5/0.157, non-git sources
gcc location: /usr/bin/gcc
gcc version: gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1

**** failed systemtap kernel-devel smoke test:

Makefile:622: Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: -fstack-protector not supported by compiler
In file included from include/linux/kobject.h:21:0,
                 from include/linux/module.h:16,
                 from /usr/local/share/systemtap/runtime/linux/runtime.h:14,
                 from /usr/local/share/systemtap/runtime/runtime.h:24,
                 from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:24:
include/linux/sysfs.h: In function 'sysfs_get_dirent':
include/linux/sysfs.h:449:2: error: pointer targets in passing argument 2 of 'kernfs_find_and_get' differ in signedness [-Werror=pointer-sign]
  return kernfs_find_and_get(parent, name);
  ^
In file included from include/linux/sysfs.h:15:0,
                 from include/linux/kobject.h:21,
                 from include/linux/module.h:16,
                 from /usr/local/share/systemtap/runtime/linux/runtime.h:14,
                 from /usr/local/share/systemtap/runtime/runtime.h:24,
                 from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:24:
include/linux/kernfs.h:331:1: note: expected 'const char *' but argument is of type 'const unsigned char *'
 kernfs_find_and_get(struct kernfs_node *kn, const char *name)
 ^
In file included from /usr/local/share/systemtap/runtime/linux/task_finder.c:17:0,
                 from /usr/local/share/systemtap/runtime/linux/runtime.h:192,
                 from /usr/local/share/systemtap/runtime/runtime.h:24,
                 from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:24:
/usr/local/share/systemtap/runtime/linux/task_finder2.c: In function '__stp_utrace_attach_match_filename':
/usr/local/share/systemtap/runtime/linux/task_finder2.c:821:11: error: incompatible types when assigning to type 'uid_t' from type 'kuid_t'
  tsk_euid = task_euid(tsk);
           ^
/usr/local/share/systemtap/runtime/linux/task_finder2.c: In function 'stap_start_task_finder':
/usr/local/share/systemtap/runtime/linux/task_finder2.c:1711:12: error: incompatible types when assigning to type 'uid_t' from type 'kuid_t'
   tsk_euid = task_euid(tsk);
            ^
In file included from /usr/local/share/systemtap/runtime/linux/runtime.h:198:0,
                 from /usr/local/share/systemtap/runtime/runtime.h:24,
                 from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:24:
/usr/local/share/systemtap/runtime/sym.c: In function '_stp_snprint_addr':
/usr/local/share/systemtap/runtime/sym.c:567:4: error: implicit declaration of function 'preempt_enable_no_resched' [-Werror=implicit-function-declaration]
    preempt_enable_no_resched();
    ^
In file included from include/linux/sched.h:53:0,
                 from include/linux/ptrace.h:5,
                 from include/linux/ftrace.h:13,
                 from include/linux/kprobes.h:42,
                 from /usr/local/share/systemtap/runtime/linux/runtime.h:21,
                 from /usr/local/share/systemtap/runtime/runtime.h:24,
                 from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:24:
/usr/local/share/systemtap/runtime/transport/control.c: In function '_stp_ctl_write_cmd':
include/linux/cred.h:333:25: error: incompatible types when initializing type 'uid_t' using type 'kuid_t'
 #define current_euid() (current_cred_xxx(euid))
                         ^
/usr/local/share/systemtap/runtime/transport/control.c:41:15: note: in expansion of macro 'current_euid'
  uid_t euid = current_euid();
               ^
In file included from /usr/local/share/systemtap/runtime/linux/print.c:17:0,
                 from /usr/local/share/systemtap/runtime/print.c:17,
                 from /usr/local/share/systemtap/runtime/runtime_context.h:22,
                 from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:46:
/usr/local/share/systemtap/runtime/transport/transport.c: In function '_stp_transport_init':
/usr/local/share/systemtap/runtime/transport/transport.c:344:11: error: incompatible types when assigning to type 'uid_t' from type 'kuid_t'
  _stp_uid = current_uid();
           ^
/usr/local/share/systemtap/runtime/transport/transport.c:345:11: error: incompatible types when assigning to type 'gid_t' from type 'kgid_t'
  _stp_gid = current_gid();
           ^
cc1: all warnings being treated as errors
make[4]: *** [/tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.o] Error 1
make[3]: *** [_module_/tmp/stapAd5hoM] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compilation failed. [man error::pass4]

**** aborting testing.

It seems related to kernel namespaces (CONFIG_USER_NS).

@Naresh: please investigate and fill another bug if needed.