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)
committerAdrian Szyndela <adrian.s@samsung.com>
Wed, 7 Aug 2019 14:29:12 +0000 (16:29 +0200)
ipc/kdbus/pool.c
tools/testing/selftests/kdbus/kdbus-util.c

index 769ef023c398d58a623e69c203da568eb7c87dc4..254dd9f99c549aa9677f5cb883882065e0bab2d3 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),