From patchwork Thu Oct 13 18:50:09 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 9375635 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 713DD60487 for ; Thu, 13 Oct 2016 18:50:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5EE552A18C for ; Thu, 13 Oct 2016 18:50:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 514812A191; Thu, 13 Oct 2016 18:50:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E3F1E2A18C for ; Thu, 13 Oct 2016 18:50:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932150AbcJMSuf (ORCPT ); Thu, 13 Oct 2016 14:50:35 -0400 Received: from mail-lf0-f68.google.com ([209.85.215.68]:34365 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934213AbcJMSub (ORCPT ); Thu, 13 Oct 2016 14:50:31 -0400 Received: by mail-lf0-f68.google.com with SMTP id x23so8344420lfi.1 for ; Thu, 13 Oct 2016 11:50:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:subject:to:references:cc:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=A+R0GKmJkZc0zNI5N7SK6Y5WEt2XYNvWcYH9tufUJxU=; b=qeEp0kA8dW0ftQzEWW6S2HYYHcyWxBjblqzUCPjfZscE7CeY/HM3I09+r82sIdqYvv MbeXQ/SqoYZk7F1VeImgRAzyOBJ9y3tcVfl13ectirg4G3vXz469tMtOPzyfFsL6xjTy AGd8q6zXa80VJwpIIqS4MlAxdKsq5hkwtTw0WlIbWTOOsn0xEAYwUVOzF5QuW8hYE0Qo hgjwSzGSTkPjCDsG+oyncd4GjNDLTBwl+qxS1rBBF0kY0LHMdhKqwuVRACY8wk3rECOv 1V6OqR6mKINeqrt/nAP1Egwqv5BsMp9A0clh1xdcSOPHPlLd2NY9a0mKeKF1OnItoAJw ofZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:subject:to:references:cc:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=A+R0GKmJkZc0zNI5N7SK6Y5WEt2XYNvWcYH9tufUJxU=; b=mXwqdXeR6L9yKgheP2jJT7unIyFHm9hgIqTvoP1jthQoWI6HLwi4I+8dpDiFKVZ75l J+LOBumVv6pssS8ctd/Pi8YRt/PCiQCApnm490YZGNW08ZBlWlzrEwgfI6TglXw6japx OFHN3G1bGHLuWU/sKlepSsM08duN9XKNLZkFnN7+MdeBRC3Dww9bRD72gIMW0UQhnms8 yU6zlS6OBk23iaD9w04Ozy1VIrecyDPOeesFjRpYnbYbqLnzQImX5ihEuUgk6AvA+8do Vl+G2I8cU+/UtbC0WdpAr5YqOa72G6YD0ujWLZGO7L1zmhhF3ZrVyWHAd6xLRp9XZCGG tqkQ== X-Gm-Message-State: AA6/9Rm9W3yyqJBUPt1N3v1/DYXpd39CR27kWxGFaZiqV82nBtwq/60pCAncpM05NA5mng== X-Received: by 10.25.158.143 with SMTP id h137mr11863717lfe.83.1476384624495; Thu, 13 Oct 2016 11:50:24 -0700 (PDT) Received: from ?IPv6:2003:62:5f3c:200:bdaa:2738:ca38:1963? (p200300625F3C0200BDAA2738CA381963.dip0.t-ipconnect.de. [2003:62:5f3c:200:bdaa:2738:ca38:1963]) by smtp.googlemail.com with ESMTPSA id g63sm4188994lji.45.2016.10.13.11.50.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Oct 2016 11:50:22 -0700 (PDT) From: Heiner Kallweit Subject: [PATCH v2 RESEND 2/3] mtd: m25p80: consider max message size in m25p80_read To: Brian Norris References: <6c95366c-7fcc-ef4c-033a-f9f6e152a669@gmail.com> <20160816164204.GV9347@sirena.org.uk> Cc: Mark Brown , "linux-spi@vger.kernel.org" , MTD Maling List Message-ID: Date: Thu, 13 Oct 2016 20:50:09 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20160816164204.GV9347@sirena.org.uk> Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Consider a message size limit when calculating the maximum amount of data that can be read. Signed-off-by: Heiner Kallweit --- v2: - use the new function spi_max_message_size --- drivers/mtd/devices/m25p80.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 9cf7fcd..16a7df2 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c @@ -172,7 +172,8 @@ static ssize_t m25p80_read(struct spi_nor *nor, loff_t from, size_t len, t[1].rx_buf = buf; t[1].rx_nbits = m25p80_rx_nbits(nor); - t[1].len = min(len, spi_max_transfer_size(spi)); + t[1].len = min3(len, spi_max_transfer_size(spi), + spi_max_message_size(spi) - t[0].len); spi_message_add_tail(&t[1], &m); ret = spi_sync(spi, &m);