Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1450797
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 07/12] staging: lustre: Less checks after a failed alloc_page() in mgc_process_recover_log() |
| Date | 2016-07-26 21:10 +0200 |
| Message-ID | <rZfTP-5XI-9@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <qFfce-yf-5@gated-at.bofh.it> <qIe0h-220-1@gated-at.bofh.it> <qIe9X-25k-7@gated-at.bofh.it> <qIinh-4Eb-35@gated-at.bofh.it> <rZfK9-5Fs-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Tue, 26 Jul 2016 17:12:51 +0200
Release memory directly after a page allocation failed at the beginning.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
drivers/staging/lustre/lustre/mgc/mgc_request.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/staging/lustre/lustre/mgc/mgc_request.c b/drivers/staging/lustre/lustre/mgc/mgc_request.c
index d716bb2..b064bd3 100644
--- a/drivers/staging/lustre/lustre/mgc/mgc_request.c
+++ b/drivers/staging/lustre/lustre/mgc/mgc_request.c
@@ -1346,7 +1346,7 @@ static int mgc_process_recover_log(struct obd_device *obd,
pages[i] = alloc_page(GFP_KERNEL);
if (!pages[i]) {
rc = -ENOMEM;
- goto out;
+ goto free_pages;
}
}
@@ -1461,14 +1461,13 @@ out:
if (rc == 0 && !eof)
goto again;
- if (pages) {
- for (i = 0; i < nrpages; i++) {
- if (!pages[i])
- break;
- __free_page(pages[i]);
- }
- kfree(pages);
+free_pages:
+ for (i = 0; i < nrpages; i++) {
+ if (!pages[i])
+ break;
+ __free_page(pages[i]);
}
+ kfree(pages);
return rc;
}
--
2.9.2
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 00/12] staging-Lustre: Fine-tuning for seven function implementations SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:00 +0200
[PATCH 01/12] staging/lustre/ldlm: Delete unnecessary checks before the function call "kset_unregister" SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:00 +0200
[PATCH 04/12] staging: lustre: Split a condition check in class_register_type() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:10 +0200
[PATCH 06/12] staging: lustre: Return directly after a failed kcalloc() in mgc_process_recover_log() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:10 +0200
[PATCH 02/12] staging: lustre: Delete unnecessary checks before the function call "kobject_put" SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:10 +0200
[PATCH 07/12] staging: lustre: Less checks after a failed alloc_page() in mgc_process_recover_log() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:10 +0200
[PATCH 08/12] staging: lustre: Less checks after a failed ptlrpc_request_alloc() in mgc_process_recover_log() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:10 +0200
[PATCH 05/12] staging: lustre: Optimize error handling in class_register_type() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:10 +0200
Re: [PATCH 05/12] staging: lustre: Optimize error handling in class_register_type() Oleg Drokin <oleg.drokin@intel.com> - 2016-07-26 21:20 +0200
Re: [lustre-devel] [PATCH 05/12] staging: lustre: Optimize error handling in class_register_type() Oleg Drokin <oleg.drokin@intel.com> - 2016-07-26 21:20 +0200
Re: staging: lustre: Optimize error handling in class_register_type() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 22:20 +0200
Re: [PATCH 03/12] staging: lustre: One function call less in class_register_type() after error detection Oleg Drokin <oleg.drokin@intel.com> - 2016-07-26 21:10 +0200
Re: staging: lustre: One function call less in class_register_type() after error detection SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 22:00 +0200
Re: staging: lustre: One function call less in class_register_type() after error detection Oleg Drokin <oleg.drokin@intel.com> - 2016-07-27 00:00 +0200
Re: staging: lustre: One function call less in class_register_type() after error detection SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-28 08:00 +0200
Re: [lustre-devel] staging: lustre: One function call less in class_register_type() after error detection Oleg Drokin <oleg.drokin@intel.com> - 2016-07-29 17:30 +0200
Re: [lustre-devel] staging: lustre: One function call less in class_register_type() after error detection SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-30 08:30 +0200
[PATCH 03/12] staging: lustre: One function call less in class_register_type() after error detection SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:10 +0200
[PATCH 12/12] staging: lustre: Delete an unnecessary variable initialisation in mgc_process_recover_log() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:20 +0200
[PATCH 11/12] staging: lustre: Move an assignment for the variable "eof" in mgc_process_recover_log() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:20 +0200
[PATCH 10/12] staging: lustre: Rename jump labels in mgc_process_recover_log() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:20 +0200
[PATCH 09/12] staging: lustre: Delete a check for the variable "req" in mgc_process_recover_log() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-07-26 21:20 +0200
csiph-web