From 8f6d230fcd41cf23e1c41922d60daf524cb37c8a Mon Sep 17 00:00:00 2001 From: Yifeng Sun Date: Fri, 26 Apr 2019 14:42:07 -0700 Subject: datapath: Fix compiling error for 4.14.111+ kernel Acked-by: Yi-Hung Wei Tested-by: Greg Rose Reviewed-by: Greg Rose Fixes: f72469405eec9 ("datapath: meter: Use struct_size() in kzalloc()") Signed-off-by: Yifeng Sun Signed-off-by: Ben Pfaff --- .travis.yml | 2 +- acinclude.m4 | 2 ++ datapath/linux/compat/include/linux/overflow.h | 4 ++-- datapath/meter.c | 1 + 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 32d5f1918..468c39ecd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,7 +39,7 @@ env: - KERNEL=4.17.19 - KERNEL=4.16.18 - KERNEL=4.15.18 - - KERNEL=4.14.63 + - KERNEL=4.14.111 - KERNEL=4.9.149 - KERNEL=4.4.148 - KERNEL=3.19.8 diff --git a/acinclude.m4 b/acinclude.m4 index 301aeb70d..b532a4579 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -920,6 +920,8 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [ [OVS_DEFINE([HAVE_INET_FRAGS_RND])]) OVS_GREP_IFELSE([$KSRC/include/linux/overflow.h], [__LINUX_OVERFLOW_H], [OVS_DEFINE([HAVE_OVERFLOW_H])]) + OVS_GREP_IFELSE([$KSRC/include/linux/overflow.h], [struct_size], + [OVS_DEFINE([HAVE_STRUCT_SIZE])]) OVS_GREP_IFELSE([$KSRC/include/linux/mm.h], [kvmalloc_array], [OVS_DEFINE([HAVE_KVMALLOC_ARRAY])]) OVS_GREP_IFELSE([$KSRC/include/linux/mm.h], [kvmalloc_node], diff --git a/datapath/linux/compat/include/linux/overflow.h b/datapath/linux/compat/include/linux/overflow.h index ff84356db..13ae6cf6a 100644 --- a/datapath/linux/compat/include/linux/overflow.h +++ b/datapath/linux/compat/include/linux/overflow.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0 OR MIT */ -#ifdef HAVE_OVERFLOW_H +#if defined(HAVE_OVERFLOW_H) && defined(HAVE_STRUCT_SIZE) #include_next #else #ifndef __LINUX_OVERFLOW_H @@ -310,4 +310,4 @@ static inline __must_check size_t __ab_c_size(size_t n, size_t size, size_t c) sizeof(*(p))) #endif /* __LINUX_OVERFLOW_H */ -#endif /* HAVE_OVERFLOW_H */ +#endif /* defined(HAVE_OVERFLOW_H) && defined(HAVE_STRUCT_SIZE) */ diff --git a/datapath/meter.c b/datapath/meter.c index 51ec14950..eda14682f 100644 --- a/datapath/meter.c +++ b/datapath/meter.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include -- cgit v1.2.1