X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fcompat.h;h=c484a5d72a6c991586916c6b64bef70b9cb6b869;hb=bb635d0e59ecae66eeae25924eddcfccbd6f3512;hp=84a222f991b9267ef973fa89f18f7a139dc7ec57;hpb=34e63086edddcae06d7c1a4fa84fec0861e50758;p=openvswitch diff --git a/datapath/compat.h b/datapath/compat.h index 84a222f9..c484a5d7 100644 --- a/datapath/compat.h +++ b/datapath/compat.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Nicira Networks. + * Copyright (c) 2011 Nicira Networks. * Distributed under the terms of the GNU GPL version 2. * * Significant portions of this file may be copied from parts of the Linux @@ -9,17 +9,31 @@ #ifndef COMPAT_H #define COMPAT_H 1 -#include +#include -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) +#ifndef HAVE_NLA_NUL_STRING +static inline int CHECK_NUL_STRING(struct nlattr *attr, int maxlen) +{ + char *s; + int len; + if (!attr) + return 0; -#include "compat26.h" + len = nla_len(attr); + if (len >= maxlen) + return -EINVAL; -#else - -#include "compat24.h" - -#endif + s = nla_data(attr); + if (s[len - 1] != '\0') + return -EINVAL; + return 0; +} +#else +static inline int CHECK_NUL_STRING(struct nlattr *attr, int maxlen) +{ + return 0; +} +#endif /* !HAVE_NLA_NUL_STRING */ #endif /* compat.h */