Received: by 2002:a05:6358:5282:b0:b5:90e7:25cb with SMTP id g2csp3326684rwa; Tue, 23 Aug 2022 02:55:22 -0700 (PDT) X-Google-Smtp-Source: AA6agR6a7tU4uNXKQIB89oQoCFwVfEj9ePK1z7chXJFjm46UZQIvqfe6V7e+mDh0xa8hLOEWBJcS X-Received: by 2002:a17:907:a218:b0:734:ca71:966e with SMTP id qp24-20020a170907a21800b00734ca71966emr15984275ejc.480.1661248521701; Tue, 23 Aug 2022 02:55:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661248521; cv=none; d=google.com; s=arc-20160816; b=QqLqsK6qQCdSuTZ7/yScLdnGNLfbA+CYGZXaUZc4cf9PRtTHwhT8obnV/jvJkjQUBQ oZdtFR2HxMGP1Gdji83ZHdfawk+tsWSNmUFDWh+INgu2YRCZNIOQv6qMquTIQzVx/Bgn JDB/XQX7kS+8GNoCbGfvpitEVD7drRYvNHLP0hZyhWSZ04RIOGlgv7LEHATM9ZUnJuqs 8Y6ZTyrMTXCIND6D+nr0C7jxRoziO0EL+PGw/14jregxqhPtDu0oRC6n3CA32+VZW+PZ xVJUrW3KuepepqwJmIZq5r4/3bzRrH8vYXAn5FZGZ3A1mVc+8opalK9h8Axkph2DMFtk NhDQ== 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=V89ul9o+muqKMPJTf09pzFAz58dJFePTZLI9Vpav6cslanDEbdU/pqCPIGUZNGcD/X XUNn+gDNvWp8vMb9EBNBKGXypmncoIv2WOoJUPEmMEHsWVIQCQ7AHfR3yirs3kyIUMPu YlYQp454FWQN/9izdvV7qUFYjFHtc3ADoeViIxqtuXMQKqWbJaiVHuIYIH4y3LVexHnb igYUwGGh+PY9wfWPaPX4B0rGsWcIRPEfSgDmQG81WdIFiExLj4Yd7i7NIXZUvsxokkV7 WOfemaCKFToYx++QjfBknPmxike8lvzTPavVgvff+nyZOQ9/OWyymMeeVqvuPlVm01uE NtPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=qhQUzDCS; 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 a21-20020a1709066d5500b0073ce34d1a13si8358971ejt.499.2022.08.23.02.54.55; Tue, 23 Aug 2022 02:55:21 -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=qhQUzDCS; 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 S245456AbiHWIiF (ORCPT + 99 others); Tue, 23 Aug 2022 04:38:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33888 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347090AbiHWIgT (ORCPT ); Tue, 23 Aug 2022 04:36:19 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4205176940; Tue, 23 Aug 2022 01:17:22 -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 dfw.source.kernel.org (Postfix) with ESMTPS id 0AEC061284; Tue, 23 Aug 2022 08:17:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1525BC433C1; Tue, 23 Aug 2022 08:17:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1661242633; bh=w0p436ssZfj/lQdy31bDOBkJyI06WCHkjyGiFQ8EqOQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qhQUzDCSI8NHgikEqAPOxpK4HJ/ntaP0z4EvBo+DtcoI8AmNrJFManzBtL+hzjmTj kNEx/eqcYI8olIG+j7IcNBDAXmYWIiRwfzn2Ucx1k0aDZ3c1geaXp2WRBwcg148xwT tNFPITBNfCuSZImdheQ47AcAA230BQDK92XpGAD8= 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 5.19 149/365] xen/xenbus: fix return type in xenbus_file_read() Date: Tue, 23 Aug 2022 10:00:50 +0200 Message-Id: <20220823080124.456944321@linuxfoundation.org> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220823080118.128342613@linuxfoundation.org> References: <20220823080118.128342613@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);