From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.186]) by ozlabs.org (Postfix) with ESMTP id 9811EDDFF0 for ; Wed, 9 Jul 2008 00:42:40 +1000 (EST) From: Arnd Bergmann To: Maxim Shchetynin Subject: Re: AZFS file system proposal Date: Tue, 8 Jul 2008 16:42:18 +0200 References: <20080618160629.6cd749a8@mercedes-benz.boeblingen.de.ibm.com> <200807011659.33413.arnd@arndb.de> <20080707173923.17dc6c05@mercedes-benz.boeblingen.de.ibm.com> In-Reply-To: <20080707173923.17dc6c05@mercedes-benz.boeblingen.de.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Message-Id: <200807081642.19507.arnd@arndb.de> Cc: Mark Nelson , Gunnar von Boehn , linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org, Paul Mackerras , linux-fsdevel@vger.kernel.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Monday 07 July 2008, Maxim Shchetynin wrote: > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if= (copy_to_user(target, (void*) pin, size)) { > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0rc =3D -EFAULT; > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0goto out; > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0} > >=20 > > Question to the powerpc folks: is copy_to_user safe for an __iomem sour= ce? > > Should there be two copies (memcpy_fromio and copy_to_user) instead? >=20 > I leave this question open. >=20 Cc:'ing some more people that might have more of a clue on this question. _memcpy_fromio does a "sync" at the start and an "eieio" at the end. IFAICT, neither are needed here because the source is always memory. It also handles unaligned memory accesses, which copy_to_user should also do correctly, so it *looks* like it should work with just a copy_to_user, but it still feels wrong to use an __iomem pointer as the source for a copy_to_user. Any ideas? Arnd <>< From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756170AbYGHOpk (ORCPT ); Tue, 8 Jul 2008 10:45:40 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751588AbYGHOpa (ORCPT ); Tue, 8 Jul 2008 10:45:30 -0400 Received: from moutng.kundenserver.de ([212.227.126.186]:49314 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751460AbYGHOp3 convert rfc822-to-8bit (ORCPT ); Tue, 8 Jul 2008 10:45:29 -0400 From: Arnd Bergmann To: Maxim Shchetynin Subject: Re: AZFS file system proposal Date: Tue, 8 Jul 2008 16:42:18 +0200 User-Agent: KMail/1.9.9 Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org, Benjamin Herrenschmidt , Paul Mackerras , Segher Boessenkool , Gunnar von Boehn , Mark Nelson References: <20080618160629.6cd749a8@mercedes-benz.boeblingen.de.ibm.com> <200807011659.33413.arnd@arndb.de> <20080707173923.17dc6c05@mercedes-benz.boeblingen.de.ibm.com> In-Reply-To: <20080707173923.17dc6c05@mercedes-benz.boeblingen.de.ibm.com> X-Face: I@=L^?./?$U,EK.)V[4*>`zSqm0>65YtkOe>TFD'!aw?7OVv#~5xd\s,[~w]-J!)|%=]>=?utf-8?q?+=0A=09=7EohchhkRGW=3F=7C6=5FqTmkd=5Ft=3FLZC=23Q-=60=2E=60Y=2Ea=5E?= =?utf-8?q?3zb?=) =?utf-8?q?+U-JVN=5DWT=25cw=23=5BYo0=267C=26bL12wWGlZi=0A=09=7EJ=3B=5Cwg?= =?utf-8?q?=3B3zRnz?=,J"CT_)=\H'1/{?SR7GDu?WIopm.HaBG=QYj"NZD_[zrM\Gip^U MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8BIT Content-Disposition: inline Message-Id: <200807081642.19507.arnd@arndb.de> X-Provags-ID: V01U2FsdGVkX18CrVst8tuEwQfUTCSiiFetZVTL2VuvwUpkddm 35Wt5Um6DU7jj6Nok4cdbFWaTWatPh7OGDriD9rIhtcQViuCVw Fspxyhmy0CqEEKYv7SMdw== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Monday 07 July 2008, Maxim Shchetynin wrote: > > > +           if (copy_to_user(target, (void*) pin, size)) { > > > +                   rc = -EFAULT; > > > +                   goto out; > > > +           } > > > > Question to the powerpc folks: is copy_to_user safe for an __iomem source? > > Should there be two copies (memcpy_fromio and copy_to_user) instead? > > I leave this question open. > Cc:'ing some more people that might have more of a clue on this question. _memcpy_fromio does a "sync" at the start and an "eieio" at the end. IFAICT, neither are needed here because the source is always memory. It also handles unaligned memory accesses, which copy_to_user should also do correctly, so it *looks* like it should work with just a copy_to_user, but it still feels wrong to use an __iomem pointer as the source for a copy_to_user. Any ideas? Arnd <>< From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Subject: Re: AZFS file system proposal Date: Tue, 8 Jul 2008 16:42:18 +0200 Message-ID: <200807081642.19507.arnd@arndb.de> References: <20080618160629.6cd749a8@mercedes-benz.boeblingen.de.ibm.com> <200807011659.33413.arnd@arndb.de> <20080707173923.17dc6c05@mercedes-benz.boeblingen.de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Mark Nelson , Gunnar von Boehn , linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org, Paul Mackerras , linux-fsdevel@vger.kernel.org To: Maxim Shchetynin Return-path: In-Reply-To: <20080707173923.17dc6c05@mercedes-benz.boeblingen.de.ibm.com> Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linuxppc-dev-bounces+glppd-linuxppc64-dev=m.gmane.org@ozlabs.org Errors-To: linuxppc-dev-bounces+glppd-linuxppc64-dev=m.gmane.org@ozlabs.org List-Id: linux-fsdevel.vger.kernel.org T24gTW9uZGF5IDA3IEp1bHkgMjAwOCwgTWF4aW0gU2hjaGV0eW5pbiB3cm90ZToKPiA+ID4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoY29weV90b191c2VyKHRhcmdldCwgKHZvaWQqKSBwaW4s IHNpemUpKSB7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJj ID0gLUVGQVVMVDsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg Z290byBvdXQ7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+ID4gCj4gPiBRdWVzdGlv biB0byB0aGUgcG93ZXJwYyBmb2xrczogaXMgY29weV90b191c2VyIHNhZmUgZm9yIGFuIF9faW9t ZW0gc291cmNlPwo+ID4gU2hvdWxkIHRoZXJlIGJlIHR3byBjb3BpZXMgKG1lbWNweV9mcm9taW8g YW5kIGNvcHlfdG9fdXNlcikgaW5zdGVhZD8KPiAKPiBJIGxlYXZlIHRoaXMgcXVlc3Rpb24gb3Bl bi4KPiAKCkNjOidpbmcgc29tZSBtb3JlIHBlb3BsZSB0aGF0IG1pZ2h0IGhhdmUgbW9yZSBvZiBh IGNsdWUgb24gdGhpcyBxdWVzdGlvbi4KX21lbWNweV9mcm9taW8gZG9lcyBhICJzeW5jIiBhdCB0 aGUgc3RhcnQgYW5kIGFuICJlaWVpbyIgYXQgdGhlIGVuZC4KSUZBSUNULCBuZWl0aGVyIGFyZSBu ZWVkZWQgaGVyZSBiZWNhdXNlIHRoZSBzb3VyY2UgaXMgYWx3YXlzIG1lbW9yeS4KCkl0IGFsc28g aGFuZGxlcyB1bmFsaWduZWQgbWVtb3J5IGFjY2Vzc2VzLCB3aGljaCBjb3B5X3RvX3VzZXIgc2hv dWxkCmFsc28gZG8gY29ycmVjdGx5LCBzbyBpdCAqbG9va3MqIGxpa2UgaXQgc2hvdWxkIHdvcmsg d2l0aCBqdXN0IGEKY29weV90b191c2VyLCBidXQgaXQgc3RpbGwgZmVlbHMgd3JvbmcgdG8gdXNl IGFuIF9faW9tZW0gcG9pbnRlcgphcyB0aGUgc291cmNlIGZvciBhIGNvcHlfdG9fdXNlci4KCkFu eSBpZGVhcz8KCglBcm5kIDw+PApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpMaW51eHBwYy1kZXYgbWFpbGluZyBsaXN0CkxpbnV4cHBjLWRldkBvemxhYnMu b3JnCmh0dHBzOi8vb3psYWJzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4cHBjLWRldg==