From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v4 5/5] staging/android: add flags member to sync ioctl structs Date: Mon, 29 Feb 2016 09:30:41 +0100 Message-ID: <56D401B1.7080200@linux.intel.com> References: <1456511507-2534-1-git-send-email-gustavo@padovan.org> <1456511507-2534-5-git-send-email-gustavo@padovan.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id D96256E207 for ; Mon, 29 Feb 2016 08:30:49 +0000 (UTC) In-Reply-To: <1456511507-2534-5-git-send-email-gustavo@padovan.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Gustavo Padovan , Greg Kroah-Hartman Cc: devel@driverdev.osuosl.org, Daniel Stone , Daniel Vetter , Riley Andrews , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, =?UTF-8?Q?Arve_Hj=c3=b8nnev=c3=a5g?= , Gustavo Padovan , John Harrison List-Id: dri-devel@lists.freedesktop.org T3AgMjYtMDItMTYgb20gMTk6MzEgc2NocmVlZiBHdXN0YXZvIFBhZG92YW46Cj4gRnJvbTogR3Vz dGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgo+Cj4gUGxheSBz YWZlIGFuZCBhZGQgZmxhZ3MgbWVtYmVyIHRvIGFsbCBzdHJ1Y3RzLiBTbyB3ZSBkb24ndCBuZWVk IHRvCj4gYnJlYWsgQVBJIG9yIGNyZWF0ZSBuZXcgSU9DVEwgaW4gdGhlIGZ1dHVyZSBpZiBuZXcg ZmVhdHVyZXMgdGhhdCByZXF1aXJlcwo+IGZsYWdzIGFyaXNlcy4KPgo+IHYyOiBjaGVjayBpZiBm bGFncyBhcmUgdmFsaWQgKHplcm8sIGluIHRoaXMgY2FzZSkKPgo+IFNpZ25lZC1vZmYtYnk6IEd1 c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jby51az4KPiAtLS0KPiAg ZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvc3luYy5jICAgICAgfCA3ICsrKysrKy0KPiAgZHJpdmVy cy9zdGFnaW5nL2FuZHJvaWQvdWFwaS9zeW5jLmggfCA2ICsrKysrKwo+ICAyIGZpbGVzIGNoYW5n ZWQsIDEyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3N0YWdpbmcvYW5kcm9pZC9zeW5jLmMgYi9kcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9zeW5j LmMKPiBpbmRleCA4MzdjZmY1Li41NGZkNWFiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2lu Zy9hbmRyb2lkL3N5bmMuYwo+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL3N5bmMuYwo+ IEBAIC00NDUsNiArNDQ1LDExIEBAIHN0YXRpYyBsb25nIHN5bmNfZmlsZV9pb2N0bF9tZXJnZShz dHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGUsCj4gIAkJZ290byBlcnJfcHV0X2ZkOwo+ICAJfQo+ ICAKPiArCWlmIChkYXRhLmZsYWdzKSB7Cj4gKwkJZXJyID0gLUVGQVVMVDsKPiArCQlnb3RvIGVy cl9wdXRfZmQ7Cj4gKwl9Ci1FSU5WQUwKPiAgCWZlbmNlMiA9IHN5bmNfZmlsZV9mZGdldChkYXRh LmZkMik7Cj4gIAlpZiAoIWZlbmNlMikgewo+ICAJCWVyciA9IC1FTk9FTlQ7Cj4gQEAgLTUxMSw3 ICs1MTYsNyBAQCBzdGF0aWMgbG9uZyBzeW5jX2ZpbGVfaW9jdGxfZmVuY2VfaW5mbyhzdHJ1Y3Qg c3luY19maWxlICpzeW5jX2ZpbGUsCj4gIAlpZiAoY29weV9mcm9tX3VzZXIoJmluLCAodm9pZCBf X3VzZXIgKilhcmcsIHNpemVvZigqaW5mbykpKQo+ICAJCXJldHVybiAtRUZBVUxUOwo+ICAKPiAt CWlmIChpbi5zdGF0dXMgfHwgc3RyY21wKGluLm5hbWUsICJcMCIpKQo+ICsJaWYgKGluLnN0YXR1 cyB8fCBpbi5mbGFncyB8fCBzdHJjbXAoaW4ubmFtZSwgIlwwIikpCj4gIAkJcmV0dXJuIC1FRkFV TFQ7Ci1FSU5WQUwKPiAgCWlmIChpbi5udW1fZmVuY2VzICYmICFpbi5zeW5jX2ZlbmNlX2luZm8p Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL3VhcGkvc3luYy5oIGIvZHJp dmVycy9zdGFnaW5nL2FuZHJvaWQvdWFwaS9zeW5jLmgKPiBpbmRleCA5YWFkNjIzLi5mNTZhNmMy IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL3VhcGkvc3luYy5oCj4gKysr IGIvZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvdWFwaS9zeW5jLmgKPiBAQCAtMTksMTEgKzE5LDEz IEBACj4gICAqIEBmZDI6CWZpbGUgZGVzY3JpcHRvciBvZiBzZWNvbmQgZmVuY2UKPiAgICogQG5h bWU6CW5hbWUgb2YgbmV3IGZlbmNlCj4gICAqIEBmZW5jZToJcmV0dXJucyB0aGUgZmQgb2YgdGhl IG5ldyBmZW5jZSB0byB1c2Vyc3BhY2UKPiArICogQGZsYWdzOgltZXJnZV9kYXRhIGZsYWdzCj4g ICAqLwo+ICBzdHJ1Y3Qgc3luY19tZXJnZV9kYXRhIHsKPiAgCV9fczMyCWZkMjsKPiAgCWNoYXIJ bmFtZVszMl07Cj4gIAlfX3MzMglmZW5jZTsKPiArCV9fdTMyCWZsYWdzOwo+ICB9Owo+ICAKPiAg LyoqCj4gQEAgLTMxLDEyICszMywxNCBAQCBzdHJ1Y3Qgc3luY19tZXJnZV9kYXRhIHsKPiAgICog QG9ial9uYW1lOgkJbmFtZSBvZiBwYXJlbnQgc3luY190aW1lbGluZQo+ICAgKiBAZHJpdmVyX25h bWU6CW5hbWUgb2YgZHJpdmVyIGltcGxlbWVudGluZyB0aGUgcGFyZW50Cj4gICAqIEBzdGF0dXM6 CQlzdGF0dXMgb2YgdGhlIGZlbmNlIDA6YWN0aXZlIDE6c2lnbmFsZWQgPDA6ZXJyb3IKPiArICog QGZsYWdzOgkJZmVuY2VfaW5mbyBmbGFncwo+ICAgKiBAdGltZXN0YW1wX25zOgl0aW1lc3RhbXAg b2Ygc3RhdHVzIGNoYW5nZSBpbiBuYW5vc2Vjb25kcwo+ICAgKi8KPiAgc3RydWN0IHN5bmNfZmVu Y2VfaW5mbyB7Cj4gIAljaGFyCW9ial9uYW1lWzMyXTsKPiAgCWNoYXIJZHJpdmVyX25hbWVbMzJd Owo+ICAJX19zMzIJc3RhdHVzOwo+ICsJX191MzIJZmxhZ3M7Cj4gIAlfX3U2NAl0aW1lc3RhbXBf bnM7Cj4gIH07Cj4gIAo+IEBAIC00NCw2ICs0OCw3IEBAIHN0cnVjdCBzeW5jX2ZlbmNlX2luZm8g ewo+ICAgKiBzdHJ1Y3Qgc3luY19maWxlX2luZm8gLSBkYXRhIHJldHVybmVkIGZyb20gZmVuY2Ug aW5mbyBpb2N0bAo+ICAgKiBAbmFtZToJbmFtZSBvZiBmZW5jZQo+ICAgKiBAc3RhdHVzOglzdGF0 dXMgb2YgZmVuY2UuIDE6IHNpZ25hbGVkIDA6YWN0aXZlIDwwOmVycm9yCj4gKyAqIEBmbGFnczoJ c3luY19maWxlX2luZm8gZmxhZ3MKPiAgICogQG51bV9mZW5jZXMJbnVtYmVyIG9mIGZlbmNlcyBp biB0aGUgc3luY19maWxlCj4gICAqIEBsZW46CWlvY3RsIGNhbGxlciB3cml0ZXMgdGhlIHNpemUg b2YgdGhlIGJ1ZmZlciBpdHMgcGFzc2luZyBpbi4KPiAgICoJCWlvY3RsIHJldHVybnMgbGVuZ3Ro IG9mIGFsbCBmZW5jZV9pbmZvcyBzdW1tZWQuCj4gQEAgLTUyLDYgKzU3LDcgQEAgc3RydWN0IHN5 bmNfZmVuY2VfaW5mbyB7Cj4gIHN0cnVjdCBzeW5jX2ZpbGVfaW5mbyB7Cj4gIAljaGFyCW5hbWVb MzJdOwo+ICAJX19zMzIJc3RhdHVzOwo+ICsJX191MzIJZmxhZ3M7Cj4gIAlfX3UzMgludW1fZmVu Y2VzOwo+ICAJX191MzIJbGVuOwo+ICAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752784AbcB2Iay (ORCPT ); Mon, 29 Feb 2016 03:30:54 -0500 Received: from mga09.intel.com ([134.134.136.24]:10745 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752693AbcB2Iau (ORCPT ); Mon, 29 Feb 2016 03:30:50 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,519,1449561600"; d="scan'208";a="661027545" Subject: Re: [PATCH v4 5/5] staging/android: add flags member to sync ioctl structs To: Gustavo Padovan , Greg Kroah-Hartman References: <1456511507-2534-1-git-send-email-gustavo@padovan.org> <1456511507-2534-5-git-send-email-gustavo@padovan.org> Cc: linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, dri-devel@lists.freedesktop.org, Daniel Stone , =?UTF-8?Q?Arve_Hj=c3=b8nnev=c3=a5g?= , Riley Andrews , Daniel Vetter , Rob Clark , Greg Hackmann , John Harrison , Gustavo Padovan From: Maarten Lankhorst Message-ID: <56D401B1.7080200@linux.intel.com> Date: Mon, 29 Feb 2016 09:30:41 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <1456511507-2534-5-git-send-email-gustavo@padovan.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Op 26-02-16 om 19:31 schreef Gustavo Padovan: > From: Gustavo Padovan > > Play safe and add flags member to all structs. So we don't need to > break API or create new IOCTL in the future if new features that requires > flags arises. > > v2: check if flags are valid (zero, in this case) > > Signed-off-by: Gustavo Padovan > --- > drivers/staging/android/sync.c | 7 ++++++- > drivers/staging/android/uapi/sync.h | 6 ++++++ > 2 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/staging/android/sync.c b/drivers/staging/android/sync.c > index 837cff5..54fd5ab 100644 > --- a/drivers/staging/android/sync.c > +++ b/drivers/staging/android/sync.c > @@ -445,6 +445,11 @@ static long sync_file_ioctl_merge(struct sync_file *sync_file, > goto err_put_fd; > } > > + if (data.flags) { > + err = -EFAULT; > + goto err_put_fd; > + } -EINVAL > fence2 = sync_file_fdget(data.fd2); > if (!fence2) { > err = -ENOENT; > @@ -511,7 +516,7 @@ static long sync_file_ioctl_fence_info(struct sync_file *sync_file, > if (copy_from_user(&in, (void __user *)arg, sizeof(*info))) > return -EFAULT; > > - if (in.status || strcmp(in.name, "\0")) > + if (in.status || in.flags || strcmp(in.name, "\0")) > return -EFAULT; -EINVAL > if (in.num_fences && !in.sync_fence_info) > diff --git a/drivers/staging/android/uapi/sync.h b/drivers/staging/android/uapi/sync.h > index 9aad623..f56a6c2 100644 > --- a/drivers/staging/android/uapi/sync.h > +++ b/drivers/staging/android/uapi/sync.h > @@ -19,11 +19,13 @@ > * @fd2: file descriptor of second fence > * @name: name of new fence > * @fence: returns the fd of the new fence to userspace > + * @flags: merge_data flags > */ > struct sync_merge_data { > __s32 fd2; > char name[32]; > __s32 fence; > + __u32 flags; > }; > > /** > @@ -31,12 +33,14 @@ struct sync_merge_data { > * @obj_name: name of parent sync_timeline > * @driver_name: name of driver implementing the parent > * @status: status of the fence 0:active 1:signaled <0:error > + * @flags: fence_info flags > * @timestamp_ns: timestamp of status change in nanoseconds > */ > struct sync_fence_info { > char obj_name[32]; > char driver_name[32]; > __s32 status; > + __u32 flags; > __u64 timestamp_ns; > }; > > @@ -44,6 +48,7 @@ struct sync_fence_info { > * struct sync_file_info - data returned from fence info ioctl > * @name: name of fence > * @status: status of fence. 1: signaled 0:active <0:error > + * @flags: sync_file_info flags > * @num_fences number of fences in the sync_file > * @len: ioctl caller writes the size of the buffer its passing in. > * ioctl returns length of all fence_infos summed. > @@ -52,6 +57,7 @@ struct sync_fence_info { > struct sync_file_info { > char name[32]; > __s32 status; > + __u32 flags; > __u32 num_fences; > __u32 len; >