X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=lib%2Fringbuffer%2Fbackend.h;h=b908ed06e92665e127bac42e19d57ffbb7ec9670;hb=d87a9f0376535ea0ab125f2f0cfc6ce6e325c0c1;hp=aadc9c37b1d2b3f7870a2ad87f184ae736c0aafc;hpb=bfe529f90b1354246b5d8a18f49e30595c612041;p=lttng-modules.git diff --git a/lib/ringbuffer/backend.h b/lib/ringbuffer/backend.h index aadc9c37..b908ed06 100644 --- a/lib/ringbuffer/backend.h +++ b/lib/ringbuffer/backend.h @@ -37,8 +37,8 @@ #include /* Internal helpers */ -#include "../../wrapper/ringbuffer/backend_internal.h" -#include "../../wrapper/ringbuffer/frontend_internal.h" +#include +#include /* Ring buffer backend API */ @@ -54,8 +54,8 @@ extern int __lib_ring_buffer_copy_to_user(struct lib_ring_buffer_backend *bufb, extern int lib_ring_buffer_read_cstr(struct lib_ring_buffer_backend *bufb, size_t offset, void *dest, size_t len); -extern struct page ** -lib_ring_buffer_read_get_page(struct lib_ring_buffer_backend *bufb, size_t offset, +extern unsigned long * +lib_ring_buffer_read_get_pfn(struct lib_ring_buffer_backend *bufb, size_t offset, void ***virt); /* @@ -209,7 +209,7 @@ size_t lib_ring_buffer_do_strcpy_from_user_inatomic(const struct lib_ring_buffer int ret; char c; - ret = __get_user(c, &src[count]); + ret = __copy_from_user_inatomic(&c, src + count, 1); if (ret || !c) break; lib_ring_buffer_do_copy(config, &dest[count], &c, 1); @@ -334,8 +334,7 @@ void lib_ring_buffer_copy_from_user_inatomic(const struct lib_ring_buffer_config rpages->p[index].virt + (offset & ~PAGE_MASK), src, len); if (unlikely(ret > 0)) { - len -= (pagecpy - ret); - offset += (pagecpy - ret); + /* Copy failed. */ goto fill_buffer; } } else {