kdbus: pool_slice_copy() fix: off_src now advanced after each write
authorKonrad Lipinski <konrad.l@samsung.com>
Wed, 16 Nov 2016 15:54:05 +0000 (16:54 +0100)
committerKonrad Lipinski <konrad.l@samsung.com>
Wed, 16 Nov 2016 16:02:54 +0000 (17:02 +0100)
ipc/kdbus/pool.c
tools/testing/selftests/kdbus/kdbus-util.c

index 65e3d26246f44b476a42fd0d314fc3ce29630bd7..bb51dc836d332422d1d6d20fa3b584ec1bcc099a 100644 (file)
@@ -552,7 +552,7 @@ int kdbus_pool_slice_copy(struct kdbus_pool *dst_pool, const struct kdbus_pool_s
        struct address_space *mapping_dst = f_dst->f_mapping;
        const struct address_space_operations *aops = mapping_dst->a_ops;
        unsigned long len = slice_src->size;
-       unsigned off_src = slice_src->off;
+       loff_t off_src = slice_src->off;
        unsigned off_dst = slice_dst->off;
        mm_segment_t old_fs;
        int ret = 0;
@@ -585,10 +585,7 @@ int kdbus_pool_slice_copy(struct kdbus_pool *dst_pool, const struct kdbus_pool_s
                }
 
                kaddr = (char __force __user *)kmap(page) + page_off;
-               {
-                       loff_t off_src_ = off_src;
-                       n_read = __vfs_read(f_src, kaddr, copy_len, &off_src_);
-               }
+               n_read = __vfs_read(f_src, kaddr, copy_len, &off_src);
                kunmap(page);
                mark_page_accessed(page);
                flush_dcache_page(page);
index 32bf0cb002da129a81876089776ff378fb9f0473..7addb4409e79e87724aa61d38296675f304adeda 100644 (file)
@@ -735,8 +735,9 @@ wur int kdbus_msg_dump(const struct kdbus_msg *msg) {
        else
                cookie_reply = msg->cookie_reply;
 
-       kdbus_printf("MESSAGE: %s (%llu bytes) flags=0x%08llx, %s → %s, "
+       kdbus_printf("MESSAGE(%p): %s (%llu bytes) flags=0x%08llx, %s → %s, "
                     "cookie=%llu, timeout=%llu cookie_reply=%llu priority=%lli\n",
+               msg,
                enum_PAYLOAD(msg->payload_type), (unsigned long long)msg->size,
                (unsigned long long)msg->flags,
                msg_id(msg->src_id, buf_src), msg_id(msg->dst_id, buf_dst),