From patchwork Fri Oct 21 08:43:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "D. Starke" X-Patchwork-Id: 6577 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4242:0:0:0:0:0 with SMTP id s2csp573093wrr; Fri, 21 Oct 2022 01:54:44 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6VFJq3FrdqF62fxSR7Ea6ADudMsxsR+1J2CQY92tsb9DHGsQanxD+VTEVL/dIAAKHTxLPa X-Received: by 2002:a05:6402:1844:b0:460:faf7:d298 with SMTP id v4-20020a056402184400b00460faf7d298mr5512632edy.364.1666342484845; Fri, 21 Oct 2022 01:54:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666342484; cv=none; d=google.com; s=arc-20160816; b=agqn1OIG6TXiY6TA5dmGK/XAlSi5Q4lyumPg5UpFo9eLh+ZLX/qTDNyelSzQ0HCmip c437f6QyV/4TjVCsr8v+idc04FZNZs+ktXSohX7m9b4wpHVgZguzRtQRAEwjWzIVjEh7 fWvv3tRJg3h7DtL2A2muqKlus1FLjQqrZ7ybpMp4Kjsw+KQGAxG0zQ2OmNNxayT7B9bf fIU4Ty/6H8wV1NVtMLWMzre3PtLimcZ66B1IIkuQA/+mWVorauEjoAOkEyz+zEdxQfmT avXH2iNJqcHfVpLA6xXOOyWSWvf8pashblw+TABeZ1m7E2hbkN/5ZZbZj1cq4skeYGua SCRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:feedback-id:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=TeUiqarOmeqXK3gGFVnMXQB5k4MNH372ULy/+bkTPb8=; b=RPwhypRLsHfEPbQ2GKFsnVb1solBQsgNIj3ibepT/bDp4HtPrlPBjelbVXgjUV196q R1qzAJ38k+y7eBLlFKgUb73iGp+C3cADPhCYq4R0+de4G86FhQ/bSYrn6VFrGl7ez/pR gCvWjkvdQOGB0HQBhaZ9h0Kla+dM6oTrMcZ3y2BkIkkulqdECNGmknNRvSmmNpaTIrOX tBTPiqC2+J/Jrs/NqsusTgF0GhDmjLAmyOeJzniPE3e4lvgO0GpRnxyiEsHi50IDLoLK oHrXp6IE9oiHZjI93CQnLX8BlH66bSEXDpeAHqeDhtblkDc8PYM2Tfqw2CKHvU9DfeKI 4dzA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=bgB6QjND; 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=siemens.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d1-20020a170906174100b0077ef3eeca17si15870837eje.155.2022.10.21.01.54.20; Fri, 21 Oct 2022 01:54:44 -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=@siemens.com header.s=fm1 header.b=bgB6QjND; 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=siemens.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230306AbiJUIqM (ORCPT + 99 others); Fri, 21 Oct 2022 04:46:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229711AbiJUIpt (ORCPT ); Fri, 21 Oct 2022 04:45:49 -0400 X-Greylist: delayed 73 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Fri, 21 Oct 2022 01:45:46 PDT Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net [185.136.64.227]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 95BEA8D20B for ; Fri, 21 Oct 2022 01:45:44 -0700 (PDT) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20221021084428b141b590a4c13af1ce for ; Fri, 21 Oct 2022 10:44:28 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=daniel.starke@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc; bh=TeUiqarOmeqXK3gGFVnMXQB5k4MNH372ULy/+bkTPb8=; b=bgB6QjNDy/GJLLTmfIJGNiZ3qoAADNg73nQCziwdoyWis3f0E8ULdFpD6tawbDAL/G5Kr5 1x6UiB64597TgE3RTN0hJIq7SM2nuNlpvXlBCcnPjhTN40y8kuIwmV21QKXPV12SPMzKIPgi uMAXkGzMiJMD3I3zLCafKX9QQbI1E=; From: "D. Starke" To: linux-serial@vger.kernel.org, gregkh@linuxfoundation.org, jirislaby@kernel.org Cc: linux-kernel@vger.kernel.org, Daniel Starke Subject: [PATCH 1/3] tty: n_gsm: introduce macro for minimal unit size Date: Fri, 21 Oct 2022 10:43:13 +0200 Message-Id: <20221021084315.2306-1-daniel.starke@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-314044:519-21489:flowmailer X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747286737455570727?= X-GMAIL-MSGID: =?utf-8?q?1747286737455570727?= From: Daniel Starke n_gsm has a minimal protocol overhead of 7 bytes. The current code already checks whether the configured MRU/MTU size is at least one byte more than this. Introduce the macro MIN_UNIT_SIZE to make this value more obvious. Signed-off-by: Daniel Starke --- drivers/tty/n_gsm.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c index 5e516f5cac5a..8e039f2a0427 100644 --- a/drivers/tty/n_gsm.c +++ b/drivers/tty/n_gsm.c @@ -89,6 +89,7 @@ module_param(debug, int, 0600); */ #define MAX_MRU 1500 #define MAX_MTU 1500 +#define MIN_UNIT_SIZE 8 /* SOF, ADDR, CTRL, LEN1, LEN2, ..., FCS, EOF */ #define PROT_OVERHEAD 7 #define GSM_NET_TX_TIMEOUT (HZ*10) @@ -2712,7 +2713,9 @@ static int gsm_config(struct gsm_mux *gsm, struct gsm_config *c) if ((c->adaption != 1 && c->adaption != 2) || c->k) return -EOPNOTSUPP; /* Check the MRU/MTU range looks sane */ - if (c->mru > MAX_MRU || c->mtu > MAX_MTU || c->mru < 8 || c->mtu < 8) + if (c->mru < MIN_UNIT_SIZE || c->mtu < MIN_UNIT_SIZE) + return -EINVAL; + if (c->mru > MAX_MRU || c->mtu > MAX_MTU) return -EINVAL; if (c->n2 > 255) return -EINVAL; @@ -3296,7 +3299,7 @@ static int gsm_create_network(struct gsm_dlci *dlci, struct gsm_netconfig *nc) return -ENOMEM; } net->mtu = dlci->gsm->mtu; - net->min_mtu = 8; + net->min_mtu = MIN_UNIT_SIZE; net->max_mtu = dlci->gsm->mtu; mux_net = netdev_priv(net); mux_net->dlci = dlci;