lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Thu, 1 Feb 2024 08:37:28 +0800
From: kernel test robot <lkp@...el.com>
To: Christian Brauner <brauner@...nel.org>,
	Steven Rostedt <rostedt@...dmis.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Amir Goldstein <amir73il@...il.com>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: oe-kbuild-all@...ts.linux.dev, LKML <linux-kernel@...r.kernel.org>,
	lsf-pc@...ts.linux-foundation.org, linux-fsdevel@...r.kernel.org,
	Al Viro <viro@...iv.linux.org.uk>,
	Matthew Wilcox <willy@...radead.org>,
	Christian Brauner <brauner@...nel.org>
Subject: Re: [PATCH DRAFT 1/4] : tracefs: port to kernfs

Hi Christian,

kernel test robot noticed the following build errors:

[auto build test ERROR on 41bccc98fb7931d63d03f326a746ac4d429c1dd3]

url:    https://github.com/intel-lab-lkp/linux/commits/Christian-Brauner/tracefs-port-to-kernfs/20240131-214120
base:   41bccc98fb7931d63d03f326a746ac4d429c1dd3
patch link:    https://lore.kernel.org/r/20240131-tracefs-kernfs-v1-1-f20e2e9a8d61%40kernel.org
patch subject: [PATCH DRAFT 1/4] : tracefs: port to kernfs
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20240201/202402010828.cl2RunjG-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240201/202402010828.cl2RunjG-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402010828.cl2RunjG-lkp@intel.com/

All errors (new ones prefixed by >>):

   fs/kernfs/mount.c: In function 'kernfs_node_owner':
>> fs/kernfs/mount.c:248:20: error: 'struct kernfs_node' has no member named 'iattrs'; did you mean 'iattr'?
     248 |         return kn->iattrs->ia_uid;
         |                    ^~~~~~
         |                    iattr
   fs/kernfs/mount.c: At top level:
>> fs/kernfs/mount.c:251:8: error: conflicting types for 'kernfs_node_group'; have 'kuid_t(struct kernfs_node *)'
     251 | kuid_t kernfs_node_group(struct kernfs_node *kn)
         |        ^~~~~~~~~~~~~~~~~
   In file included from fs/kernfs/kernfs-internal.h:19,
                    from fs/kernfs/mount.c:22:
   include/linux/kernfs.h:248:8: note: previous declaration of 'kernfs_node_group' with type 'kgid_t(struct kernfs_node *)'
     248 | kgid_t kernfs_node_group(struct kernfs_node *kn);
         |        ^~~~~~~~~~~~~~~~~
   fs/kernfs/mount.c: In function 'kernfs_node_group':
   fs/kernfs/mount.c:253:20: error: 'struct kernfs_node' has no member named 'iattrs'; did you mean 'iattr'?
     253 |         return kn->iattrs->ia_gid;
         |                    ^~~~~~
         |                    iattr
   fs/kernfs/mount.c: In function 'kernfs_node_owner':
   fs/kernfs/mount.c:249:1: warning: control reaches end of non-void function [-Wreturn-type]
     249 | }
         | ^
   fs/kernfs/mount.c: In function 'kernfs_node_group':
   fs/kernfs/mount.c:254:1: warning: control reaches end of non-void function [-Wreturn-type]
     254 | }
         | ^
--
   kernel/trace/trace.c: In function 'tracing_dentry_percpu':
>> kernel/trace/trace.c:8916:56: error: passing argument 2 of 'tracefs_create_dir' from incompatible pointer type [-Werror=incompatible-pointer-types]
    8916 |         tr->percpu_dir = tracefs_create_dir("per_cpu", d_tracer);
         |                                                        ^~~~~~~~
         |                                                        |
         |                                                        struct dentry *
   In file included from kernel/trace/trace.c:24:
   include/linux/tracefs.h:97:60: note: expected 'struct kernfs_node *' but argument is of type 'struct dentry *'
      97 |                                        struct kernfs_node *parent);
         |                                        ~~~~~~~~~~~~~~~~~~~~^~~~~~
>> kernel/trace/trace.c:8916:24: error: assignment to 'struct dentry *' from incompatible pointer type 'struct kernfs_node *' [-Werror=incompatible-pointer-types]
    8916 |         tr->percpu_dir = tracefs_create_dir("per_cpu", d_tracer);
         |                        ^
   kernel/trace/trace.c: In function 'tracing_init_tracefs_percpu':
   kernel/trace/trace.c:8946:45: error: passing argument 2 of 'tracefs_create_dir' from incompatible pointer type [-Werror=incompatible-pointer-types]
    8946 |         d_cpu = tracefs_create_dir(cpu_dir, d_percpu);
         |                                             ^~~~~~~~
         |                                             |
         |                                             struct dentry *
   include/linux/tracefs.h:97:60: note: expected 'struct kernfs_node *' but argument is of type 'struct dentry *'
      97 |                                        struct kernfs_node *parent);
         |                                        ~~~~~~~~~~~~~~~~~~~~^~~~~~
   kernel/trace/trace.c:8946:15: error: assignment to 'struct dentry *' from incompatible pointer type 'struct kernfs_node *' [-Werror=incompatible-pointer-types]
    8946 |         d_cpu = tracefs_create_dir(cpu_dir, d_percpu);
         |               ^
   kernel/trace/trace.c: In function 'trace_create_file':
>> kernel/trace/trace.c:9156:47: error: passing argument 3 of 'tracefs_create_file' from incompatible pointer type [-Werror=incompatible-pointer-types]
    9156 |         ret = tracefs_create_file(name, mode, parent, data, fops);
         |                                               ^~~~~~
         |                                               |
         |                                               struct dentry *
   include/linux/tracefs.h:93:61: note: expected 'struct kernfs_node *' but argument is of type 'struct dentry *'
      93 |                                         struct kernfs_node *parent, void *data,
         |                                         ~~~~~~~~~~~~~~~~~~~~^~~~~~
   kernel/trace/trace.c:9156:61: error: passing argument 5 of 'tracefs_create_file' from incompatible pointer type [-Werror=incompatible-pointer-types]
    9156 |         ret = tracefs_create_file(name, mode, parent, data, fops);
         |                                                             ^~~~
         |                                                             |
         |                                                             const struct file_operations *
   include/linux/tracefs.h:94:66: note: expected 'const struct kernfs_ops *' but argument is of type 'const struct file_operations *'
      94 |                                         const struct kernfs_ops *ops);
         |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   kernel/trace/trace.c:9156:13: error: assignment to 'struct dentry *' from incompatible pointer type 'struct kernfs_node *' [-Werror=incompatible-pointer-types]
    9156 |         ret = tracefs_create_file(name, mode, parent, data, fops);
         |             ^
   kernel/trace/trace.c: In function 'trace_options_init_dentry':
   kernel/trace/trace.c:9175:53: error: passing argument 2 of 'tracefs_create_dir' from incompatible pointer type [-Werror=incompatible-pointer-types]
    9175 |         tr->options = tracefs_create_dir("options", d_tracer);
         |                                                     ^~~~~~~~
         |                                                     |
         |                                                     struct dentry *
   include/linux/tracefs.h:97:60: note: expected 'struct kernfs_node *' but argument is of type 'struct dentry *'
      97 |                                        struct kernfs_node *parent);
         |                                        ~~~~~~~~~~~~~~~~~~~~^~~~~~
   kernel/trace/trace.c:9175:21: error: assignment to 'struct dentry *' from incompatible pointer type 'struct kernfs_node *' [-Werror=incompatible-pointer-types]
    9175 |         tr->options = tracefs_create_dir("options", d_tracer);
         |                     ^
   kernel/trace/trace.c: In function 'trace_array_create_dir':
   kernel/trace/trace.c:9631:17: error: assignment to 'struct dentry *' from incompatible pointer type 'struct kernfs_node *' [-Werror=incompatible-pointer-types]
    9631 |         tr->dir = tracefs_create_dir(tr->name, trace_instance_dir);
         |                 ^
>> kernel/trace/trace.c:9637:34: error: passing argument 1 of 'tracefs_remove' from incompatible pointer type [-Werror=incompatible-pointer-types]
    9637 |                 tracefs_remove(tr->dir);
         |                                ~~^~~~~
         |                                  |
         |                                  struct dentry *
   include/linux/tracefs.h:99:41: note: expected 'struct kernfs_node *' but argument is of type 'struct dentry *'
      99 | void tracefs_remove(struct kernfs_node *kn);
         |                     ~~~~~~~~~~~~~~~~~~~~^~
   kernel/trace/trace.c: In function '__remove_instance':
   kernel/trace/trace.c:9818:26: error: passing argument 1 of 'tracefs_remove' from incompatible pointer type [-Werror=incompatible-pointer-types]
    9818 |         tracefs_remove(tr->dir);
         |                        ~~^~~~~
         |                          |
         |                          struct dentry *
   include/linux/tracefs.h:99:41: note: expected 'struct kernfs_node *' but argument is of type 'struct dentry *'
      99 | void tracefs_remove(struct kernfs_node *kn);
         |                     ~~~~~~~~~~~~~~~~~~~~^~
   cc1: some warnings being treated as errors
--
   kernel/trace/trace_stat.c: In function 'destroy_session':
>> kernel/trace/trace_stat.c:69:31: error: passing argument 1 of 'tracefs_remove' from incompatible pointer type [-Werror=incompatible-pointer-types]
      69 |         tracefs_remove(session->file);
         |                        ~~~~~~~^~~~~~
         |                               |
         |                               struct dentry *
   In file included from kernel/trace/trace_stat.c:16:
   include/linux/tracefs.h:99:41: note: expected 'struct kernfs_node *' but argument is of type 'struct dentry *'
      99 | void tracefs_remove(struct kernfs_node *kn);
         |                     ~~~~~~~~~~~~~~~~~~~~^~
   kernel/trace/trace_stat.c: In function 'tracing_stat_init':
>> kernel/trace/trace_stat.c:285:18: error: assignment to 'struct dentry *' from incompatible pointer type 'struct kernfs_node *' [-Werror=incompatible-pointer-types]
     285 |         stat_dir = tracefs_create_dir("trace_stat", NULL);
         |                  ^
   kernel/trace/trace_stat.c: In function 'init_stat_file':
>> kernel/trace/trace_stat.c:301:45: error: passing argument 3 of 'tracefs_create_file' from incompatible pointer type [-Werror=incompatible-pointer-types]
     301 |                                             stat_dir, session,
         |                                             ^~~~~~~~
         |                                             |
         |                                             struct dentry *
   include/linux/tracefs.h:93:61: note: expected 'struct kernfs_node *' but argument is of type 'struct dentry *'
      93 |                                         struct kernfs_node *parent, void *data,
         |                                         ~~~~~~~~~~~~~~~~~~~~^~~~~~
   kernel/trace/trace_stat.c:302:45: error: passing argument 5 of 'tracefs_create_file' from incompatible pointer type [-Werror=incompatible-pointer-types]
     302 |                                             &tracing_stat_fops);
         |                                             ^~~~~~~~~~~~~~~~~~
         |                                             |
         |                                             const struct file_operations *
   include/linux/tracefs.h:94:66: note: expected 'const struct kernfs_ops *' but argument is of type 'const struct file_operations *'
      94 |                                         const struct kernfs_ops *ops);
         |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   kernel/trace/trace_stat.c:300:23: error: assignment to 'struct dentry *' from incompatible pointer type 'struct kernfs_node *' [-Werror=incompatible-pointer-types]
     300 |         session->file = tracefs_create_file(session->ts->name, TRACE_MODE_WRITE,
         |                       ^
   cc1: some warnings being treated as errors
--
   kernel/trace/trace_events_synth.c: In function 'trace_events_synth_init':
>> kernel/trace/trace_events_synth.c:2322:49: error: passing argument 5 of 'tracefs_create_file' from incompatible pointer type [-Werror=incompatible-pointer-types]
    2322 |                                     NULL, NULL, &synth_events_fops);
         |                                                 ^~~~~~~~~~~~~~~~~~
         |                                                 |
         |                                                 const struct file_operations *
   In file included from kernel/trace/trace_events_synth.c:15:
   include/linux/tracefs.h:94:66: note: expected 'const struct kernfs_ops *' but argument is of type 'const struct file_operations *'
      94 |                                         const struct kernfs_ops *ops);
         |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   kernel/trace/trace_events_synth.c:2321:15: error: assignment to 'struct dentry *' from incompatible pointer type 'struct kernfs_node *' [-Werror=incompatible-pointer-types]
    2321 |         entry = tracefs_create_file("synthetic_events", TRACE_MODE_WRITE,
         |               ^
   cc1: some warnings being treated as errors


vim +248 fs/kernfs/mount.c

   245	
   246	kuid_t kernfs_node_owner(struct kernfs_node *kn)
   247	{
 > 248		return kn->iattrs->ia_uid;
   249	}
   250	
 > 251	kuid_t kernfs_node_group(struct kernfs_node *kn)
   252	{
   253		return kn->iattrs->ia_gid;
   254	}
   255	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ