netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Justin Iurman <justin.iurman@uliege.be>, netdev@vger.kernel.org
Cc: kbuild-all@lists.01.org, davem@davemloft.net, justin.iurman@uliege.be
Subject: Re: [PATCH net-next 3/5] ipv6: ioam: Data plane support for Pre-allocated Trace
Date: Thu, 25 Jun 2020 05:37:27 +0800	[thread overview]
Message-ID: <202006250501.CZ3RyUCN%lkp@intel.com> (raw)
In-Reply-To: <20200624192310.16923-4-justin.iurman@uliege.be>

[-- Attachment #1: Type: text/plain, Size: 7932 bytes --]

Hi Justin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Justin-Iurman/Data-plane-support-for-IOAM-Pre-allocated-Trace-with-IPv6/20200625-033536
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 0558c396040734bc1d361919566a581fd41aa539
config: um-allmodconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=um 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   cc1: warning: arch/um/include/uapi: No such file or directory [-Wmissing-include-dirs]
   In file included from include/linux/uaccess.h:11,
                    from include/linux/sched/task.h:11,
                    from include/linux/sched/signal.h:9,
                    from include/linux/rcuwait.h:6,
                    from include/linux/percpu-rwsem.h:7,
                    from include/linux/fs.h:33,
                    from include/linux/net.h:23,
                    from net/ipv6/ioam6.c:12:
   arch/um/include/asm/uaccess.h: In function '__access_ok':
   arch/um/include/asm/uaccess.h:17:29: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
      17 |    (((unsigned long) (addr) >= FIXADDR_USER_START) && \
         |                             ^~
   arch/um/include/asm/uaccess.h:45:3: note: in expansion of macro '__access_ok_vsyscall'
      45 |   __access_ok_vsyscall(addr, size) ||
         |   ^~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/kernel.h:11,
                    from net/ipv6/ioam6.c:11:
   include/asm-generic/fixmap.h: In function 'fix_to_virt':
   include/asm-generic/fixmap.h:32:19: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
      32 |  BUILD_BUG_ON(idx >= __end_of_fixed_addresses);
         |                   ^~
   include/linux/compiler.h:372:9: note: in definition of macro '__compiletime_assert'
     372 |   if (!(condition))     \
         |         ^~~~~~~~~
   include/linux/compiler.h:392:2: note: in expansion of macro '_compiletime_assert'
     392 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |  ^~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
      39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
         |                                     ^~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
      50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
         |  ^~~~~~~~~~~~~~~~
   include/asm-generic/fixmap.h:32:2: note: in expansion of macro 'BUILD_BUG_ON'
      32 |  BUILD_BUG_ON(idx >= __end_of_fixed_addresses);
         |  ^~~~~~~~~~~~
   net/ipv6/ioam6.c: At top level:
>> net/ipv6/ioam6.c:81:6: warning: no previous prototype for 'ioam6_fill_trace_data_node' [-Wmissing-prototypes]
      81 | void ioam6_fill_trace_data_node(struct sk_buff *skb, int nodeoff,
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/ioam6_fill_trace_data_node +81 net/ipv6/ioam6.c

    80	
  > 81	void ioam6_fill_trace_data_node(struct sk_buff *skb, int nodeoff,
    82					u32 trace_type, struct ioam6_namespace *ns)
    83	{
    84		u8 *data = skb_network_header(skb) + nodeoff;
    85		struct __kernel_sock_timeval ts;
    86		u64 raw_u64;
    87		u32 raw_u32;
    88		u16 raw_u16;
    89		u8 byte;
    90	
    91		/* hop_lim and node_id */
    92		if (trace_type & IOAM6_TRACE_TYPE0) {
    93			byte = ipv6_hdr(skb)->hop_limit - 1;
    94			raw_u32 = dev_net(skb->dev)->ipv6.sysctl.ioam6_id;
    95			if (!raw_u32)
    96				raw_u32 = IOAM6_EMPTY_FIELD_u24;
    97			else
    98				raw_u32 &= IOAM6_EMPTY_FIELD_u24;
    99			*(__be32 *)data = cpu_to_be32((byte << 24) | raw_u32);
   100			data += sizeof(__be32);
   101		}
   102	
   103		/* ingress_if_id and egress_if_id */
   104		if (trace_type & IOAM6_TRACE_TYPE1) {
   105			raw_u16 = __in6_dev_get(skb->dev)->cnf.ioam6_id;
   106			if (!raw_u16)
   107				raw_u16 = IOAM6_EMPTY_FIELD_u16;
   108			*(__be16 *)data = cpu_to_be16(raw_u16);
   109			data += sizeof(__be16);
   110	
   111			raw_u16 = __in6_dev_get(skb_dst(skb)->dev)->cnf.ioam6_id;
   112			if (!raw_u16)
   113				raw_u16 = IOAM6_EMPTY_FIELD_u16;
   114			*(__be16 *)data = cpu_to_be16(raw_u16);
   115			data += sizeof(__be16);
   116		}
   117	
   118		/* timestamp seconds */
   119		if (trace_type & IOAM6_TRACE_TYPE2) {
   120			if (!skb->tstamp) {
   121				*(__be32 *)data = cpu_to_be32(IOAM6_EMPTY_FIELD_u32);
   122			} else {
   123				skb_get_new_timestamp(skb, &ts);
   124				*(__be32 *)data = cpu_to_be32((u32)ts.tv_sec);
   125			}
   126			data += sizeof(__be32);
   127		}
   128	
   129		/* timestamp subseconds */
   130		if (trace_type & IOAM6_TRACE_TYPE3) {
   131			if (!skb->tstamp) {
   132				*(__be32 *)data = cpu_to_be32(IOAM6_EMPTY_FIELD_u32);
   133			} else {
   134				if (!(trace_type & IOAM6_TRACE_TYPE2))
   135					skb_get_new_timestamp(skb, &ts);
   136				*(__be32 *)data = cpu_to_be32((u32)ts.tv_usec);
   137			}
   138			data += sizeof(__be32);
   139		}
   140	
   141		/* transit delay */
   142		if (trace_type & IOAM6_TRACE_TYPE4) {
   143			*(__be32 *)data = cpu_to_be32(IOAM6_EMPTY_FIELD_u32);
   144			data += sizeof(__be32);
   145		}
   146	
   147		/* namespace data */
   148		if (trace_type & IOAM6_TRACE_TYPE5) {
   149			*(__be32 *)data = (__be32)ns->data;
   150			data += sizeof(__be32);
   151		}
   152	
   153		/* queue depth */
   154		if (trace_type & IOAM6_TRACE_TYPE6) {
   155			*(__be32 *)data = cpu_to_be32(IOAM6_EMPTY_FIELD_u32);
   156			data += sizeof(__be32);
   157		}
   158	
   159		/* hop_lim and node_id (wide) */
   160		if (trace_type & IOAM6_TRACE_TYPE7) {
   161			byte = ipv6_hdr(skb)->hop_limit - 1;
   162			raw_u64 = dev_net(skb->dev)->ipv6.sysctl.ioam6_id;
   163			if (!raw_u64)
   164				raw_u64 = IOAM6_EMPTY_FIELD_u56;
   165			else
   166				raw_u64 &= IOAM6_EMPTY_FIELD_u56;
   167			*(__be64 *)data = cpu_to_be64(((u64)byte << 56) | raw_u64);
   168			data += sizeof(__be64);
   169		}
   170	
   171		/* ingress_if_id and egress_if_id (wide) */
   172		if (trace_type & IOAM6_TRACE_TYPE8) {
   173			raw_u32 = __in6_dev_get(skb->dev)->cnf.ioam6_id;
   174			if (!raw_u32)
   175				raw_u32 = IOAM6_EMPTY_FIELD_u32;
   176			*(__be32 *)data = cpu_to_be32(raw_u32);
   177			data += sizeof(__be32);
   178	
   179			raw_u32 = __in6_dev_get(skb_dst(skb)->dev)->cnf.ioam6_id;
   180			if (!raw_u32)
   181				raw_u32 = IOAM6_EMPTY_FIELD_u32;
   182			*(__be32 *)data = cpu_to_be32(raw_u32);
   183			data += sizeof(__be32);
   184		}
   185	
   186		/* namespace data (wide) */
   187		if (trace_type & IOAM6_TRACE_TYPE9) {
   188			*(__be64 *)data = ns->data;
   189			data += sizeof(__be64);
   190		}
   191	
   192		/* buffer occupancy */
   193		if (trace_type & IOAM6_TRACE_TYPE10) {
   194			*(__be32 *)data = cpu_to_be32(IOAM6_EMPTY_FIELD_u32);
   195			data += sizeof(__be32);
   196		}
   197	
   198		/* checksum complement */
   199		if (trace_type & IOAM6_TRACE_TYPE11) {
   200			*(__be32 *)data = cpu_to_be32(IOAM6_EMPTY_FIELD_u32);
   201			data += sizeof(__be32);
   202		}
   203	
   204		/* opaque state snapshot */
   205		if (trace_type & IOAM6_TRACE_TYPE22) {
   206			if (!ns->schema) {
   207				*(__be32 *)data = cpu_to_be32(IOAM6_EMPTY_FIELD_u24);
   208			} else {
   209				*(__be32 *)data = ns->schema->hdr;
   210				data += sizeof(__be32);
   211				memcpy(data, ns->schema->data, ns->schema->len);
   212			}
   213		}
   214	}
   215	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 22959 bytes --]

  reply	other threads:[~2020-06-24 21:44 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-24 19:23 [PATCH net-next 0/5] Data plane support for IOAM Pre-allocated Trace with IPv6 Justin Iurman
2020-06-24 19:23 ` [PATCH net-next 1/5] ipv6: eh: Introduce removable TLVs Justin Iurman
2020-06-24 20:32   ` Tom Herbert
2020-06-25 17:47     ` Justin Iurman
2020-06-25 20:53       ` Tom Herbert
2020-06-26  8:22         ` Justin Iurman
2020-06-26 15:39           ` Tom Herbert
2020-06-26 17:14             ` Justin Iurman
2020-06-26 18:35               ` Tom Herbert
2020-06-24 19:23 ` [PATCH net-next 2/5] ipv6: IOAM tunnel decapsulation Justin Iurman
2020-06-25  2:32   ` Tom Herbert
2020-06-25 17:56     ` Justin Iurman
2020-06-26  0:48       ` Tom Herbert
2020-06-26  8:31         ` Justin Iurman
2020-06-26 15:52           ` Tom Herbert
2020-06-24 19:23 ` [PATCH net-next 3/5] ipv6: ioam: Data plane support for Pre-allocated Trace Justin Iurman
2020-06-24 21:37   ` kernel test robot [this message]
2020-06-24 23:11   ` kernel test robot
2020-06-24 23:11   ` [RFC PATCH] ipv6: ioam: ioam6_fill_trace_data_node() can be static kernel test robot
2020-06-25  2:42   ` [PATCH net-next 3/5] ipv6: ioam: Data plane support for Pre-allocated Trace Tom Herbert
2020-06-25 14:29   ` Tom Herbert
2020-06-25 18:23     ` Justin Iurman
2020-06-25 20:32       ` Tom Herbert
2020-06-26  8:13         ` Justin Iurman
2020-06-26 14:53           ` Tom Herbert
2020-06-24 19:23 ` [PATCH net-next 4/5] ipv6: ioam: Generic Netlink to configure IOAM Justin Iurman
2020-06-25 10:52   ` Dan Carpenter
2020-06-26  8:54     ` [PATCH net-next] Fix unchecked dereference Justin Iurman
2020-06-26 16:01       ` Jakub Kicinski
2020-06-26 17:23         ` Justin Iurman
2020-06-27  4:04           ` Jakub Kicinski
2020-06-24 19:23 ` [PATCH net-next 5/5] ipv6: ioam: Documentation for new IOAM sysctls Justin Iurman
2020-06-25  2:53   ` Tom Herbert
2020-06-25 18:00     ` Justin Iurman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202006250501.CZ3RyUCN%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=davem@davemloft.net \
    --cc=justin.iurman@uliege.be \
    --cc=kbuild-all@lists.01.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).