Source
184
184
struct kvec *new;
185
185
unsigned int flag, new_num = (iov->max_num & ~VRINGH_IOV_ALLOCATED) * 2;
186
186
187
187
if (new_num < 8)
188
188
new_num = 8;
189
189
190
190
flag = (iov->max_num & VRINGH_IOV_ALLOCATED);
191
191
if (flag)
192
192
new = krealloc(iov->iov, new_num * sizeof(struct iovec), gfp);
193
193
else {
194
-
new = kmalloc(new_num * sizeof(struct iovec), gfp);
194
+
new = kmalloc_array(new_num, sizeof(struct iovec), gfp);
195
195
if (new) {
196
196
memcpy(new, iov->iov,
197
197
iov->max_num * sizeof(struct iovec));
198
198
flag = VRINGH_IOV_ALLOCATED;
199
199
}
200
200
}
201
201
if (!new)
202
202
return -ENOMEM;
203
203
iov->iov = new;
204
204
iov->max_num = (new_num | flag);