projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: network instrumentation handling of corrupted TCP headers
[lttng-modules.git]
/
lttng-statedump-impl.c
diff --git
a/lttng-statedump-impl.c
b/lttng-statedump-impl.c
index d4f29fd397bc69e53c18803a434ed8adaac95880..a2520433216f0f79d5a502cf5dbb4389222a7d0a 100644
(file)
--- a/
lttng-statedump-impl.c
+++ b/
lttng-statedump-impl.c
@@
-47,15
+47,17
@@
#include <linux/mutex.h>
#include <linux/device.h>
#include <linux/mutex.h>
#include <linux/device.h>
-#include "lttng-events.h"
-#include "lttng-tracer.h"
-#include "wrapper/irqdesc.h"
-#include "wrapper/spinlock.h"
-#include "wrapper/fdtable.h"
-#include "wrapper/nsproxy.h"
-#include "wrapper/irq.h"
-#include "wrapper/tracepoint.h"
-#include "wrapper/genhd.h"
+#include <lttng-events.h>
+#include <lttng-tracer.h>
+#include <wrapper/irqdesc.h>
+#include <wrapper/spinlock.h>
+#include <wrapper/fdtable.h>
+#include <wrapper/nsproxy.h>
+#include <wrapper/irq.h>
+#include <wrapper/tracepoint.h>
+#include <wrapper/genhd.h>
+#include <wrapper/file.h>
+#include <wrapper/time.h>
#ifdef CONFIG_LTTNG_HAS_LIST_IRQ
#include <linux/irq.h>
#ifdef CONFIG_LTTNG_HAS_LIST_IRQ
#include <linux/irq.h>
@@
-63,10
+65,10
@@
/* Define the tracepoints, but do not build the probes */
#define CREATE_TRACE_POINTS
/* Define the tracepoints, but do not build the probes */
#define CREATE_TRACE_POINTS
-#define TRACE_INCLUDE_PATH
../
instrumentation/events/lttng-module
+#define TRACE_INCLUDE_PATH instrumentation/events/lttng-module
#define TRACE_INCLUDE_FILE lttng-statedump
#define LTTNG_INSTRUMENTATION
#define TRACE_INCLUDE_FILE lttng-statedump
#define LTTNG_INSTRUMENTATION
-#include
"instrumentation/events/lttng-module/lttng-statedump.h"
+#include
<instrumentation/events/lttng-module/lttng-statedump.h>
DEFINE_TRACE(lttng_statedump_block_device);
DEFINE_TRACE(lttng_statedump_end);
DEFINE_TRACE(lttng_statedump_block_device);
DEFINE_TRACE(lttng_statedump_end);
@@
-214,18
+216,6
@@
int lttng_enumerate_network_ip_interface(struct lttng_session *session)
}
#endif /* CONFIG_INET */
}
#endif /* CONFIG_INET */
-#ifdef FD_ISSET /* For old kernels lacking close_on_exec() */
-static inline bool lttng_close_on_exec(int fd, const struct fdtable *fdt)
-{
- return FD_ISSET(fd, fdt->close_on_exec);
-}
-#else
-static inline bool lttng_close_on_exec(int fd, const struct fdtable *fdt)
-{
- return close_on_exec(fd, fdt);
-}
-#endif
-
static
int lttng_dump_one_fd(const void *p, struct file *file, unsigned int fd)
{
static
int lttng_dump_one_fd(const void *p, struct file *file, unsigned int fd)
{
@@
-327,7
+317,7
@@
void lttng_enumerate_task_vm_maps(struct lttng_session *session,
down_read(&mm->mmap_sem);
while (map) {
if (map->vm_file)
down_read(&mm->mmap_sem);
while (map) {
if (map->vm_file)
- ino = map->vm_file->f_dentry->d_inode->i_ino;
+ ino = map->vm_file->
lttng_
f_dentry->d_inode->i_ino;
else
ino = 0;
trace_lttng_statedump_vm_map(session, p, map, ino);
else
ino = 0;
trace_lttng_statedump_vm_map(session, p, map, ino);
@@
-411,12
+401,15
@@
void lttng_statedump_process_ns(struct lttng_session *session,
* "namespaces: Use task_lock and not rcu to protect nsproxy"
* for details.
*/
* "namespaces: Use task_lock and not rcu to protect nsproxy"
* for details.
*/
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0) || \
+ LTTNG_UBUNTU_KERNEL_RANGE(3,13,11,36, 3,14,0,0) || \
+ LTTNG_UBUNTU_KERNEL_RANGE(3,16,1,11, 3,17,0,0) || \
+ LTTNG_RHEL_KERNEL_RANGE(3,10,0,229,13,0, 3,11,0,0,0,0))
proxy = p->nsproxy;
proxy = p->nsproxy;
-#else
/* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)) */
+#else
rcu_read_lock();
proxy = task_nsproxy(p);
rcu_read_lock();
proxy = task_nsproxy(p);
-#endif
/* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)) */
+#endif
if (proxy) {
pid_ns = lttng_get_proxy_pid_ns(proxy);
do {
if (proxy) {
pid_ns = lttng_get_proxy_pid_ns(proxy);
do {
@@
-428,11
+421,14
@@
void lttng_statedump_process_ns(struct lttng_session *session,
trace_lttng_statedump_process_state(session,
p, type, mode, submode, status, NULL);
}
trace_lttng_statedump_process_state(session,
p, type, mode, submode, status, NULL);
}
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0) || \
+ LTTNG_UBUNTU_KERNEL_RANGE(3,13,11,36, 3,14,0,0) || \
+ LTTNG_UBUNTU_KERNEL_RANGE(3,16,1,11, 3,17,0,0) || \
+ LTTNG_RHEL_KERNEL_RANGE(3,10,0,229,13,0, 3,11,0,0,0,0))
/* (nothing) */
/* (nothing) */
-#else
/* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)) */
+#else
rcu_read_unlock();
rcu_read_unlock();
-#endif
/* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)) */
+#endif
}
static
}
static
@@
-528,6
+524,8
@@
int do_lttng_statedump(struct lttng_session *session)
return ret;
ret = lttng_enumerate_block_devices(session);
switch (ret) {
return ret;
ret = lttng_enumerate_block_devices(session);
switch (ret) {
+ case 0:
+ break;
case -ENOSYS:
printk(KERN_WARNING "LTTng: block device enumeration is not supported by kernel\n");
break;
case -ENOSYS:
printk(KERN_WARNING "LTTng: block device enumeration is not supported by kernel\n");
break;
This page took
0.030857 seconds
and
4
git commands to generate.