Skip to contentSkip to conversation

nfsd: Fix memleak.

PATCH In review majianpeng 2 participants 2 messages Jan 29, 2013

Subsystems (2)
lore
Share & tools
lore

majianpeng

author
#0 lore raw

PATCH 1/2 nfsd: Fix memleak.

SW4gZnVuYyBzdmNfZXhwb3J0X3BhcnNlLHRoZSB1dWlkIHdoaWNoIHVzZWQga21lbWR1cCB0byBh bGxvYyB3aWxsIGJlDQpjaGFuZ2VkIGluIGZ1bmMgZXhwb3J0X3VwZGF0ZS5TbyB0aGUgbGF0ZXIg a2ZyZWUgZG9uJ3QgZnJlZSB0aGlzIG1lbW9yeS4NCkFuZCBpdCBjYW4ndCBiZSBmcmVlIGluIGZ1 bmMgc3ZjX2V4cG9ydF9wYXJzZSBiZWNhdXNlIG90aGVyIHBsYWNlIHN0aWxsDQp1c2VkLlNvIHB1 dCB0aGlzIG9wZXJhdGlvbiBpbiBmdW5jIHN2Y19leHBvcnRfcHV0Lg0KDQpTaWduZWQtb2ZmLWJ5 OiBKaWFucGVuZyBNYSA8bWFqaWFucGVuZ0BnbWFpbC5jb20+DQotLS0NCiBmcy9uZnNkL2V4cG9y dC5jIHwgICAgMSArDQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspDQoNCmRpZmYgLS1n aXQgYS9mcy9uZnNkL2V4cG9ydC5jIGIvZnMvbmZzZC9leHBvcnQuYw0KaW5kZXggYTM5NDZjZi4u NDUxNTllZSAxMDA2NDQNCi0tLSBhL2ZzL25mc2QvZXhwb3J0LmMNCisrKyBiL2ZzL25mc2QvZXhw b3J0LmMNCkBAIC0zMTUsNiArMzE1LDcgQEAgc3RhdGljIHZvaWQgc3ZjX2V4cG9ydF9wdXQoc3Ry dWN0IGtyZWYgKnJlZikNCiAJcGF0aF9wdXQoJmV4cC0+ZXhfcGF0aCk7DQogCWF1dGhfZG9tYWlu X3B1dChleHAtPmV4X2NsaWVudCk7DQogCW5mc2Q0X2ZzbG9jc19mcmVlKCZleHAtPmV4X2ZzbG9j cyk7DQorCWtmcmVlKGV4cC0+ZXhfdXVpZCk7DQogCWtmcmVlKGV4cCk7DQogfQ0KIA0KLS0gDQox LjcuOS41DQo=

#1 lore raw
Quoted 4 lines · majianpeng

In func svc_export_parse,the uuid which used kmemdup to alloc will be changed in func export_update.So the later kfree don't free this memory. And it can't be free in func svc_export_parse because other place still used.So put this operation in func svc_export_put.

Applying, thanks.--b.

Quoted 20 lines
---
 fs/nfsd/export.c |    1 +
 1 file changed, 1 insertion(+)
fs/nfsd/export.c +1 -0
index a3946cf..45159ee 100644
@@ -315,6 +315,7 @@ static void svc_export_put(struct kref *ref)
 	path_put(&exp->ex_path);
 	auth_domain_put(exp->ex_client);
 	nfsd4_fslocs_free(&exp->ex_fslocs);
+	kfree(exp->ex_uuid);
 	kfree(exp);
 }
 
Signature · 1 line
1.7.9.5