Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3795926pxv; Mon, 19 Jul 2021 08:57:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyha7Hshuk/uFvfBosRXI1G/t4DhbfG7B9SVPEt/vKlCMmBItj0ZtTMwMNSLV1V9dfPJX67 X-Received: by 2002:a05:6602:3155:: with SMTP id m21mr19153520ioy.145.1626710262280; Mon, 19 Jul 2021 08:57:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626710262; cv=none; d=google.com; s=arc-20160816; b=cCBNY90ymBroM6Z+z+DQUJsP5ygYBXMA4zNovc8ddlRO6URRYDVPY4Og6t+J4vM5Gi Tclwz+VJj1iH9S46L2p9pPycxSIeB6vrxVqWtulXFXKJKJJpj2ribH8dvabBuZDTZT2i OG9I3W8ocdnF04utjZ2bxMdoBQtF79TDvXqtRr/1cVz7Xv+FCajyLmsMpgdR8L0U+/41 LMmRc2FXzH5X2YJJ9XztAQMSvGtSOJHaWfNHAwKJPG9Feol21B9eIXLXDR00j2NJhGNI zBdftcoJb6qggaMZabnXpRi6LYn6uY3rB+s8GkDhOQ/9VyvCFpmTVUNQX29eXWtWHbrv F0CA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=8vqrrAkK7seQfFD8UeUtVsIpRk+WEnrZhzdVa61FX68=; b=Ig90JBKw7+GL6ZIvEpxT7dhTObKF/bPd5e2wE2u9bsv8NztxoJCRXV86FEQKKkX5ED 9FMuaetisMN7GPIA39VXJfY9bpRzMdNE6azqo2WCsrBE/n2EsXj30kdiE98A5pAoAD9C WFUiw1ADqhrw9m841kyPjKPWA+cGP5xKTmz2fpu/U9v6H4NQrw7QFb1lHXzvb/Xu7luz 2cvx6kcWpVduVUSMkdftkaq1rax4QbyOJIn2H+jPM/hWxCPjQ/UrrjdPhvYYxCiIqhVE uz5TagngL+Z2lEYLdHBiP6/Xs2lL5VQS8BWKAVmIX8t/uzJsu2aAIAvJz6k1f9zrOHRy 9GUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=KwSxR5p0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x6si11405862ilv.59.2021.07.19.08.57.30; Mon, 19 Jul 2021 08:57:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=KwSxR5p0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345904AbhGSPOL (ORCPT + 99 others); Mon, 19 Jul 2021 11:14:11 -0400 Received: from mail.kernel.org ([198.145.29.99]:40442 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344207AbhGSOsm (ORCPT ); Mon, 19 Jul 2021 10:48:42 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2445161403; Mon, 19 Jul 2021 15:26:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626708416; bh=alClgonaliYo7bbQrEoXPOwyF03/KVXnqZEw2BqJkKM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KwSxR5p0gLZq3IQdw7JmMR9nElBfMwJNCDn74FMSIt80m/uMgPioQHBMjpgQGlsQK laML7Dr1hOBDh9dsNBWjPGrGsPrTeREggUz8Nn9pk15/2xKvkqrOMPtrMPcJcIaDMO bwWu0eMcyKgE27FRESWiVNxzBxcC/pUbca1QJm/E= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dan Carpenter , Alexandre Belloni , Sasha Levin Subject: [PATCH 4.14 303/315] rtc: fix snprintf() checking in is_rtc_hctosys() Date: Mon, 19 Jul 2021 16:53:12 +0200 Message-Id: <20210719144953.430307490@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144942.861561397@linuxfoundation.org> References: <20210719144942.861561397@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dan Carpenter [ Upstream commit 54b909436ede47e0ee07f1765da27ec2efa41e84 ] The scnprintf() function silently truncates the printf() and returns the number bytes that it was able to copy (not counting the NUL terminator). Thus, the highest value it can return here is "NAME_SIZE - 1" and the overflow check is dead code. Fix this by using the snprintf() function which returns the number of bytes that would have been copied if there was enough space and changing the condition from "> NAME_SIZE" to ">= NAME_SIZE". Fixes: 92589c986b33 ("rtc-proc: permit the /proc/driver/rtc device to use other devices") Signed-off-by: Dan Carpenter Signed-off-by: Alexandre Belloni Link: https://lore.kernel.org/r/YJov/pcGmhLi2pEl@mwanda Signed-off-by: Sasha Levin --- drivers/rtc/rtc-proc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/rtc/rtc-proc.c b/drivers/rtc/rtc-proc.c index 31e7e23cc5be..9396b69f75e8 100644 --- a/drivers/rtc/rtc-proc.c +++ b/drivers/rtc/rtc-proc.c @@ -26,8 +26,8 @@ static bool is_rtc_hctosys(struct rtc_device *rtc) int size; char name[NAME_SIZE]; - size = scnprintf(name, NAME_SIZE, "rtc%d", rtc->id); - if (size > NAME_SIZE) + size = snprintf(name, NAME_SIZE, "rtc%d", rtc->id); + if (size >= NAME_SIZE) return false; return !strncmp(name, CONFIG_RTC_HCTOSYS_DEVICE, NAME_SIZE); -- 2.30.2