Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1738068
| From | Al Viro <viro@ZenIV.linux.org.uk> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] fix unbalanced page refcounting in bio_map_user_iov |
| Date | 2017-09-23 22:40 +0200 |
| Message-ID | <usZns-7Qw-5@gated-at.bofh.it> (permalink) |
| References | <usoxz-29n-1@gated-at.bofh.it> <usVDb-5pJ-23@gated-at.bofh.it> <usVWy-5ym-7@gated-at.bofh.it> <usWfU-5U4-11@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Sat, Sep 23, 2017 at 06:19:26PM +0100, Al Viro wrote: > On Sat, Sep 23, 2017 at 05:55:37PM +0100, Al Viro wrote: > > > IOW, the loop on failure exit should go through the bio, like __bio_unmap_user() > > does. We *also* need to put everything left unused in pages[], but only from the > > last iteration through iov_for_each(). > > > > Frankly, I would prefer to reuse the pages[], rather than append to it on each > > iteration. Used iov_iter_get_pages_alloc(), actually. > > Something like completely untested diff below, perhaps... > + unsigned n = PAGE_SIZE - offs; > + unsigned prev_bi_vcnt = bio->bi_vcnt; Sorry, that should've been followed by if (n > bytes) n = bytes; Anyway, a carved-up variant is in vfs.git#work.iov_iter. It still needs review and testing; the patch Vitaly has posted in this thread plus 6 followups, hopefully more readable than aggregate diff. Comments?
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] fix unbalanced page refcounting in bio_map_user_iov Vitaly Mayatskikh <v.mayatskih@gmail.com> - 2017-09-22 07:20 +0200
Re: [PATCH] fix unbalanced page refcounting in bio_map_user_iov Vitaly Mayatskikh <v.mayatskih@gmail.com> - 2017-09-22 07:30 +0200
Re: [PATCH] fix unbalanced page refcounting in bio_map_user_iov Al Viro <viro@ZenIV.linux.org.uk> - 2017-09-23 18:40 +0200
Re: [PATCH] fix unbalanced page refcounting in bio_map_user_iov Al Viro <viro@ZenIV.linux.org.uk> - 2017-09-23 19:00 +0200
Re: [PATCH] fix unbalanced page refcounting in bio_map_user_iov Al Viro <viro@ZenIV.linux.org.uk> - 2017-09-23 19:20 +0200
Re: [PATCH] fix unbalanced page refcounting in bio_map_user_iov Al Viro <viro@ZenIV.linux.org.uk> - 2017-09-23 22:40 +0200
Re: [PATCH] fix unbalanced page refcounting in bio_map_user_iov Al Viro <viro@ZenIV.linux.org.uk> - 2017-09-24 16:30 +0200
Re: [PATCH] fix unbalanced page refcounting in bio_map_user_iov Al Viro <viro@ZenIV.linux.org.uk> - 2017-09-24 19:20 +0200
Re: [PATCH] fix unbalanced page refcounting in bio_map_user_iov Vitaly Mayatskikh <v.mayatskih@gmail.com> - 2017-09-25 03:50 +0200
csiph-web