From: SF Markus Elfring <elfring@users.sourceforge.net>
To: ceph-devel@vger.kernel.org, Alex Elder <elder@kernel.org>,
Ilya Dryomov <idryomov@gmail.com>, Sage Weil <sage@redhat.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
kernel-janitors@vger.kernel.org,
Julia Lawall <julia.lawall@lip6.fr>
Subject: [PATCH 02/47] block-rbd: Less function calls in rbd_header_from_disk() after error detection
Date: Mon, 12 Sep 2016 20:43:46 +0200 [thread overview]
Message-ID: <cbebe916-a45d-f06f-0bd2-820b0c28c949@users.sourceforge.net> (raw)
In-Reply-To: <57806eb1-10ed-582e-72d0-2975e1ee967a@users.sourceforge.net>
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sun, 11 Sep 2016 13:18:57 +0200
The functions "ceph_put_snap_context" and "kfree" were called in a few
cases by the function "rbd_header_from_disk" during error handling
even if the passed variables contained a null pointer.
Adjust jump targets according to the Linux coding style convention.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
drivers/block/rbd.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index e406c27..f4212e1 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -1001,7 +1001,7 @@ static int rbd_header_from_disk(struct rbd_device *rbd_dev,
snap_count = le32_to_cpu(ondisk->snap_count);
snapc = ceph_create_snap_context(snap_count, GFP_KERNEL);
if (!snapc)
- goto out_err;
+ goto free_prefix;
snapc->seq = le64_to_cpu(ondisk->snap_seq);
if (snap_count) {
struct rbd_image_snap_ondisk *snaps;
@@ -1013,14 +1013,14 @@ static int rbd_header_from_disk(struct rbd_device *rbd_dev,
goto out_2big;
snap_names = kmalloc(snap_names_len, GFP_KERNEL);
if (!snap_names)
- goto out_err;
+ goto put_snap_context;
/* ...as well as the array of their sizes. */
snap_sizes = kmalloc_array(snap_count,
sizeof(*header->snap_sizes),
GFP_KERNEL);
if (!snap_sizes)
- goto out_err;
+ goto free_names;
/*
* Copy the names, and fill in each snapshot's id
@@ -1066,10 +1066,12 @@ static int rbd_header_from_disk(struct rbd_device *rbd_dev,
return 0;
out_2big:
ret = -EIO;
-out_err:
kfree(snap_sizes);
+ free_names:
kfree(snap_names);
+ put_snap_context:
ceph_put_snap_context(snapc);
+ free_prefix:
kfree(object_prefix);
return ret;
--
2.10.0
next prev parent reply other threads:[~2016-09-12 18:43 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <566ABCD9.1060404@users.sourceforge.net>
2016-09-12 18:40 ` [PATCH 00/47] RADOS Block Device: Fine-tuning for several function implementations SF Markus Elfring
2016-09-12 18:42 ` [PATCH 01/47] block-rbd: Use kmalloc_array() in rbd_header_from_disk() SF Markus Elfring
2016-09-14 15:25 ` Ilya Dryomov
2016-09-12 18:43 ` SF Markus Elfring [this message]
2016-09-13 7:58 ` [PATCH 02/47] block-rbd: Less function calls in rbd_header_from_disk() after error detection Ilya Dryomov
2016-09-12 18:44 ` [PATCH 03/47] block-rbd: Adjust the position of a jump label in rbd_header_from_disk() SF Markus Elfring
2016-09-13 8:01 ` Ilya Dryomov
2016-09-13 8:12 ` SF Markus Elfring
2016-09-13 9:16 ` Ilya Dryomov
2016-09-13 14:36 ` Jean Delvare
2016-09-13 15:30 ` Ilya Dryomov
2016-09-13 16:50 ` Jean Delvare
2016-09-13 18:31 ` Ilya Dryomov
2016-09-19 9:37 ` Jean Delvare
2016-09-12 18:45 ` [PATCH 04/47] block-rbd: Refactor two calls for memory allocations in rbd_dev_image_id() SF Markus Elfring
2016-09-13 8:03 ` Ilya Dryomov
2016-09-13 8:36 ` SF Markus Elfring
2016-09-12 18:46 ` [PATCH 05/47] block-rbd: One function call less in rbd_dev_image_id() after error detection SF Markus Elfring
2016-09-12 18:46 ` [PATCH 00/47] RADOS Block Device: Fine-tuning for several function implementations Joe Perches
2016-09-12 18:47 ` [PATCH 06/47] block-rbd: Rename jump labels in rbd_add_parse_args() SF Markus Elfring
2016-09-13 8:05 ` Ilya Dryomov
2016-09-12 18:48 ` [PATCH 07/47] block-rbd: Rename a jump label in rbd_dev_v2_snap_name() SF Markus Elfring
2016-09-12 18:49 ` [PATCH 08/47] block-rbd: Rename jump labels in rbd_dev_v2_snap_context() SF Markus Elfring
2016-09-12 18:50 ` [PATCH 09/47] block-rbd: Rename a jump label in rbd_spec_fill_names() SF Markus Elfring
2016-09-12 18:51 ` [PATCH 10/47] block-rbd: One function call less in rbd_dev_image_name() after error detection SF Markus Elfring
2016-09-12 18:54 ` [PATCH 11/47] block-rbd: Delete three unnecessary initialisations in rbd_dev_image_name() SF Markus Elfring
2016-09-12 18:57 ` [PATCH 12/47] block-rbd: One function call less in rbd_dev_v2_parent_info() after error detection SF Markus Elfring
2016-09-12 18:58 ` [PATCH 13/47] block-rbd: Delete an unnecessary initialisation in rbd_dev_v2_parent_info() SF Markus Elfring
2016-09-12 18:59 ` [PATCH 14/47] block-rbd: Rename a jump label in rbd_dev_v2_object_prefix() SF Markus Elfring
2016-09-12 19:00 ` [PATCH 15/47] block-rbd: Rename jump labels in rbd_dev_create() SF Markus Elfring
2016-09-13 8:07 ` Ilya Dryomov
2016-09-12 19:01 ` [PATCH 16/47] block-rbd: Rename jump labels in rbd_dev_v1_header_info() SF Markus Elfring
2016-09-12 19:03 ` [PATCH 17/47] block-rbd: Rename jump labels in rbd_init_disk() SF Markus Elfring
2016-09-12 19:04 ` [PATCH 18/47] block-rbd: Fix jump targets in rbd_queue_workfn() SF Markus Elfring
2016-09-12 19:05 ` [PATCH 19/47] block-rbd: Rename a jump label in rbd_reregister_watch() SF Markus Elfring
2016-09-12 19:06 ` [PATCH 20/47] block-rbd: Rename a jump label in rbd_register_watch() SF Markus Elfring
2016-09-12 19:07 ` [PATCH 21/47] block-rbd: Rename jump labels in rbd_try_lock() SF Markus Elfring
2016-09-12 19:08 ` [PATCH 22/47] block-rbd: Rename a jump label in find_watcher() SF Markus Elfring
2016-09-12 19:09 ` [PATCH 23/47] block-rbd: Rename jump labels in get_lock_owner_info() SF Markus Elfring
2016-09-12 19:10 ` [PATCH 24/47] block-rbd: Rename jump labels in rbd_request_lock() SF Markus Elfring
2016-09-12 19:11 ` [PATCH 25/47] block-rbd: Fix jump targets in rbd_img_parent_read() SF Markus Elfring
2016-09-12 19:12 ` [PATCH 26/47] block-rbd: Rename a jump label in rbd_img_parent_read_callback() SF Markus Elfring
2016-09-12 19:13 ` [PATCH 27/47] block-rbd: Rename a jump label in rbd_img_request_submit() SF Markus Elfring
2016-09-12 19:14 ` [PATCH 28/47] block-rbd: Refactor a jump target in rbd_img_obj_exists_submit() SF Markus Elfring
2016-09-13 8:10 ` Ilya Dryomov
2016-09-12 19:15 ` [PATCH 29/47] block-rbd: Delete an unnecessary initialisation " SF Markus Elfring
2016-09-12 19:16 ` [PATCH 30/47] block-rbd: Refactor a jump target in rbd_img_obj_exists_callback() SF Markus Elfring
2016-09-12 19:18 ` [PATCH 31/47] block-rbd: Fix three jump targets in rbd_img_obj_parent_read_full() SF Markus Elfring
2016-09-12 19:20 ` [PATCH 32/47] block-rbd: Rename a jump label in rbd_img_obj_parent_read_full_callback() SF Markus Elfring
2016-09-12 19:22 ` [PATCH 33/47] block-rbd: Adjust the position of a jump label in rbd_img_request_fill() SF Markus Elfring
2016-09-12 19:23 ` [PATCH 34/47] block-rbd: Rename a jump label in rbd_img_obj_callback() SF Markus Elfring
2016-09-12 19:24 ` [PATCH 35/47] block-rbd: Rename jump labels in rbd_osd_req_create_copyup() SF Markus Elfring
2016-09-12 19:25 ` [PATCH 36/47] block-rbd: Rename jump labels in rbd_osd_req_create() SF Markus Elfring
2016-09-12 19:26 ` [PATCH 37/47] block-rbd: Rename a jump label in bio_chain_clone_range() SF Markus Elfring
2016-09-12 19:27 ` [PATCH 38/47] block-rbd: Rename jump labels in rbd_client_create() SF Markus Elfring
2016-09-12 19:28 ` [PATCH 39/47] block-rbd: Rename a jump label in rbd_ioctl_set_ro() SF Markus Elfring
2016-09-12 19:29 ` [PATCH 40/47] block-rbd: One function call less in rbd_dev_probe_parent() after error detection SF Markus Elfring
2016-09-12 19:30 ` [PATCH 41/47] block-rbd: Rename jump labels in rbd_dev_device_setup() SF Markus Elfring
2016-09-12 19:31 ` [PATCH 42/47] block-rbd: Rename jump labels in rbd_dev_image_probe() SF Markus Elfring
2016-09-12 19:32 ` [PATCH 43/47] block-rbd: Rename jump labels in do_rbd_add() SF Markus Elfring
2016-09-12 19:33 ` [PATCH 44/47] block-rbd: Delete an unnecessary initialisation " SF Markus Elfring
2016-09-12 19:34 ` [PATCH 45/47] block-rbd: Rename a jump label in rbd_slab_init() SF Markus Elfring
2016-09-12 19:35 ` [PATCH 46/47] block-rbd: Rename jump labels in rbd_init() SF Markus Elfring
2016-09-12 19:36 ` [PATCH 47/47] block-rbd: Delete unwanted spaces behind usages of the sizeof operator SF Markus Elfring
2017-08-13 19:10 ` [PATCH 00/47] RADOS Block Device: Fine-tuning for several function implementations SF Markus Elfring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cbebe916-a45d-f06f-0bd2-820b0c28c949@users.sourceforge.net \
--to=elfring@users.sourceforge.net \
--cc=ceph-devel@vger.kernel.org \
--cc=elder@kernel.org \
--cc=idryomov@gmail.com \
--cc=julia.lawall@lip6.fr \
--cc=kernel-janitors@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sage@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox