From patchwork Thu Aug 17 09:32:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "D. Starke" X-Patchwork-Id: 136163 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b82d:0:b0:3f2:4152:657d with SMTP id z13csp2085915vqi; Sat, 19 Aug 2023 08:49:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGBSmhJAx2sswAWkJrj+2scMU+MIbbEEbkB9TJ8CwU9zxKGjtWIBVgbmAeXMTdqktreb729 X-Received: by 2002:a17:902:8216:b0:1b9:e937:9763 with SMTP id x22-20020a170902821600b001b9e9379763mr1420757pln.12.1692460141038; Sat, 19 Aug 2023 08:49:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692460141; cv=none; d=google.com; s=arc-20160816; b=rvNJRP2KBX78FCiaOrAuolgRMMMGQhctAXkiUGbrxp8HkDqJuc1tjKSUd/b6Wqmg9C yA3ddzTcM0K7e+BTtVhK0tnCm2sYzuxtgWXTW+T+1DL16pS0E3eSNdcVY4+1l7d/9EDb P+UqCjkByrOY/olOIIHmsbpOkez8y56zOcpgSTTbKo1/9aNy5XTupwEenLWdKFWgfpjl xOqQqg0iR7hr35QyAurNNvbXU4dhDV8o9UKr5aC9VjtGKnb6W1ubeW0WQHBUJ8oVh48e z/4FcOyR+XwuGwU4/J/55Imje+hw/h1cjCynBNqqRc7gQKhLGqZj2iGS+++WzWuJwl0E UTJw== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LIMaBeMMlAifPlg1J4QS2L14divWcv4mOJ3HBPz+4/Y=; fh=H8m+LUbJAe6xdxT7oLwA9hhrHu9ZyF1fNgXIEf3kA4E=; b=p239MW5Vl5QGvggj4GvCpsJYf9ZmK0h02Z1+NM/6RCNDPqBRZga8jnWxAvaUjgcHRn owsEDDjSDXVgRbbb4HIDTIygUBAdxYm78Ut2fl7DdAL+0US/fYNeUFwgIDKUWx/9RoUB aIjo2i9qbar85HWek6Q2NXxIrj+SRBeW64KtTw8cpGvmlSTSocISfo0EDkvb1p11qRVA vCCHiKr2Eqwrm9dS/+Yjq70b203cIOPeCXMRTbJPUBBVzklEj5MKv7/vd3XqEYVnCtBG Pmx+PhkcvjTCk6PSA4wfCd5o1iVqOe2byt6H9k3klotM67tW6LlJ/KfsBpUjBJMh6DnP 24Fg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=hbh8zl5E; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id l15-20020a170902f68f00b001b9ea60cd8bsi3998535plg.332.2023.08.19.08.49.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Aug 2023 08:49:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=hbh8zl5E; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 02599F421A; Sat, 19 Aug 2023 01:48:47 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349671AbjHQJd3 (ORCPT + 99 others); Thu, 17 Aug 2023 05:33:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36294 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349717AbjHQJdC (ORCPT ); Thu, 17 Aug 2023 05:33:02 -0400 Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net [185.136.65.225]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E7FF52D64 for ; Thu, 17 Aug 2023 02:33:00 -0700 (PDT) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 2023081709325922733d98b6c3366690 for ; Thu, 17 Aug 2023 11:32:59 +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:References:In-Reply-To; bh=LIMaBeMMlAifPlg1J4QS2L14divWcv4mOJ3HBPz+4/Y=; b=hbh8zl5EzA/w2LR+kSufCe4x3Sq+n0tQaHkEcl2q4Ae3lmkd8wKFQLPYOcocDnJFnBeG7q WMnmFMmvALxVfbmZWaJp14JdzdqIo7YeNRdSoRzYA54M3Q6I9P7DvvMKkDx/xfxRjcugns0n ox+xSSp7XQyEF4CBNgNl+rqY3wqUE=; From: "D. Starke" To: linux-serial@vger.kernel.org, gregkh@linuxfoundation.org, jirislaby@kernel.org, ilpo.jarvinen@linux.intel.com Cc: linux-kernel@vger.kernel.org, Daniel Starke Subject: [PATCH v6 6/9] tty: n_gsm: increase gsm_mux unsupported counted where appropriate Date: Thu, 17 Aug 2023 11:32:28 +0200 Message-Id: <20230817093231.2317-6-daniel.starke@siemens.com> In-Reply-To: <20230817093231.2317-1-daniel.starke@siemens.com> References: <20230817093231.2317-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_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,SPF_PASS 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774673084861037813 X-GMAIL-MSGID: 1774673084861037813 From: Daniel Starke The structure gsm_mux contains the 'unsupported' field. However, there is currently no place in the code which increases this counter. Increase the 'unsupported' statistics counter in the following case: - an unsupported frame type has been requested by the peer via parameter negotiation - a control frame with an unsupported but known command has been received Note that we have no means to detect an inconsistent/unsupported adaptation sufficient accuracy as this changes the structure of the UI/UIH frames. E.g. a one byte header is added in case of convergence layer type 2 instead of 1 and contains the modem signal octet with the state of the signal lines. There is no checksum or other value which indicates of this field is correct or should be present. Therefore, we can only assume protocol correctness here. See also 'gsm_dlci_data()' where this is handled. Signed-off-by: Daniel Starke --- drivers/tty/n_gsm.c | 3 +++ 1 file changed, 3 insertions(+) v5 -> v6: No changes. Link: https://lore.kernel.org/all/20230517155704.5701-6-daniel.starke@siemens.com/ diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c index 18f022f75831..8b8f5187c6bb 100644 --- a/drivers/tty/n_gsm.c +++ b/drivers/tty/n_gsm.c @@ -1590,6 +1590,7 @@ static int gsm_process_negotiation(struct gsm_mux *gsm, unsigned int addr, if (debug & DBG_ERRORS) pr_info("%s unsupported I frame request in PN\n", __func__); + gsm->unsupported++; return -EINVAL; default: if (debug & DBG_ERRORS) @@ -1897,6 +1898,8 @@ static void gsm_control_message(struct gsm_mux *gsm, unsigned int command, /* Optional unsupported commands */ case CMD_RPN: /* Remote port negotiation */ case CMD_SNC: /* Service negotiation command */ + gsm->unsupported++; + fallthrough; default: /* Reply to bad commands with an NSC */ buf[0] = command;