Received: by 2002:a25:5b86:0:0:0:0:0 with SMTP id p128csp2110889ybb; Fri, 29 Mar 2019 19:31:08 -0700 (PDT) X-Google-Smtp-Source: APXvYqychimwmgRFbCkoDcnVuU8xedHWKpkVggevsNXE+cH1cT0ubE4JElA7XVsZoCztLsHBjWwp X-Received: by 2002:a17:902:7084:: with SMTP id z4mr51932773plk.305.1553913067973; Fri, 29 Mar 2019 19:31:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553913067; cv=none; d=google.com; s=arc-20160816; b=mZBUiMuII1cvqLWTwy8PDDyF9ItAHI0eb0dfiRPDNkGwzKTx95lYgD7MdKKvMdXMMo 8vJtLSAwhg5IcMuqVuWGhdN9jKuhHkfIFlDmAstuqhiCs7h944nORtf2LFcm5yvjCuqg MJsNZoPODVyNCPGSmvKgUy9bJgZzJLETyMujznNaUxqGQHpIreLxijweK+SjQjkx8grt Q0nwQ944qCUWwwwc27LUQEbw1ELeNzqlCXuKz5qQIx7oK+JjWJMPdbT9kQ0/E/3J3JxZ TfoXZvf2F/1z1ronyT/yXW3VjfhIZHIcgidK4U60M4xuSQ56maDn8Sb1S07dt+QFzrHx HOyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=umGVASIOKhxRupBsPb02ipasIhdqbriSm4j9byq9B1U=; b=UMaWnWpePRPBln5AfkZCqQC9Ob4GdNrnwxM4W5Ms5uawIxzkoz8cLnpnjfzYZLIOBH febP1badrXO5lZFmnY1XP+mDs/lsb/9kVU7wSU92WlUFesdcpkFV/c4z45YC1vDaKa+n 8SQrAR0Ry6peqtefoZBsTn15tFViKgJ2NzoHp0W6UqROjENj/sfM3Fj0J0/YcmFTCiSN Z93iDEIgpAuIB0twFZXiNAE601ZPvW+FwyIv0QSMJujXfeZNyZrJruB66+XEUq5d6dF2 5HN3ir68IsNKihSpdnUxFYUIB29Zc4eIk+0SOcHQrBj7YUe41JUUyqBTTyGn49I1pyNe a5Gw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q3si3485044pfc.151.2019.03.29.19.30.52; Fri, 29 Mar 2019 19:31:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730437AbfC3C2l (ORCPT + 99 others); Fri, 29 Mar 2019 22:28:41 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:5645 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730213AbfC3C2k (ORCPT ); Fri, 29 Mar 2019 22:28:40 -0400 Received: from DGGEMS401-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id C4B3D4DE79F4DFFA0C29; Sat, 30 Mar 2019 10:28:38 +0800 (CST) Received: from use12-sp2.huawei.com (10.67.189.174) by DGGEMS401-HUB.china.huawei.com (10.3.19.201) with Microsoft SMTP Server id 14.3.408.0; Sat, 30 Mar 2019 10:28:29 +0800 From: nixiaoming To: , , , , , CC: , Subject: [PATCH v2 1/2] clk:Fix divide-by-zero in divider_ro_round_rate_parent Date: Sat, 30 Mar 2019 10:31:25 +0800 Message-ID: <1553913085-51237-1-git-send-email-nixiaoming@huawei.com> X-Mailer: git-send-email 1.8.5.6 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.189.174] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In the function divider_recalc_rate() The judgment of the return value of _get_div() indicates that the return value of _get_div() may be 0. In order to avoid the divide-by-zero error, add check the return value of _get_div() in the divider_ro_round_rate_parent() Signed-off-by: nixiaoming --- drivers/clk/clk-divider.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c index e5a1726..f4bf7a4 100644 --- a/drivers/clk/clk-divider.c +++ b/drivers/clk/clk-divider.c @@ -347,6 +347,9 @@ long divider_ro_round_rate_parent(struct clk_hw *hw, struct clk_hw *parent, int div; div = _get_div(table, val, flags, width); + /* avoid divide-by-zero */ + if (!div) + return -EINVAL; /* Even a read-only clock can propagate a rate change */ if (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT) { -- 1.8.5.6