Received: by 2002:a05:7412:b130:b0:e2:908c:2ebd with SMTP id az48csp1670565rdb; Sun, 19 Nov 2023 05:58:45 -0800 (PST) X-Google-Smtp-Source: AGHT+IG4nMe5UTpWTfrSIM+0ImzOsPTx5spqEP2sAy+vGBrGWWDX8BFXkDsr/ahvNmy2EqA0s6vs X-Received: by 2002:a17:903:1251:b0:1bc:6861:d746 with SMTP id u17-20020a170903125100b001bc6861d746mr4520513plh.58.1700402324875; Sun, 19 Nov 2023 05:58:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700402324; cv=none; d=google.com; s=arc-20160816; b=r5XqyiihUCHhlC+grMzS+Yp7sZM0jNNyHgL1FXw93YP48bfYuxohMN8IXb5sEWCmF6 vzDTELLIvf9KUT4SSCdevKW7BfMbcIT49l5yc8ZvNRKU1c5olNcV8ZEvyytfaKApalz2 wB1goLwK3v+WWVm/BiLZcfRJCFB0mvmsBmu+FKz46qmwBf/Fp8PRW6aC7enB0MaIDPQz 5t6GlBBWma+tuxg/g14kVROgi/5JlF2GYCU7P8jj2HolwCmUss9neSiNQLm995zCul7E kD5acKftWZSXmQv3kf0G/nh8uLkfjB2QwydD+RJ0VJGpTKf/iKb9OC5VJgtiwRjZvwCb ICKA== 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=fncJwrbWcEtkikY7pJHnXrnqFRe0CDx8tNjbzF8Cr8Y=; fh=KQ6DtOg2s6EjX2UG8PvNJAxkkgxsPAP99idIif6uGd8=; b=woYxBS2pn7MP9vYIjIYBlqmBv+waET1WqPIFDXbkko+nuewn9Xjck5XwgP1L4kNLRx 8QIdP340uYt/j65ZQpXyq941Mga4Rm2YhYzpIwu7GAIBjXms5ETyu/XVVvePr+EvNqi7 689YqiNI+4QDE+xxB6Ok/AvpZv443f8r3lhfJVnIJqsQ+MwGvSino1B6VDQSMIFC5c2b hWZOqeZQ5uWtwK9xP6Jig6kKiOUNDPhwrhTCWD24LMMGzrPuC8aMA7EEflBY36lFVmqx jJ2u6ZxOyH7+wg+ylYH1ra4ja7VbTOIPJAWHIFIbTpsTAgVpefHta0rAZl26BkgwEQq5 HRwg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id q18-20020a170902dad200b001bb8a57d518si6577475plx.379.2023.11.19.05.58.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Nov 2023 05:58:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 34108802E5FD; Sun, 19 Nov 2023 05:58:43 -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 S231480AbjKSN6e (ORCPT + 99 others); Sun, 19 Nov 2023 08:58:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44126 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231477AbjKSN61 (ORCPT ); Sun, 19 Nov 2023 08:58:27 -0500 Received: from out30-119.freemail.mail.aliyun.com (out30-119.freemail.mail.aliyun.com [115.124.30.119]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 62D7110CA; Sun, 19 Nov 2023 05:58:17 -0800 (PST) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R671e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045176;MF=guwen@linux.alibaba.com;NM=1;PH=DS;RN=21;SR=0;TI=SMTPD_---0VweihXw_1700402292; Received: from localhost(mailfrom:guwen@linux.alibaba.com fp:SMTPD_---0VweihXw_1700402292) by smtp.aliyun-inc.com; Sun, 19 Nov 2023 21:58:14 +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 6/7] net/smc: disable SEID on non-s390 archs where virtual ISM may be used Date: Sun, 19 Nov 2023 21:57:56 +0800 Message-Id: <1700402277-93750-7-git-send-email-guwen@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1700402277-93750-1-git-send-email-guwen@linux.alibaba.com> References: <1700402277-93750-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]); Sun, 19 Nov 2023 05:58:43 -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 92f1935..2226c66 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; } @@ -1295,7 +1305,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