From: NeilBrown Date: Fri, 16 Oct 2015 02:48:35 +0000 (+1100) Subject: md-cluster: metadata_update_finish: consistently use cmsg.raid_slot as le32 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=ba2746b0facf83c62bebf8aed8f0a3fd446de612;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git md-cluster: metadata_update_finish: consistently use cmsg.raid_slot as le32 As cmsg.raid_slot is le32, comparing for >0 is not meaningful. So introduce cpu-endian 'raid_slot' and only assign to cmsg.raid_slot when we know value is valid. Reported-by: kbuild test robot Signed-off-by: NeilBrown --- diff --git a/drivers/md/md-cluster.c b/drivers/md/md-cluster.c index 35ac2e8cb7f1..aad5e7cda523 100644 --- a/drivers/md/md-cluster.c +++ b/drivers/md/md-cluster.c @@ -847,20 +847,21 @@ static int metadata_update_finish(struct mddev *mddev) struct cluster_msg cmsg; struct md_rdev *rdev; int ret = 0; + int raid_slot = -1; memset(&cmsg, 0, sizeof(cmsg)); cmsg.type = cpu_to_le32(METADATA_UPDATED); - cmsg.raid_slot = -1; /* Pick up a good active device number to send. */ rdev_for_each(rdev, mddev) if (rdev->raid_disk > -1 && !test_bit(Faulty, &rdev->flags)) { - cmsg.raid_slot = cpu_to_le32(rdev->desc_nr); + raid_slot = rdev->desc_nr; break; } - if (cmsg.raid_slot >= 0) + if (raid_slot >= 0) { + cmsg.raid_slot = cpu_to_le32(raid_slot); ret = __sendmsg(cinfo, &cmsg); - else + } else pr_warn("md-cluster: No good device id found to send\n"); unlock_comm(cinfo); return ret;