Received: by 2002:a05:6358:5282:b0:b5:90e7:25cb with SMTP id g2csp3415318rwa; Tue, 23 Aug 2022 04:31:26 -0700 (PDT) X-Google-Smtp-Source: AA6agR7FgGvdLs8szvWVFmfdo2zLhKBAiwZuMkdtqMhsov9diwg3FzwMNJl79JYveXOo7KBOxohW X-Received: by 2002:a17:90b:1a81:b0:1f4:f9ff:9028 with SMTP id ng1-20020a17090b1a8100b001f4f9ff9028mr3014194pjb.44.1661254197041; Tue, 23 Aug 2022 04:29:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661254197; cv=none; d=google.com; s=arc-20160816; b=TvbODoNJNa3J3mF1xi5v6Er9CyNtHNp8Ur7suWa0e+ZP8BmWMkMWUPDqwoAT+isWV7 G+sJwV5SoTH0iYnVfVW1z+nGY2GtTxygn4u3ql5Px/hJ9I0Jo1GCxy+blYEWreTz24FD frOPRcye1RXHx2mPV6UtgwihHLakP/imeaSJH0MOBwuxHITn0pRCmyMhmr5E+xhkMecp EAqU7dNhYjsz6uoEfN2Uc6tjJWdz1Y27ryS0QkfvavDThRGtknKXofpKHgNoiCzoktOx YA608DcfqiBQd0f1lD2AGq3x42ZnsnY11eCEkywJRfVOhtwxOZIAOWrbFE/0NT2+QpzV sZxA== 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=sZbWwtphPJS6C5BKDHCRQrMoQaMAoI6F+n8IJSj9q4E=; b=XlLyxD4RXSPzsEOql1NCfw3sMdDcbPQqt+gr7+W0CHl461CZQpN11+jilF0vPn0xLo rv2yBh2FKfO/a7ARAGqwI64qQipes9XLIViZZyT9LKFK49GSOYKIpN34SndN+i8Clix7 2/8zS6qgpqyo6ysQg9UGN/vF7Zl1QIKMx3bTJwcP5QQGpOasxMTKJgXn5W8ty0HUa1Gb IuXhoyRecE4Y4ecZKh+dsE99wAV3PM9OM/mItKdoml9mJnd28k+kGhp38xcjp98+cPxM QFLBH2Dw4B6tyjJdUuR8KnWsYKYuSbcqUIKgfMeEgRQnbZWJRF/KTWN829J3kt/OMiCx Hw5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=vqu5CRm0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f3-20020aa78b03000000b00535fd435cf6si12624782pfd.208.2022.08.23.04.29.45; Tue, 23 Aug 2022 04:29:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=vqu5CRm0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S1356420AbiHWLDG (ORCPT + 99 others); Tue, 23 Aug 2022 07:03:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1357196AbiHWLBi (ORCPT ); Tue, 23 Aug 2022 07:01:38 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B36BAF0E0; Tue, 23 Aug 2022 02:14:21 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 39548B81C98; Tue, 23 Aug 2022 09:14:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7ED85C433C1; Tue, 23 Aug 2022 09:14:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1661246050; bh=w0p436ssZfj/lQdy31bDOBkJyI06WCHkjyGiFQ8EqOQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vqu5CRm0LKLCgJo/DLyKRKTJcBMxB+0qpVIl70CeR/85GaXi/2L4RmLcTOr4MIs6q u+qEuedvVqMr2QK/+IvQCp7mgauhuDaZeddFqD7pXYr6I9c0SwLMPxPpGBcgT/kPPV 2YuNCoaiZAAFu4baTqWuX9eXjw65xc7g0Qaur8+0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dan Carpenter , Oleksandr Tyshchenko , Juergen Gross Subject: [PATCH 4.19 242/287] xen/xenbus: fix return type in xenbus_file_read() Date: Tue, 23 Aug 2022 10:26:51 +0200 Message-Id: <20220823080109.246499863@linuxfoundation.org> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220823080100.268827165@linuxfoundation.org> References: <20220823080100.268827165@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dan Carpenter commit 32ad11127b95236dfc52375f3707853194a7f4b4 upstream. This code tries to store -EFAULT in an unsigned int. The xenbus_file_read() function returns type ssize_t so the negative value is returned as a positive value to the user. This change forces another change to the min() macro. Originally, the min() macro used "unsigned" type which checkpatch complains about. Also unsigned type would break if "len" were not capped at MAX_RW_COUNT. Use size_t for the min(). (No effect on runtime for the min_t() change). Fixes: 2fb3683e7b16 ("xen: Add xenbus device driver") Signed-off-by: Dan Carpenter Reviewed-by: Oleksandr Tyshchenko Link: https://lore.kernel.org/r/YutxJUaUYRG/VLVc@kili Signed-off-by: Juergen Gross Signed-off-by: Greg Kroah-Hartman --- drivers/xen/xenbus/xenbus_dev_frontend.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/xen/xenbus/xenbus_dev_frontend.c +++ b/drivers/xen/xenbus/xenbus_dev_frontend.c @@ -128,7 +128,7 @@ static ssize_t xenbus_file_read(struct f { struct xenbus_file_priv *u = filp->private_data; struct read_buffer *rb; - unsigned i; + ssize_t i; int ret; mutex_lock(&u->reply_mutex); @@ -148,7 +148,7 @@ again: rb = list_entry(u->read_buffers.next, struct read_buffer, list); i = 0; while (i < len) { - unsigned sz = min((unsigned)len - i, rb->len - rb->cons); + size_t sz = min_t(size_t, len - i, rb->len - rb->cons); ret = copy_to_user(ubuf + i, &rb->msg[rb->cons], sz);