Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1271860 > unrolled thread

Re: [PATCH] tools: ffs-aio-example: free memory upon failure

Started by"Wei, Jiangang" <weijg.fnst@cn.fujitsu.com>
First post2015-11-18 07:20 +0100
Last post2015-11-19 10:40 +0100
Articles 4 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH] tools: ffs-aio-example: free memory upon failure "Wei, Jiangang" <weijg.fnst@cn.fujitsu.com> - 2015-11-18 07:20 +0100
    Re: [PATCH] tools: ffs-aio-example: free memory upon failure Robert Baldyga <r.baldyga@samsung.com> - 2015-11-18 10:50 +0100
      [PATCH v2] tools: ffs-aio-example: clean up upon failure Wei Jiangang <weijg.fnst@cn.fujitsu.com> - 2015-11-19 10:30 +0100
      Re: [PATCH] tools: ffs-aio-example: free memory upon failure "Wei, Jiangang" <weijg.fnst@cn.fujitsu.com> - 2015-11-19 10:40 +0100

#1271860 — Re: [PATCH] tools: ffs-aio-example: free memory upon failure

From"Wei, Jiangang" <weijg.fnst@cn.fujitsu.com>
Date2015-11-18 07:20 +0100
SubjectRe: [PATCH] tools: ffs-aio-example: free memory upon failure
Message-ID<qw4g1-7vR-11@gated-at.bofh.it>
VG8gd2hvbSBpdCBtYXkgY29uY2Vybu+8mg0KDQpTb3JyeSB0byBib3RoZXIgYWdhaW4sDQpCdXQg
YW55IGNvbW1lbnQgYWJvdXQgdGhpcyBwYXRjaO+8nw0KDQpSZWdhcmRzLA0Kd2VpDQpPbiBNb24s
IDIwMTUtMTEtMDkgYXQgMTQ6MTYgKzA4MDAsIFdlaSBKaWFuZ2FuZyB3cm90ZToNCj4gRnJlZSBi
dWZmZXIgdG8gYXZvaWQgbWVtb3J5IGxlYWsgdXBvbiBmYWlsdXJlIG9jY3Vycy4NCj4gDQo+IFNp
Z25lZC1vZmYtYnk6IFdlaSBKaWFuZ2FuZyA8d2VpamcuZm5zdEBjbi5mdWppdHN1LmNvbT4NCj4g
LS0tDQo+ICB0b29scy91c2IvZmZzLWFpby1leGFtcGxlL211bHRpYnVmZi9kZXZpY2VfYXBwL2Fp
b19tdWx0aWJ1ZmYuYyB8IDQgKysrKw0KPiAgdG9vbHMvdXNiL2Zmcy1haW8tZXhhbXBsZS9zaW1w
bGUvZGV2aWNlX2FwcC9haW9fc2ltcGxlLmMgICAgICAgfCA0ICsrKysNCj4gIDIgZmlsZXMgY2hh
bmdlZCwgOCBpbnNlcnRpb25zKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvdXNiL2Zmcy1h
aW8tZXhhbXBsZS9tdWx0aWJ1ZmYvZGV2aWNlX2FwcC9haW9fbXVsdGlidWZmLmMgYi90b29scy91
c2IvZmZzLWFpby1leGFtcGxlL211bHRpYnVmZi9kZXZpY2VfYXBwL2Fpb19tdWx0aWJ1ZmYuYw0K
PiBpbmRleCBhYWNhMWY0NGU3ODguLjNlYjFhOTJiYWFjZiAxMDA2NDQNCj4gLS0tIGEvdG9vbHMv
dXNiL2Zmcy1haW8tZXhhbXBsZS9tdWx0aWJ1ZmYvZGV2aWNlX2FwcC9haW9fbXVsdGlidWZmLmMN
Cj4gKysrIGIvdG9vbHMvdXNiL2Zmcy1haW8tZXhhbXBsZS9tdWx0aWJ1ZmYvZGV2aWNlX2FwcC9h
aW9fbXVsdGlidWZmLmMNCj4gQEAgLTI2MywyMCArMjYzLDI0IEBAIGludCBtYWluKGludCBhcmdj
LCBjaGFyICphcmd2W10pDQo+ICAJc3ByaW50ZihlcF9wYXRoLCAiJXMvZXAwIiwgYXJndlsxXSk7
DQo+ICAJZXAwID0gb3BlbihlcF9wYXRoLCBPX1JEV1IpOw0KPiAgCWlmIChlcDAgPCAwKSB7DQo+
ICsJCWZyZWUoZXBfcGF0aCk7DQo+ICAJCXBlcnJvcigidW5hYmxlIHRvIG9wZW4gZXAwIik7DQo+
ICAJCXJldHVybiAxOw0KPiAgCX0NCj4gIAlpZiAod3JpdGUoZXAwLCAmZGVzY3JpcHRvcnMsIHNp
emVvZihkZXNjcmlwdG9ycykpIDwgMCkgew0KPiArCQlmcmVlKGVwX3BhdGgpOw0KPiAgCQlwZXJy
b3IoInVuYWJsZSBkbyB3cml0ZSBkZXNjcmlwdG9ycyIpOw0KPiAgCQlyZXR1cm4gMTsNCj4gIAl9
DQo+ICAJaWYgKHdyaXRlKGVwMCwgJnN0cmluZ3MsIHNpemVvZihzdHJpbmdzKSkgPCAwKSB7DQo+
ICsJCWZyZWUoZXBfcGF0aCk7DQo+ICAJCXBlcnJvcigidW5hYmxlIHRvIHdyaXRlIHN0cmluZ3Mi
KTsNCj4gIAkJcmV0dXJuIDE7DQo+ICAJfQ0KPiAgCXNwcmludGYoZXBfcGF0aCwgIiVzL2VwMSIs
IGFyZ3ZbMV0pOw0KPiAgCWVwMSA9IG9wZW4oZXBfcGF0aCwgT19SRFdSKTsNCj4gIAlpZiAoZXAx
IDwgMCkgew0KPiArCQlmcmVlKGVwX3BhdGgpOw0KPiAgCQlwZXJyb3IoInVuYWJsZSB0byBvcGVu
IGVwMSIpOw0KPiAgCQlyZXR1cm4gMTsNCj4gIAl9DQo+IGRpZmYgLS1naXQgYS90b29scy91c2Iv
ZmZzLWFpby1leGFtcGxlL3NpbXBsZS9kZXZpY2VfYXBwL2Fpb19zaW1wbGUuYyBiL3Rvb2xzL3Vz
Yi9mZnMtYWlvLWV4YW1wbGUvc2ltcGxlL2RldmljZV9hcHAvYWlvX3NpbXBsZS5jDQo+IGluZGV4
IDFmNDRhMjk4MThiZi4uYWM5Njg5MmNhNWQyIDEwMDY0NA0KPiAtLS0gYS90b29scy91c2IvZmZz
LWFpby1leGFtcGxlL3NpbXBsZS9kZXZpY2VfYXBwL2Fpb19zaW1wbGUuYw0KPiArKysgYi90b29s
cy91c2IvZmZzLWFpby1leGFtcGxlL3NpbXBsZS9kZXZpY2VfYXBwL2Fpb19zaW1wbGUuYw0KPiBA
QCAtMjM0LDE0ICsyMzQsMTcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCj4g
IAlzcHJpbnRmKGVwX3BhdGgsICIlcy9lcDAiLCBhcmd2WzFdKTsNCj4gIAllcDAgPSBvcGVuKGVw
X3BhdGgsIE9fUkRXUik7DQo+ICAJaWYgKGVwMCA8IDApIHsNCj4gKwkJZnJlZShlcF9wYXRoKTsN
Cj4gIAkJcGVycm9yKCJ1bmFibGUgdG8gb3BlbiBlcDAiKTsNCj4gIAkJcmV0dXJuIDE7DQo+ICAJ
fQ0KPiAgCWlmICh3cml0ZShlcDAsICZkZXNjcmlwdG9ycywgc2l6ZW9mKGRlc2NyaXB0b3JzKSkg
PCAwKSB7DQo+ICsJCWZyZWUoZXBfcGF0aCk7DQo+ICAJCXBlcnJvcigidW5hYmxlIGRvIHdyaXRl
IGRlc2NyaXB0b3JzIik7DQo+ICAJCXJldHVybiAxOw0KPiAgCX0NCj4gIAlpZiAod3JpdGUoZXAw
LCAmc3RyaW5ncywgc2l6ZW9mKHN0cmluZ3MpKSA8IDApIHsNCj4gKwkJZnJlZShlcF9wYXRoKTsN
Cj4gIAkJcGVycm9yKCJ1bmFibGUgdG8gd3JpdGUgc3RyaW5ncyIpOw0KPiAgCQlyZXR1cm4gMTsN
Cj4gIAl9DQo+IEBAIC0yNDksNiArMjUyLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFy
Z3ZbXSkNCj4gIAkJc3ByaW50ZihlcF9wYXRoLCAiJXMvZXAlZCIsIGFyZ3ZbMV0sIGkrMSk7DQo+
ICAJCWVwW2ldID0gb3BlbihlcF9wYXRoLCBPX1JEV1IpOw0KPiAgCQlpZiAoZXBbaV0gPCAwKSB7
DQo+ICsJCQlmcmVlKGVwX3BhdGgpOw0KPiAgCQkJcHJpbnRmKCJ1bmFibGUgdG8gb3BlbiBlcCVk
OiAlc1xuIiwgaSsxLA0KPiAgCQkJICAgICAgIHN0cmVycm9yKGVycm5vKSk7DQo+ICAJCQlyZXR1
cm4gMTsNCg0K
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1272058

FromRobert Baldyga <r.baldyga@samsung.com>
Date2015-11-18 10:50 +0100
Message-ID<qw7xg-17g-21@gated-at.bofh.it>
In reply to#1271860
Hi Wei,

On 11/18/2015 07:13 AM, Wei, Jiangang wrote:
> To whom it may concern:
> 
> Sorry to bother again,
> But any comment about this patch?
> 

Reviewed-by: Robert Baldyga <r.baldyga@samsung.com>

It looks good to me. By the way, maybe we should also close file
descriptors in error path?

Thanks,
Robert Baldyga

> On Mon, 2015-11-09 at 14:16 +0800, Wei Jiangang wrote:
>> Free buffer to avoid memory leak upon failure occurs.
>>
>> Signed-off-by: Wei Jiangang <weijg.fnst@cn.fujitsu.com>
>> ---
>>  tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c | 4 ++++
>>  tools/usb/ffs-aio-example/simple/device_app/aio_simple.c       | 4 ++++
>>  2 files changed, 8 insertions(+)
>>
>> diff --git a/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c b/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c
>> index aaca1f44e788..3eb1a92baacf 100644
>> --- a/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c
>> +++ b/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c
>> @@ -263,20 +263,24 @@ int main(int argc, char *argv[])
>>  	sprintf(ep_path, "%s/ep0", argv[1]);
>>  	ep0 = open(ep_path, O_RDWR);
>>  	if (ep0 < 0) {
>> +		free(ep_path);
>>  		perror("unable to open ep0");
>>  		return 1;
>>  	}
>>  	if (write(ep0, &descriptors, sizeof(descriptors)) < 0) {
>> +		free(ep_path);
>>  		perror("unable do write descriptors");
>>  		return 1;
>>  	}
>>  	if (write(ep0, &strings, sizeof(strings)) < 0) {
>> +		free(ep_path);
>>  		perror("unable to write strings");
>>  		return 1;
>>  	}
>>  	sprintf(ep_path, "%s/ep1", argv[1]);
>>  	ep1 = open(ep_path, O_RDWR);
>>  	if (ep1 < 0) {
>> +		free(ep_path);
>>  		perror("unable to open ep1");
>>  		return 1;
>>  	}
>> diff --git a/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c b/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
>> index 1f44a29818bf..ac96892ca5d2 100644
>> --- a/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
>> +++ b/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
>> @@ -234,14 +234,17 @@ int main(int argc, char *argv[])
>>  	sprintf(ep_path, "%s/ep0", argv[1]);
>>  	ep0 = open(ep_path, O_RDWR);
>>  	if (ep0 < 0) {
>> +		free(ep_path);
>>  		perror("unable to open ep0");
>>  		return 1;
>>  	}
>>  	if (write(ep0, &descriptors, sizeof(descriptors)) < 0) {
>> +		free(ep_path);
>>  		perror("unable do write descriptors");
>>  		return 1;
>>  	}
>>  	if (write(ep0, &strings, sizeof(strings)) < 0) {
>> +		free(ep_path);
>>  		perror("unable to write strings");
>>  		return 1;
>>  	}
>> @@ -249,6 +252,7 @@ int main(int argc, char *argv[])
>>  		sprintf(ep_path, "%s/ep%d", argv[1], i+1);
>>  		ep[i] = open(ep_path, O_RDWR);
>>  		if (ep[i] < 0) {
>> +			free(ep_path);
>>  			printf("unable to open ep%d: %s\n", i+1,
>>  			       strerror(errno));
>>  			return 1;
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1272958 — [PATCH v2] tools: ffs-aio-example: clean up upon failure

FromWei Jiangang <weijg.fnst@cn.fujitsu.com>
Date2015-11-19 10:30 +0100
Subject[PATCH v2] tools: ffs-aio-example: clean up upon failure
Message-ID<qwtHs-7r8-9@gated-at.bofh.it>
In reply to#1272058
Free buffer to avoid memory leak and close fd upon failure occurs.

Signed-off-by: Wei Jiangang <weijg.fnst@cn.fujitsu.com>
---
 tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c | 6 ++++++
 tools/usb/ffs-aio-example/simple/device_app/aio_simple.c       | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c b/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c
index aaca1f44e788..c08b1b0f7a6b 100644
--- a/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c
+++ b/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c
@@ -263,20 +263,26 @@ int main(int argc, char *argv[])
 	sprintf(ep_path, "%s/ep0", argv[1]);
 	ep0 = open(ep_path, O_RDWR);
 	if (ep0 < 0) {
+		free(ep_path);
 		perror("unable to open ep0");
 		return 1;
 	}
 	if (write(ep0, &descriptors, sizeof(descriptors)) < 0) {
+		close(ep0);
+		free(ep_path);
 		perror("unable do write descriptors");
 		return 1;
 	}
 	if (write(ep0, &strings, sizeof(strings)) < 0) {
+		close(ep0);
+		free(ep_path);
 		perror("unable to write strings");
 		return 1;
 	}
 	sprintf(ep_path, "%s/ep1", argv[1]);
 	ep1 = open(ep_path, O_RDWR);
 	if (ep1 < 0) {
+		free(ep_path);
 		perror("unable to open ep1");
 		return 1;
 	}
diff --git a/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c b/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
index 1f44a29818bf..9ff657ed0bec 100644
--- a/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
+++ b/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
@@ -234,14 +234,19 @@ int main(int argc, char *argv[])
 	sprintf(ep_path, "%s/ep0", argv[1]);
 	ep0 = open(ep_path, O_RDWR);
 	if (ep0 < 0) {
+		free(ep_path);
 		perror("unable to open ep0");
 		return 1;
 	}
 	if (write(ep0, &descriptors, sizeof(descriptors)) < 0) {
+		close(ep0);
+		free(ep_path);
 		perror("unable do write descriptors");
 		return 1;
 	}
 	if (write(ep0, &strings, sizeof(strings)) < 0) {
+		close(ep0);
+		free(ep_path);
 		perror("unable to write strings");
 		return 1;
 	}
@@ -249,6 +254,7 @@ int main(int argc, char *argv[])
 		sprintf(ep_path, "%s/ep%d", argv[1], i+1);
 		ep[i] = open(ep_path, O_RDWR);
 		if (ep[i] < 0) {
+			free(ep_path);
 			printf("unable to open ep%d: %s\n", i+1,
 			       strerror(errno));
 			return 1;
-- 
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1272963

From"Wei, Jiangang" <weijg.fnst@cn.fujitsu.com>
Date2015-11-19 10:40 +0100
Message-ID<qwtR9-7uw-23@gated-at.bofh.it>
In reply to#1272058
T24gV2VkLCAyMDE1LTExLTE4IGF0IDEwOjQ2ICswMTAwLCBSb2JlcnQgQmFsZHlnYSB3cm90ZToN
Cj4gSGkgV2VpLA0KPiANCj4gT24gMTEvMTgvMjAxNSAwNzoxMyBBTSwgV2VpLCBKaWFuZ2FuZyB3
cm90ZToNCj4gPiBUbyB3aG9tIGl0IG1heSBjb25jZXJu77yaDQo+ID4gDQo+ID4gU29ycnkgdG8g
Ym90aGVyIGFnYWluLA0KPiA+IEJ1dCBhbnkgY29tbWVudCBhYm91dCB0aGlzIHBhdGNo77yfDQo+
ID4gDQo+IA0KPiBSZXZpZXdlZC1ieTogUm9iZXJ0IEJhbGR5Z2EgPHIuYmFsZHlnYUBzYW1zdW5n
LmNvbT4NCj4gDQo+IEl0IGxvb2tzIGdvb2QgdG8gbWUuIEJ5IHRoZSB3YXksIG1heWJlIHdlIHNo
b3VsZCBhbHNvIGNsb3NlIGZpbGUNCj4gZGVzY3JpcHRvcnMgaW4gZXJyb3IgcGF0aD8NCg0KVGhh
bmtzIGZvciB5b3VyIGtpbmRuZXNzIGFuZCBjb21tZW50cywNCkkgdXBkYXRlIGl0IGFuZCBzZW5k
IHRoZSB2Mi4NCklmIHlvdSBoYXZlIGFueSBvdGhlciBhZHZpY2UsIFBsZWFzZSBsZXQgbWUga25v
dy4NCg0KVGhhbmtzLA0Kd2VpDQo+IA0KPiBUaGFua3MsDQo+IFJvYmVydCBCYWxkeWdhDQo+IA0K
PiA+IE9uIE1vbiwgMjAxNS0xMS0wOSBhdCAxNDoxNiArMDgwMCwgV2VpIEppYW5nYW5nIHdyb3Rl
Og0KPiA+PiBGcmVlIGJ1ZmZlciB0byBhdm9pZCBtZW1vcnkgbGVhayB1cG9uIGZhaWx1cmUgb2Nj
dXJzLg0KPiA+Pg0KPiA+PiBTaWduZWQtb2ZmLWJ5OiBXZWkgSmlhbmdhbmcgPHdlaWpnLmZuc3RA
Y24uZnVqaXRzdS5jb20+DQo+ID4+IC0tLQ0KPiA+PiAgdG9vbHMvdXNiL2Zmcy1haW8tZXhhbXBs
ZS9tdWx0aWJ1ZmYvZGV2aWNlX2FwcC9haW9fbXVsdGlidWZmLmMgfCA0ICsrKysNCj4gPj4gIHRv
b2xzL3VzYi9mZnMtYWlvLWV4YW1wbGUvc2ltcGxlL2RldmljZV9hcHAvYWlvX3NpbXBsZS5jICAg
ICAgIHwgNCArKysrDQo+ID4+ICAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQ0KPiA+
Pg0KPiA+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvdXNiL2Zmcy1haW8tZXhhbXBsZS9tdWx0aWJ1ZmYv
ZGV2aWNlX2FwcC9haW9fbXVsdGlidWZmLmMgYi90b29scy91c2IvZmZzLWFpby1leGFtcGxlL211
bHRpYnVmZi9kZXZpY2VfYXBwL2Fpb19tdWx0aWJ1ZmYuYw0KPiA+PiBpbmRleCBhYWNhMWY0NGU3
ODguLjNlYjFhOTJiYWFjZiAxMDA2NDQNCj4gPj4gLS0tIGEvdG9vbHMvdXNiL2Zmcy1haW8tZXhh
bXBsZS9tdWx0aWJ1ZmYvZGV2aWNlX2FwcC9haW9fbXVsdGlidWZmLmMNCj4gPj4gKysrIGIvdG9v
bHMvdXNiL2Zmcy1haW8tZXhhbXBsZS9tdWx0aWJ1ZmYvZGV2aWNlX2FwcC9haW9fbXVsdGlidWZm
LmMNCj4gPj4gQEAgLTI2MywyMCArMjYzLDI0IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICph
cmd2W10pDQo+ID4+ICAJc3ByaW50ZihlcF9wYXRoLCAiJXMvZXAwIiwgYXJndlsxXSk7DQo+ID4+
ICAJZXAwID0gb3BlbihlcF9wYXRoLCBPX1JEV1IpOw0KPiA+PiAgCWlmIChlcDAgPCAwKSB7DQo+
ID4+ICsJCWZyZWUoZXBfcGF0aCk7DQo+ID4+ICAJCXBlcnJvcigidW5hYmxlIHRvIG9wZW4gZXAw
Iik7DQo+ID4+ICAJCXJldHVybiAxOw0KPiA+PiAgCX0NCj4gPj4gIAlpZiAod3JpdGUoZXAwLCAm
ZGVzY3JpcHRvcnMsIHNpemVvZihkZXNjcmlwdG9ycykpIDwgMCkgew0KPiA+PiArCQlmcmVlKGVw
X3BhdGgpOw0KPiA+PiAgCQlwZXJyb3IoInVuYWJsZSBkbyB3cml0ZSBkZXNjcmlwdG9ycyIpOw0K
PiA+PiAgCQlyZXR1cm4gMTsNCj4gPj4gIAl9DQo+ID4+ICAJaWYgKHdyaXRlKGVwMCwgJnN0cmlu
Z3MsIHNpemVvZihzdHJpbmdzKSkgPCAwKSB7DQo+ID4+ICsJCWZyZWUoZXBfcGF0aCk7DQo+ID4+
ICAJCXBlcnJvcigidW5hYmxlIHRvIHdyaXRlIHN0cmluZ3MiKTsNCj4gPj4gIAkJcmV0dXJuIDE7
DQo+ID4+ICAJfQ0KPiA+PiAgCXNwcmludGYoZXBfcGF0aCwgIiVzL2VwMSIsIGFyZ3ZbMV0pOw0K
PiA+PiAgCWVwMSA9IG9wZW4oZXBfcGF0aCwgT19SRFdSKTsNCj4gPj4gIAlpZiAoZXAxIDwgMCkg
ew0KPiA+PiArCQlmcmVlKGVwX3BhdGgpOw0KPiA+PiAgCQlwZXJyb3IoInVuYWJsZSB0byBvcGVu
IGVwMSIpOw0KPiA+PiAgCQlyZXR1cm4gMTsNCj4gPj4gIAl9DQo+ID4+IGRpZmYgLS1naXQgYS90
b29scy91c2IvZmZzLWFpby1leGFtcGxlL3NpbXBsZS9kZXZpY2VfYXBwL2Fpb19zaW1wbGUuYyBi
L3Rvb2xzL3VzYi9mZnMtYWlvLWV4YW1wbGUvc2ltcGxlL2RldmljZV9hcHAvYWlvX3NpbXBsZS5j
DQo+ID4+IGluZGV4IDFmNDRhMjk4MThiZi4uYWM5Njg5MmNhNWQyIDEwMDY0NA0KPiA+PiAtLS0g
YS90b29scy91c2IvZmZzLWFpby1leGFtcGxlL3NpbXBsZS9kZXZpY2VfYXBwL2Fpb19zaW1wbGUu
Yw0KPiA+PiArKysgYi90b29scy91c2IvZmZzLWFpby1leGFtcGxlL3NpbXBsZS9kZXZpY2VfYXBw
L2Fpb19zaW1wbGUuYw0KPiA+PiBAQCAtMjM0LDE0ICsyMzQsMTcgQEAgaW50IG1haW4oaW50IGFy
Z2MsIGNoYXIgKmFyZ3ZbXSkNCj4gPj4gIAlzcHJpbnRmKGVwX3BhdGgsICIlcy9lcDAiLCBhcmd2
WzFdKTsNCj4gPj4gIAllcDAgPSBvcGVuKGVwX3BhdGgsIE9fUkRXUik7DQo+ID4+ICAJaWYgKGVw
MCA8IDApIHsNCj4gPj4gKwkJZnJlZShlcF9wYXRoKTsNCj4gPj4gIAkJcGVycm9yKCJ1bmFibGUg
dG8gb3BlbiBlcDAiKTsNCj4gPj4gIAkJcmV0dXJuIDE7DQo+ID4+ICAJfQ0KPiA+PiAgCWlmICh3
cml0ZShlcDAsICZkZXNjcmlwdG9ycywgc2l6ZW9mKGRlc2NyaXB0b3JzKSkgPCAwKSB7DQo+ID4+
ICsJCWZyZWUoZXBfcGF0aCk7DQo+ID4+ICAJCXBlcnJvcigidW5hYmxlIGRvIHdyaXRlIGRlc2Ny
aXB0b3JzIik7DQo+ID4+ICAJCXJldHVybiAxOw0KPiA+PiAgCX0NCj4gPj4gIAlpZiAod3JpdGUo
ZXAwLCAmc3RyaW5ncywgc2l6ZW9mKHN0cmluZ3MpKSA8IDApIHsNCj4gPj4gKwkJZnJlZShlcF9w
YXRoKTsNCj4gPj4gIAkJcGVycm9yKCJ1bmFibGUgdG8gd3JpdGUgc3RyaW5ncyIpOw0KPiA+PiAg
CQlyZXR1cm4gMTsNCj4gPj4gIAl9DQo+ID4+IEBAIC0yNDksNiArMjUyLDcgQEAgaW50IG1haW4o
aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCj4gPj4gIAkJc3ByaW50ZihlcF9wYXRoLCAiJXMvZXAl
ZCIsIGFyZ3ZbMV0sIGkrMSk7DQo+ID4+ICAJCWVwW2ldID0gb3BlbihlcF9wYXRoLCBPX1JEV1Ip
Ow0KPiA+PiAgCQlpZiAoZXBbaV0gPCAwKSB7DQo+ID4+ICsJCQlmcmVlKGVwX3BhdGgpOw0KPiA+
PiAgCQkJcHJpbnRmKCJ1bmFibGUgdG8gb3BlbiBlcCVkOiAlc1xuIiwgaSsxLA0KPiA+PiAgCQkJ
ICAgICAgIHN0cmVycm9yKGVycm5vKSk7DQo+ID4+ICAJCQlyZXR1cm4gMTsNCj4gPiANCj4gDQoN
Cg==
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web