From: Michael Jeanson Date: Mon, 31 Aug 2015 13:57:18 +0000 (-0400) Subject: Fix: build failure on 2.6.36 X-Git-Tag: v2.5.6~2 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=180243e7a722bb0eed882c2b4a44f4bac37dc050;p=lttng-modules.git Fix: build failure on 2.6.36 Fixes build failure on the 2.6.36 kernel branch which misses the vzalloc() function. Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- diff --git a/lttng-events.c b/lttng-events.c index c4de34f6..e8299b57 100644 --- a/lttng-events.c +++ b/lttng-events.c @@ -44,6 +44,7 @@ #include "lttng-events.h" #include "lttng-tracer.h" #include "lttng-abi-old.h" +#include "wrapper/vzalloc.h" #define METADATA_CACHE_DEFAULT_SIZE 4096 @@ -98,7 +99,7 @@ struct lttng_session *lttng_session_create(void) GFP_KERNEL); if (!metadata_cache) goto err_free_session; - metadata_cache->data = vzalloc(METADATA_CACHE_DEFAULT_SIZE); + metadata_cache->data = lttng_vzalloc(METADATA_CACHE_DEFAULT_SIZE); if (!metadata_cache->data) goto err_free_cache; metadata_cache->cache_alloc = METADATA_CACHE_DEFAULT_SIZE; @@ -682,7 +683,7 @@ int lttng_metadata_printf(struct lttng_session *session, tmp_cache_alloc_size = max_t(unsigned int, session->metadata_cache->cache_alloc + len, session->metadata_cache->cache_alloc << 1); - tmp_cache_realloc = vzalloc(tmp_cache_alloc_size); + tmp_cache_realloc = lttng_vzalloc(tmp_cache_alloc_size); if (!tmp_cache_realloc) goto err; if (session->metadata_cache->data) { diff --git a/wrapper/vzalloc.h b/wrapper/vzalloc.h new file mode 100644 index 00000000..c052778b --- /dev/null +++ b/wrapper/vzalloc.h @@ -0,0 +1,47 @@ +#ifndef _LTTNG_WRAPPER_VZALLOC_H +#define _LTTNG_WRAPPER_VZALLOC_H + +/* + * wrapper/vzalloc.h + * + * Copyright (C) 2015 Michael Jeanson + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; only + * version 2.1 of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include + +#if LTTNG_KERNEL_RANGE(2,6,36, 2,6,37) +static inline +void *lttng_vzalloc(unsigned long size) +{ + void *ret; + ret = vmalloc(size); + if (!ret) + return NULL; + memset(ret, 0, size); + return ret; +} +#else +static inline +void *lttng_vzalloc(unsigned long size) +{ + return vzalloc(size); +} +#endif + + +#endif /* _LTTNG_WRAPPER_VZALLOC_H */