Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp232397rdb; Thu, 30 Nov 2023 03:29:03 -0800 (PST) X-Google-Smtp-Source: AGHT+IFV/WbHKbSE7ftFweW0xMXpekZIksuHwJjfR2UtBjBW5yeYcQ75m8WNcT/5iB3et17O4al3 X-Received: by 2002:a05:6830:1ce:b0:6d6:4557:bb2 with SMTP id r14-20020a05683001ce00b006d645570bb2mr24877466ota.30.1701343743376; Thu, 30 Nov 2023 03:29:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701343743; cv=none; d=google.com; s=arc-20160816; b=KWD19+k4S/j3DZ8qs1qUkRBHAsPDqETQuaCcy7jrVDCQIg2FkTGaACe204H1YyqpJs OTM8/8cn4WPf2QcY8wMVHusCb1/i/gj9nZ5YbOnOWmKL971p4CUnBE11Q2s+G7TrpFkY 9pmfwbGVWbWK1UwwuDCzIPAd+0Dacd/wn5vYNn54YYn+kBgk1FUee5M0tZbmw3QikpGC /r0YqJR0PxMJh8XZ2wkaYtk8p8QNjt1emS2Kh2PZf9NEBK7xb5wnwW+hupO65qmHbtd5 jCr0pQjTTPSQ84vOqXjk19btxpDPUudZv7/vdHtsQnfNN1JQtmNu/9Csl7B7mpYFwghL DGjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=sKc0LMMJZkywmmEQ8SxGJjYS6hPbK2uB+5RTqlPT/7M=; fh=KQ6DtOg2s6EjX2UG8PvNJAxkkgxsPAP99idIif6uGd8=; b=GqJAsAypDYh0d6O21GL8ajJmOB0+da+ku4gQ+KldvuvyX6Tmvjwd8jX/VRihk/v8fN gUZcEUeUO3vq8YQZg4XWUyguxFPiDYa4J6PglL6c8OMACLp1WKy3NMzMdobeaUkqDAlw K2S1nN8hTuG5yrLBYem6cOPwa9x9h5gzBKhRjSKVTJ+l++6/XnuGWJO15a90XaCwxzoN HnvsI6PlO0WiorXS+Cl1yr44LQ7lQ7BDPvF/zp3kWDP5wFL3PK88XcsQ4J/WlZnAzrTG fCkJKQ9RVkIr5gVyhlppH1bLXIefzdwB81j5eJy6dUmr/SPu3WmYiGn2qMPQySuIHP5P lVzw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id s186-20020a635ec3000000b00577fc59373fsi1072729pgb.296.2023.11.30.03.29.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 03:29:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id ED5EB8028E60; Thu, 30 Nov 2023 03:29:01 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345242AbjK3L2u (ORCPT + 99 others); Thu, 30 Nov 2023 06:28:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35240 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345194AbjK3L2i (ORCPT ); Thu, 30 Nov 2023 06:28:38 -0500 Received: from out30-112.freemail.mail.aliyun.com (out30-112.freemail.mail.aliyun.com [115.124.30.112]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B41A710F5; Thu, 30 Nov 2023 03:28:39 -0800 (PST) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R201e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046049;MF=guwen@linux.alibaba.com;NM=1;PH=DS;RN=21;SR=0;TI=SMTPD_---0VxROoMX_1701343715; Received: from localhost(mailfrom:guwen@linux.alibaba.com fp:SMTPD_---0VxROoMX_1701343715) by smtp.aliyun-inc.com; Thu, 30 Nov 2023 19:28:37 +0800 From: Wen Gu To: wintera@linux.ibm.com, wenjia@linux.ibm.com, hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, kgraul@linux.ibm.com, jaka@linux.ibm.com Cc: borntraeger@linux.ibm.com, svens@linux.ibm.com, alibuda@linux.alibaba.com, tonylu@linux.alibaba.com, guwen@linux.alibaba.com, raspl@linux.ibm.com, schnelle@linux.ibm.com, linux-s390@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v3 6/7] net/smc: disable SEID on non-s390 archs where virtual ISM may be used Date: Thu, 30 Nov 2023 19:28:14 +0800 Message-Id: <1701343695-122657-7-git-send-email-guwen@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1701343695-122657-1-git-send-email-guwen@linux.alibaba.com> References: <1701343695-122657-1-git-send-email-guwen@linux.alibaba.com> X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 30 Nov 2023 03:29:02 -0800 (PST) The system EID (SEID) is an internal EID used by SMC-D to represent the s390 physical machine that OS is executing on. On s390 architecture, it predefined by fixed string and part of cpuid and is enabled regardless of whether underlay device is virtual ISM or platform firmware ISM. However on non-s390 architectures where SMC-D can be used with virtual ISM devices, there is no similar information to identify physical machines, especially in virtualization scenarios. So in such cases, SEID is forcibly disabled and the user-defined UEID will be used to represent the communicable space. Signed-off-by: Wen Gu --- net/smc/smc_clc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/net/smc/smc_clc.c b/net/smc/smc_clc.c index 2d8bc0b..ead2e2e 100644 --- a/net/smc/smc_clc.c +++ b/net/smc/smc_clc.c @@ -155,10 +155,12 @@ static int smc_clc_ueid_remove(char *ueid) rc = 0; } } +#if IS_ENABLED(CONFIG_S390) if (!rc && !smc_clc_eid_table.ueid_cnt) { smc_clc_eid_table.seid_enabled = 1; rc = -EAGAIN; /* indicate success and enabling of seid */ } +#endif write_unlock(&smc_clc_eid_table.lock); return rc; } @@ -273,22 +275,30 @@ int smc_nl_dump_seid(struct sk_buff *skb, struct netlink_callback *cb) int smc_nl_enable_seid(struct sk_buff *skb, struct genl_info *info) { +#if IS_ENABLED(CONFIG_S390) write_lock(&smc_clc_eid_table.lock); smc_clc_eid_table.seid_enabled = 1; write_unlock(&smc_clc_eid_table.lock); return 0; +#else + return -EOPNOTSUPP; +#endif } int smc_nl_disable_seid(struct sk_buff *skb, struct genl_info *info) { int rc = 0; +#if IS_ENABLED(CONFIG_S390) write_lock(&smc_clc_eid_table.lock); if (!smc_clc_eid_table.ueid_cnt) rc = -ENOENT; else smc_clc_eid_table.seid_enabled = 0; write_unlock(&smc_clc_eid_table.lock); +#else + rc = -EOPNOTSUPP; +#endif return rc; } @@ -1300,7 +1310,11 @@ void __init smc_clc_init(void) INIT_LIST_HEAD(&smc_clc_eid_table.list); rwlock_init(&smc_clc_eid_table.lock); smc_clc_eid_table.ueid_cnt = 0; +#if IS_ENABLED(CONFIG_S390) smc_clc_eid_table.seid_enabled = 1; +#else + smc_clc_eid_table.seid_enabled = 0; +#endif } void smc_clc_exit(void) -- 1.8.3.1