Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp2176305rdb; Thu, 7 Dec 2023 23:42:09 -0800 (PST) X-Google-Smtp-Source: AGHT+IFMJYi50f85eZpjWH2dI+T1HXZ1tlbiyH1fWG//73ENsVfwHXvjLC9RR1H377JKOgUTJ3a8 X-Received: by 2002:a05:6358:1982:b0:16e:58:908b with SMTP id v2-20020a056358198200b0016e0058908bmr4611392rwn.21.1702021329485; Thu, 07 Dec 2023 23:42:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702021329; cv=none; d=google.com; s=arc-20160816; b=bCsnyTO6gtbmKImTbXAnoMVy5T2HHEdRXR20tez5VrFD3kB1RAImxbhJ80PVa8OYWn 2WQFUO1jCVeUVZ+dXKdQqPghs9cwBWgZ5c7IIop2QzOUKT9+LAyMyHJHnEh2Qn1lQ7Ez ss5gnMP/NScj0sSmzGSfnv6jpI19/RIj/bnV4MNI+Aei/4L+p0dAeTEtt+H0wEj2Veib tKgGb72HoWxeTqRJxJNx2KfrxO6pp/vfBWMi7NZ3VCzN05ck6kai49/wa11uPuKH+J1I 7yGQpn1CqhMtfknZwsrG6PMX4051JTLEkR5Pm5DXLSlRNPbnPzYCmrIAt8kwVhhK4Fpl Ep/A== 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=pvxiAWOBYFUODQPsHwitrRcWQCGuApb3pA99tsUnC/E=; fh=uTJ0crBczByYIhxgrQpYUSGkMqtgvc9XI1pgPEVZjxY=; b=h9JQLHoGNEtVDEfDAFMOFk8XwgBgOJf130DCgbtnPQw/WVonqeD8if2Ktbzhhv8mOx rezpPkeeE2rHBJ47i22IgOXOhP+yH70I8kefCY/F9nXC8RZxJ7JKlVOzKxo4MqQopYoi AVoLTqWZnVv7gnCtJ2EeNHsnwPZkUmqWg6M9WlewuL28GUilnHFAahKC6Q7CY4V6O4Nm 0xq/YmNcSVNfgWr8AA/SrxsHlLmW3GSzHPpM7EJ4MxHTu/xpJZScIgSwtb10NaH76cM4 mEJ++3NODgdbktmFkJVD5tppYuVUD4lOWMhgJVp6nY2Iy3VUVfTTf6VfmbDaiG1WPRY/ qm5A== 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:6 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 pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id s17-20020a62e711000000b006ce37b9d2b6si1105474pfh.253.2023.12.07.23.42.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 23:42:09 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 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 pete.vger.email (Postfix) with ESMTP id A68068292A7E; Thu, 7 Dec 2023 23:42:03 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573338AbjLHHlg (ORCPT + 99 others); Fri, 8 Dec 2023 02:41:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60788 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1573313AbjLHHl0 (ORCPT ); Fri, 8 Dec 2023 02:41:26 -0500 Received: from out30-110.freemail.mail.aliyun.com (out30-110.freemail.mail.aliyun.com [115.124.30.110]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 680171988; Thu, 7 Dec 2023 23:41:22 -0800 (PST) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R891e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046051;MF=guwen@linux.alibaba.com;NM=1;PH=DS;RN=22;SR=0;TI=SMTPD_---0Vy2PAmy_1702021278; Received: from localhost(mailfrom:guwen@linux.alibaba.com fp:SMTPD_---0Vy2PAmy_1702021278) by smtp.aliyun-inc.com; Fri, 08 Dec 2023 15:41:20 +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, guangguan.wang@linux.alibaba.com, linux-s390@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v5 8/9] net/smc: disable SEID on non-s390 archs where virtual ISM may be used Date: Fri, 8 Dec 2023 15:40:58 +0800 Message-Id: <1702021259-41504-9-git-send-email-guwen@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1702021259-41504-1-git-send-email-guwen@linux.alibaba.com> References: <1702021259-41504-1-git-send-email-guwen@linux.alibaba.com> X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email 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 (pete.vger.email [0.0.0.0]); Thu, 07 Dec 2023 23:42:04 -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 3604150..6d6cfa5 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; } @@ -1336,7 +1346,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