}
/*
- * LTTNG_KERNEL_SYSCALL event creation will return 0 on success. However
- * this FD must not be added to the event list.
+ * LTTNG_KERNEL_SYSCALL event creation will return 0 on success.
*/
if (ret == 0 && event->event->instrumentation == LTTNG_KERNEL_SYSCALL) {
DBG2("Kernel event syscall creation success");
- goto end;
+ goto add_list;
}
event->fd = ret;
perror("fcntl session fd");
}
+add_list:
/* Add event to event list */
cds_list_add(&event->list, &channel->events_list.head);
channel->event_count++;
DBG("Event %s created (fd: %d)", ev->name, event->fd);
-end:
return 0;
free_event:
}
/* Validate version */
- if (version.version > KERN_MODULES_VERSION) {
+ if (version.version != KERN_MODULES_PRE_VERSION
+ && version.version != KERN_MODULES_VERSION) {
goto error_version;
}
*/
int init_kernel_workarounds(void)
{
+ int ret;
FILE *fp;
/*
while (!feof(fp)) {
char buf[37] = "";
- (void) fread(buf, 1, sizeof(buf), fp);
+ ret = fread(buf, 1, sizeof(buf), fp);
+ if (ret < 0) {
+ /* Ignore error, we don't really care */
+ }
}
fclose(fp);
end_boot_id: