Lines Matching refs:ksize
110 size_t ksize, usize;
127 /* Check basic case -- (usize == ksize). */
128 ksize = size;
131 memcpy(expected, umem_src, ksize);
134 ret |= test(copy_struct_from_user(kmem, ksize, umem, usize),
135 "copy_struct_from_user(usize == ksize) failed");
136 ret |= test(memcmp(kmem, expected, ksize),
137 "copy_struct_from_user(usize == ksize) gives unexpected copy");
139 /* Old userspace case -- (usize < ksize). */
140 ksize = size;
144 memset(expected + usize, 0x0, ksize - usize);
147 ret |= test(copy_struct_from_user(kmem, ksize, umem, usize),
148 "copy_struct_from_user(usize < ksize) failed");
149 ret |= test(memcmp(kmem, expected, ksize),
150 "copy_struct_from_user(usize < ksize) gives unexpected copy");
152 /* New userspace (-E2BIG) case -- (usize > ksize). */
153 ksize = size / 2;
157 ret |= test(copy_struct_from_user(kmem, ksize, umem, usize) != -E2BIG,
158 "copy_struct_from_user(usize > ksize) didn't give E2BIG");
160 /* New userspace (success) case -- (usize > ksize). */
161 ksize = size / 2;
164 memcpy(expected, umem_src, ksize);
165 ret |= test(clear_user(umem + ksize, usize - ksize),
169 ret |= test(copy_struct_from_user(kmem, ksize, umem, usize),
170 "copy_struct_from_user(usize > ksize) failed");
171 ret |= test(memcmp(kmem, expected, ksize),
172 "copy_struct_from_user(usize > ksize) gives unexpected copy");