From nobody Mon Jun 8 22:52:28 2026 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7662C28AB0B for ; Tue, 26 May 2026 05:46:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779774419; cv=none; b=Ls0tLUmIB+U6H8W0YVAtZGDygNgmBBvCYGHb4ZUqcHSb3zB6ZeWgsRfkexVEZwRnRRZmbJkFoTSEZXjPjCpVBZEcikFbtQEslqTYdYR7SsRO85mktGtFJwVzproK/Ebcndo3VBrgs81qdcMrfjRSH+rcU+lYLDzdFLlwbjty+tM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779774419; c=relaxed/simple; bh=PVDzbIBA4YjAagmd+kztB/cOqPXnioxFk7d8OQzLPtg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=D3524qj2YsuOgEWLAKWJ7zgKLGsTCLrb8EEwJuphEGvp6lhOc9gwab/FdIvV6FYDp5nM+SJBBQwqxchIkfspvEdIjoM+mRTgGt5XYeSoNo1OHyJIJjwPlnLdMsuq7XCp0cX6tDvve8Yttl+nmlvpBZmNF9r0KeFcKkQRbFc4kDY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=K6//mGGv; arc=none smtp.client-ip=209.85.210.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="K6//mGGv" Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-82fbf5d4dc2so7134914b3a.1 for ; Mon, 25 May 2026 22:46:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779774418; x=1780379218; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=u0PzatHJgmkNNzl7148vyb+AgfWDZJiRwa8PGXGAHFI=; b=K6//mGGv6V/ytxEWbOyr/XQCF6ryE1OiakQcuhEyI6jkY10Jis8o1b3qFaTwl9NdsW hqTm0QaiyZWnKSgNRvbE+YUC3WS7QZzC72SwqogqzzIL1YeWg3H9Oi0ycWQaceWfu5oB ksnvfZ7J8Ot2OSJwdEoNqQEGrOKYa2qybLcqjsdFlQkyiCUilzNI8jH726JEG2G22H27 N1FWU7dTpNeV9/6Ot0g7NARQmke2xvoB1gH/8Hb1htiO0el7+kLpVscajB/atTWvrMpN K+UdtTcGQYBbbQA+D2X8t+W/L60+KsUdiSfqQkh29umOpfpSR8lQNxABMc+xsn495y4X DuQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779774418; x=1780379218; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=u0PzatHJgmkNNzl7148vyb+AgfWDZJiRwa8PGXGAHFI=; b=pRZrrwE5p8vioQP1QPcCE1aPkGnaYGSil+UDwuL0DiqZxoJVo9MwUvD+q918tn5mdq J1tGqod05Lvx+Pj1x/KFEsdV4LiCfYAUYLn20QMt7yfss0JM+s0R/4qAe/NJvj3mkSY5 5yfv/nJKNcySqupWbPbCYjiqO/or70Yd0kkfzrj6wlHqCILFfTkZuLm+WNANXvKIsDRa cvJ/RIhIDyOCvz3ZZ75GdC6sLhmbKXvpsZzFuMHwSZ4NiR+hhPvOyA15T02A8qShTBP1 KSw5Lot2VsUqHMcJ1Bn+MrvJFyeYg1gGbM7pQFrclVvkUw+R4B1GSKftkfxyz8WADmrj 2KgA== X-Forwarded-Encrypted: i=1; AFNElJ+ZRoqrZ5SkVLoGfZUIfGzfv8BaNIO6QcUIPWZ1p8/Dqd4TzyURjwEfmQ1pIW1RMDmhKN9KkKf1eVpPf+w=@vger.kernel.org X-Gm-Message-State: AOJu0YwPbYAb8XiwhUQrnZ0jyrzetEXOVkPxcJO1167XGLslp1E1s949 1ciX1XpE0HCwHOM51LXGWx/KMIRhR5JASg1xg/yy08I+JZ5L6ZI2tJuP X-Gm-Gg: Acq92OG27szUBR1jbK+0hH/9h3BJD6wM4FYRhSpyTOX6I3izzAiJ9xYP9A6TMTFUhqO ujbdiVUc9YgLlKOsZ5Ozun3DtdkYqUN0ClXpO+ovYHjPAUsG5+02jOZ5eyLXtf9UfuI+I2ilJyG iKULmnu95MHIjT5m5aLI47e6qrZKqG5PH2blc2yDIFrsocTUR3O+frFlCKaJ63hOVMtpgg5FUnw thia3NlsVsAcToyQ32nHzPYDLi9NI83jf80RAQyBCmxGdcLn+NcxGMTkPI8evoBYVBOG6aJWoXJ jTFjwJE2N7N53Hem91OU9d32/pn+WCu/8qgSm8mrdQI7jYAru7S8eK+v+cmK1QjHi7bU2DRrOKY YuJhs8ycriJMja11TWLHRm/IxMqzXwdHgdx5MAr+lP1kP1v0OnCHNOStwf5mkUP122/sBzIBixY yzrypZ/LjUGqp6hstabUvanZhjqPC41JhisJFNivs7ht80uf74 X-Received: by 2002:a05:6a00:140f:b0:82c:b808:4c59 with SMTP id d2e1a72fcca58-8415f687146mr16176516b3a.46.1779774417666; Mon, 25 May 2026 22:46:57 -0700 (PDT) Received: from csl-conti-dell7858.ntu.edu.sg ([155.69.195.57]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84164e9ec47sm12917142b3a.32.2026.05.25.22.46.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 May 2026 22:46:57 -0700 (PDT) From: Maoyi Xie To: Chengchang Tang , Junxian Huang Cc: Jason Gunthorpe , Leon Romanovsky , linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] RDMA/hns: drop dead empty check in setup_root_hem() Date: Tue, 26 May 2026 13:46:53 +0800 Message-Id: <20260526054653.2054800-1-maoyixie.tju@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260521132045.3430906-1-maoyixie.tju@gmail.com> References: <20260521132045.3430906-1-maoyixie.tju@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" setup_root_hem() reads the first entry of head->root and checks the returned pointer against NULL: root_hem =3D list_first_entry(&head->root, struct hns_roce_hem_item, list); if (!root_hem) return -ENOMEM; list_first_entry() never returns NULL. On an empty list it returns container_of(head, ..., list), a non-NULL garbage pointer that aliases the head. So the check is dead. The only caller adds an entry to head.root right before invoking setup_root_hem(): list_add(&root_hem->list, &head.root); ret =3D setup_root_hem(..., &head, ...); So head.root is guaranteed non-empty on entry. Drop the check. Suggested-by: Jason Gunthorpe Signed-off-by: Maoyi Xie --- v2: drop the check entirely per Jason's review, instead of converting to list_first_entry_or_null() as in v1. v1: https://lore.kernel.org/r/20260521132045.3430906-1-maoyixie.tju@gmail.c= om drivers/infiniband/hw/hns/hns_roce_hem.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/infiniband/hw/hns/hns_roce_hem.c b/drivers/infiniband/= hw/hns/hns_roce_hem.c index e7c9e30ad2d8..61cd9f96423e 100644 --- a/drivers/infiniband/hw/hns/hns_roce_hem.c +++ b/drivers/infiniband/hw/hns/hns_roce_hem.c @@ -1269,8 +1269,6 @@ setup_root_hem(struct hns_roce_dev *hr_dev, struct hn= s_roce_hem_list *hem_list, =20 root_hem =3D list_first_entry(&head->root, struct hns_roce_hem_item, list); - if (!root_hem) - return -ENOMEM; =20 total =3D 0; for (i =3D 0; i < region_cnt && total <=3D max_ba_num; i++) { --=20 2.34.1