From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kara Subject: Re: [PATCH 04/10] mm: replace get_user_pages_locked() write/force parameters with gup_flags Date: Tue, 18 Oct 2016 14:54:25 +0200 Message-ID: <20161018125425.GD29967@quack2.suse.cz> References: <20161013002020.3062-1-lstoakes@gmail.com> <20161013002020.3062-5-lstoakes@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20161013002020.3062-5-lstoakes@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lorenzo Stoakes Cc: linux-mips@linux-mips.org, linux-fbdev@vger.kernel.org, Jan Kara , kvm@vger.kernel.org, linux-sh@vger.kernel.org, Dave Hansen , dri-devel@lists.freedesktop.org, linux-mm@kvack.org, netdev@vger.kernel.org, sparclinux@vger.kernel.org, linux-ia64@vger.kernel.org, linux-s390@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org, x86@kernel.org, Hugh Dickins , linux-media@vger.kernel.org, Rik van Riel , intel-gfx@lists.freedesktop.org, adi-buildroot-devel@lists.sourceforge.net, ceph-devel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-cris-kernel@axis.com, Linus Torvalds , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-alpha@vger.kernel.orglin List-Id: ceph-devel.vger.kernel.org T24gVGh1IDEzLTEwLTE2IDAxOjIwOjE0LCBMb3JlbnpvIFN0b2FrZXMgd3JvdGU6Cj4gVGhpcyBw YXRjaCByZW1vdmVzIHRoZSB3cml0ZSBhbmQgZm9yY2UgcGFyYW1ldGVycyBmcm9tIGdldF91c2Vy X3BhZ2VzX2xvY2tlZCgpCj4gYW5kIHJlcGxhY2VzIHRoZW0gd2l0aCBhIGd1cF9mbGFncyBwYXJh bWV0ZXIgdG8gbWFrZSB0aGUgdXNlIG9mIEZPTExfRk9SQ0UKPiBleHBsaWNpdCBpbiBjYWxsZXJz IGFzIHVzZSBvZiB0aGlzIGZsYWcgY2FuIHJlc3VsdCBpbiBzdXJwcmlzaW5nIGJlaGF2aW91ciAo YW5kCj4gaGVuY2UgYnVncykgd2l0aGluIHRoZSBtbSBzdWJzeXN0ZW0uCj4gCj4gU2lnbmVkLW9m Zi1ieTogTG9yZW56byBTdG9ha2VzIDxsc3RvYWtlc0BnbWFpbC5jb20+Cj4gLS0tCj4gIGluY2x1 ZGUvbGludXgvbW0uaCB8ICAyICstCj4gIG1tL2ZyYW1lX3ZlY3Rvci5jICB8ICA4ICsrKysrKyst Cj4gIG1tL2d1cC5jICAgICAgICAgICB8IDEyICsrKy0tLS0tLS0tLQo+ICBtbS9ub21tdS5jICAg ICAgICAgfCAgNSArKysrLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDEy IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tLmggYi9pbmNs dWRlL2xpbnV4L21tLmgKPiBpbmRleCA2YWRjNGJjLi4yN2FiNTM4IDEwMDY0NAo+IC0tLSBhL2lu Y2x1ZGUvbGludXgvbW0uaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvbW0uaAo+IEBAIC0xMjgyLDcg KzEyODIsNyBAQCBsb25nIGdldF91c2VyX3BhZ2VzKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2ln bmVkIGxvbmcgbnJfcGFnZXMsCj4gIAkJCSAgICBpbnQgd3JpdGUsIGludCBmb3JjZSwgc3RydWN0 IHBhZ2UgKipwYWdlcywKPiAgCQkJICAgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqKnZtYXMpOwo+ ICBsb25nIGdldF91c2VyX3BhZ2VzX2xvY2tlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25l ZCBsb25nIG5yX3BhZ2VzLAo+IC0JCSAgICBpbnQgd3JpdGUsIGludCBmb3JjZSwgc3RydWN0IHBh Z2UgKipwYWdlcywgaW50ICpsb2NrZWQpOwo+ICsJCSAgICB1bnNpZ25lZCBpbnQgZ3VwX2ZsYWdz LCBzdHJ1Y3QgcGFnZSAqKnBhZ2VzLCBpbnQgKmxvY2tlZCk7CgpIdW0sIHRoZSBwcm90b3R5cGUg aXMgaW5jb25zaXN0ZW50IHdpdGggZS5nLiBfX2dldF91c2VyX3BhZ2VzX3VubG9ja2VkKCkKd2hl cmUgZ3VwX2ZsYWdzIGNvbWUgYWZ0ZXIgKipwYWdlcyBhcmd1bWVudC4gQWN0dWFsbHkgaXQgbWFr ZXMgbW9yZSBzZW5zZQp0byBoYXZlIGl0IGJlZm9yZSAqKnBhZ2VzIHNvIHRoYXQgaW5wdXQgYXJn dW1lbnRzIGNvbWUgZmlyc3QgYW5kIG91dHB1dAphcmd1bWVudHMgc2Vjb25kIGJ1dCBJIGRvbid0 IGNhcmUgdGhhdCBtdWNoLiBCdXQgaXQgZGVmaW5pdGVseSBzaG91bGQgYmUKY29uc2lzdGVudC4u LgoKCQkJCQkJCQlIb256YQotLSAKSmFuIEthcmEgPGphY2tAc3VzZS5jb20+ClNVU0UgTGFicywg Q1IKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kara Subject: Re: [PATCH 04/10] mm: replace get_user_pages_locked() write/force parameters with gup_flags Date: Tue, 18 Oct 2016 14:54:25 +0200 Message-ID: <20161018125425.GD29967@quack2.suse.cz> References: <20161013002020.3062-1-lstoakes@gmail.com> <20161013002020.3062-5-lstoakes@gmail.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20161013002020.3062-5-lstoakes@gmail.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Content-Type: text/plain; charset="us-ascii" To: Lorenzo Stoakes Cc: linux-mips@linux-mips.org, linux-fbdev@vger.kernel.org, Jan Kara , kvm@vger.kernel.org, linux-sh@vger.kernel.org, Dave Hansen , dri-devel@lists.freedesktop.org, linux-mm@kvack.org, netdev@vger.kernel.org, sparclinux@vger.kernel.org, linux-ia64@vger.kernel.org, linux-s390@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org, x86@kernel.org, Hugh Dickins , linux-media@vger.kernel.org, Rik van Riel , intel-gfx@lists.freedesktop.org, adi-buildroot-devel@lists.sourceforge.net, ceph-devel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-cris-kernel@axis.com, Linus Torvalds , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-alpha@vger.kernel.org, lin T24gVGh1IDEzLTEwLTE2IDAxOjIwOjE0LCBMb3JlbnpvIFN0b2FrZXMgd3JvdGU6Cj4gVGhpcyBw YXRjaCByZW1vdmVzIHRoZSB3cml0ZSBhbmQgZm9yY2UgcGFyYW1ldGVycyBmcm9tIGdldF91c2Vy X3BhZ2VzX2xvY2tlZCgpCj4gYW5kIHJlcGxhY2VzIHRoZW0gd2l0aCBhIGd1cF9mbGFncyBwYXJh bWV0ZXIgdG8gbWFrZSB0aGUgdXNlIG9mIEZPTExfRk9SQ0UKPiBleHBsaWNpdCBpbiBjYWxsZXJz IGFzIHVzZSBvZiB0aGlzIGZsYWcgY2FuIHJlc3VsdCBpbiBzdXJwcmlzaW5nIGJlaGF2aW91ciAo YW5kCj4gaGVuY2UgYnVncykgd2l0aGluIHRoZSBtbSBzdWJzeXN0ZW0uCj4gCj4gU2lnbmVkLW9m Zi1ieTogTG9yZW56byBTdG9ha2VzIDxsc3RvYWtlc0BnbWFpbC5jb20+Cj4gLS0tCj4gIGluY2x1 ZGUvbGludXgvbW0uaCB8ICAyICstCj4gIG1tL2ZyYW1lX3ZlY3Rvci5jICB8ICA4ICsrKysrKyst Cj4gIG1tL2d1cC5jICAgICAgICAgICB8IDEyICsrKy0tLS0tLS0tLQo+ICBtbS9ub21tdS5jICAg ICAgICAgfCAgNSArKysrLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDEy IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tLmggYi9pbmNs dWRlL2xpbnV4L21tLmgKPiBpbmRleCA2YWRjNGJjLi4yN2FiNTM4IDEwMDY0NAo+IC0tLSBhL2lu Y2x1ZGUvbGludXgvbW0uaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvbW0uaAo+IEBAIC0xMjgyLDcg KzEyODIsNyBAQCBsb25nIGdldF91c2VyX3BhZ2VzKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2ln bmVkIGxvbmcgbnJfcGFnZXMsCj4gIAkJCSAgICBpbnQgd3JpdGUsIGludCBmb3JjZSwgc3RydWN0 IHBhZ2UgKipwYWdlcywKPiAgCQkJICAgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqKnZtYXMpOwo+ ICBsb25nIGdldF91c2VyX3BhZ2VzX2xvY2tlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25l ZCBsb25nIG5yX3BhZ2VzLAo+IC0JCSAgICBpbnQgd3JpdGUsIGludCBmb3JjZSwgc3RydWN0IHBh Z2UgKipwYWdlcywgaW50ICpsb2NrZWQpOwo+ICsJCSAgICB1bnNpZ25lZCBpbnQgZ3VwX2ZsYWdz LCBzdHJ1Y3QgcGFnZSAqKnBhZ2VzLCBpbnQgKmxvY2tlZCk7CgpIdW0sIHRoZSBwcm90b3R5cGUg aXMgaW5jb25zaXN0ZW50IHdpdGggZS5nLiBfX2dldF91c2VyX3BhZ2VzX3VubG9ja2VkKCkKd2hl cmUgZ3VwX2ZsYWdzIGNvbWUgYWZ0ZXIgKipwYWdlcyBhcmd1bWVudC4gQWN0dWFsbHkgaXQgbWFr ZXMgbW9yZSBzZW5zZQp0byBoYXZlIGl0IGJlZm9yZSAqKnBhZ2VzIHNvIHRoYXQgaW5wdXQgYXJn dW1lbnRzIGNvbWUgZmlyc3QgYW5kIG91dHB1dAphcmd1bWVudHMgc2Vjb25kIGJ1dCBJIGRvbid0 IGNhcmUgdGhhdCBtdWNoLiBCdXQgaXQgZGVmaW5pdGVseSBzaG91bGQgYmUKY29uc2lzdGVudC4u LgoKCQkJCQkJCQlIb256YQotLSAKSmFuIEthcmEgPGphY2tAc3VzZS5jb20+ClNVU0UgTGFicywg Q1IKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kara Date: Tue, 18 Oct 2016 12:54:25 +0000 Subject: Re: [PATCH 04/10] mm: replace get_user_pages_locked() write/force parameters with gup_flags Message-Id: <20161018125425.GD29967@quack2.suse.cz> List-Id: References: <20161013002020.3062-1-lstoakes@gmail.com> <20161013002020.3062-5-lstoakes@gmail.com> In-Reply-To: <20161013002020.3062-5-lstoakes@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Lorenzo Stoakes Cc: linux-mips@linux-mips.org, linux-fbdev@vger.kernel.org, Jan Kara , kvm@vger.kernel.org, linux-sh@vger.kernel.org, Dave Hansen , dri-devel@lists.freedesktop.org, linux-mm@kvack.org, netdev@vger.kernel.org, sparclinux@vger.kernel.org, linux-ia64@vger.kernel.org, linux-s390@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org, x86@kernel.org, Hugh Dickins , linux-media@vger.kernel.org, Rik van Riel , intel-gfx@lists.freedesktop.org, adi-buildroot-devel@lists.sourceforge.net, ceph-devel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-cris-kernel@axis.com, Linus Torvalds , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-alpha@vger.kernel.orglin On Thu 13-10-16 01:20:14, Lorenzo Stoakes wrote: > This patch removes the write and force parameters from get_user_pages_locked() > and replaces them with a gup_flags parameter to make the use of FOLL_FORCE > explicit in callers as use of this flag can result in surprising behaviour (and > hence bugs) within the mm subsystem. > > Signed-off-by: Lorenzo Stoakes > --- > include/linux/mm.h | 2 +- > mm/frame_vector.c | 8 +++++++- > mm/gup.c | 12 +++--------- > mm/nommu.c | 5 ++++- > 4 files changed, 15 insertions(+), 12 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 6adc4bc..27ab538 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -1282,7 +1282,7 @@ long get_user_pages(unsigned long start, unsigned long nr_pages, > int write, int force, struct page **pages, > struct vm_area_struct **vmas); > long get_user_pages_locked(unsigned long start, unsigned long nr_pages, > - int write, int force, struct page **pages, int *locked); > + unsigned int gup_flags, struct page **pages, int *locked); Hum, the prototype is inconsistent with e.g. __get_user_pages_unlocked() where gup_flags come after **pages argument. Actually it makes more sense to have it before **pages so that input arguments come first and output arguments second but I don't care that much. But it definitely should be consistent... Honza -- Jan Kara SUSE Labs, CR From mboxrd@z Thu Jan 1 00:00:00 1970 Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 18 Oct 2016 14:54:35 +0200 (CEST) Received: from mx2.suse.de ([195.135.220.15]:41062 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by eddie.linux-mips.org with ESMTP id S23992992AbcJRMy2AJxNK (ORCPT ); Tue, 18 Oct 2016 14:54:28 +0200 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 411F2ACEA; Tue, 18 Oct 2016 12:54:27 +0000 (UTC) Received: by quack2.suse.cz (Postfix, from userid 1000) id CC56A1E0F93; Tue, 18 Oct 2016 14:54:25 +0200 (CEST) Date: Tue, 18 Oct 2016 14:54:25 +0200 From: Jan Kara To: Lorenzo Stoakes Cc: linux-mm@kvack.org, Linus Torvalds , Jan Kara , Hugh Dickins , Dave Hansen , Rik van Riel , Mel Gorman , Andrew Morton , adi-buildroot-devel@lists.sourceforge.net, ceph-devel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, kvm@vger.kernel.org, linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-cris-kernel@axis.com, linux-fbdev@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-mips@linux-mips.org, linux-rdma@vger.kernel.org, linux-s390@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-scsi@vger.kernel.org, linux-security-module@vger.kernel.org, linux-sh@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, netdev@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org Subject: Re: [PATCH 04/10] mm: replace get_user_pages_locked() write/force parameters with gup_flags Message-ID: <20161018125425.GD29967@quack2.suse.cz> References: <20161013002020.3062-1-lstoakes@gmail.com> <20161013002020.3062-5-lstoakes@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161013002020.3062-5-lstoakes@gmail.com> User-Agent: Mutt/1.5.24 (2015-08-30) Return-Path: X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0) X-Orcpt: rfc822;linux-mips@linux-mips.org Original-Recipient: rfc822;linux-mips@linux-mips.org X-archive-position: 55487 X-ecartis-version: Ecartis v1.0.0 Sender: linux-mips-bounce@linux-mips.org Errors-to: linux-mips-bounce@linux-mips.org X-original-sender: jack@suse.cz Precedence: bulk List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: linux-mips X-List-ID: linux-mips List-subscribe: List-owner: List-post: List-archive: X-list: linux-mips On Thu 13-10-16 01:20:14, Lorenzo Stoakes wrote: > This patch removes the write and force parameters from get_user_pages_locked() > and replaces them with a gup_flags parameter to make the use of FOLL_FORCE > explicit in callers as use of this flag can result in surprising behaviour (and > hence bugs) within the mm subsystem. > > Signed-off-by: Lorenzo Stoakes > --- > include/linux/mm.h | 2 +- > mm/frame_vector.c | 8 +++++++- > mm/gup.c | 12 +++--------- > mm/nommu.c | 5 ++++- > 4 files changed, 15 insertions(+), 12 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 6adc4bc..27ab538 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -1282,7 +1282,7 @@ long get_user_pages(unsigned long start, unsigned long nr_pages, > int write, int force, struct page **pages, > struct vm_area_struct **vmas); > long get_user_pages_locked(unsigned long start, unsigned long nr_pages, > - int write, int force, struct page **pages, int *locked); > + unsigned int gup_flags, struct page **pages, int *locked); Hum, the prototype is inconsistent with e.g. __get_user_pages_unlocked() where gup_flags come after **pages argument. Actually it makes more sense to have it before **pages so that input arguments come first and output arguments second but I don't care that much. But it definitely should be consistent... Honza -- Jan Kara SUSE Labs, CR From mboxrd@z Thu Jan 1 00:00:00 1970 From: jack@suse.cz (Jan Kara) Date: Tue, 18 Oct 2016 14:54:25 +0200 Subject: [PATCH 04/10] mm: replace get_user_pages_locked() write/force parameters with gup_flags In-Reply-To: <20161013002020.3062-5-lstoakes@gmail.com> References: <20161013002020.3062-1-lstoakes@gmail.com> <20161013002020.3062-5-lstoakes@gmail.com> Message-ID: <20161018125425.GD29967@quack2.suse.cz> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu 13-10-16 01:20:14, Lorenzo Stoakes wrote: > This patch removes the write and force parameters from get_user_pages_locked() > and replaces them with a gup_flags parameter to make the use of FOLL_FORCE > explicit in callers as use of this flag can result in surprising behaviour (and > hence bugs) within the mm subsystem. > > Signed-off-by: Lorenzo Stoakes > --- > include/linux/mm.h | 2 +- > mm/frame_vector.c | 8 +++++++- > mm/gup.c | 12 +++--------- > mm/nommu.c | 5 ++++- > 4 files changed, 15 insertions(+), 12 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 6adc4bc..27ab538 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -1282,7 +1282,7 @@ long get_user_pages(unsigned long start, unsigned long nr_pages, > int write, int force, struct page **pages, > struct vm_area_struct **vmas); > long get_user_pages_locked(unsigned long start, unsigned long nr_pages, > - int write, int force, struct page **pages, int *locked); > + unsigned int gup_flags, struct page **pages, int *locked); Hum, the prototype is inconsistent with e.g. __get_user_pages_unlocked() where gup_flags come after **pages argument. Actually it makes more sense to have it before **pages so that input arguments come first and output arguments second but I don't care that much. But it definitely should be consistent... Honza -- Jan Kara SUSE Labs, CR From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 18 Oct 2016 14:54:25 +0200 From: Jan Kara To: Lorenzo Stoakes Cc: linux-mm@kvack.org, Linus Torvalds , Jan Kara , Hugh Dickins , Dave Hansen , Rik van Riel , Mel Gorman , Andrew Morton , adi-buildroot-devel@lists.sourceforge.net, ceph-devel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, kvm@vger.kernel.org, linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-cris-kernel@axis.com, linux-fbdev@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-mips@linux-mips.org, linux-rdma@vger.kernel.org, linux-s390@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-scsi@vger.kernel.org, linux-security-module@vger.kernel.org, linux-sh@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, netdev@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org Subject: Re: [PATCH 04/10] mm: replace get_user_pages_locked() write/force parameters with gup_flags Message-ID: <20161018125425.GD29967@quack2.suse.cz> References: <20161013002020.3062-1-lstoakes@gmail.com> <20161013002020.3062-5-lstoakes@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161013002020.3062-5-lstoakes@gmail.com> Sender: owner-linux-mm@kvack.org List-ID: On Thu 13-10-16 01:20:14, Lorenzo Stoakes wrote: > This patch removes the write and force parameters from get_user_pages_locked() > and replaces them with a gup_flags parameter to make the use of FOLL_FORCE > explicit in callers as use of this flag can result in surprising behaviour (and > hence bugs) within the mm subsystem. > > Signed-off-by: Lorenzo Stoakes > --- > include/linux/mm.h | 2 +- > mm/frame_vector.c | 8 +++++++- > mm/gup.c | 12 +++--------- > mm/nommu.c | 5 ++++- > 4 files changed, 15 insertions(+), 12 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 6adc4bc..27ab538 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -1282,7 +1282,7 @@ long get_user_pages(unsigned long start, unsigned long nr_pages, > int write, int force, struct page **pages, > struct vm_area_struct **vmas); > long get_user_pages_locked(unsigned long start, unsigned long nr_pages, > - int write, int force, struct page **pages, int *locked); > + unsigned int gup_flags, struct page **pages, int *locked); Hum, the prototype is inconsistent with e.g. __get_user_pages_unlocked() where gup_flags come after **pages argument. Actually it makes more sense to have it before **pages so that input arguments come first and output arguments second but I don't care that much. But it definitely should be consistent... Honza -- Jan Kara SUSE Labs, CR -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org