From nobody Fri Apr 3 07:55:41 2026 Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) (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 D31F7332EC1 for ; Thu, 19 Feb 2026 09:02:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771491766; cv=none; b=qT8W/aK8U8xMjov02WdtEs3CziYhoRoMiMsbaYXKwLsnLuEDPVu2AxW9mfy7jeGjymz7E9dyR1nWiFOejurmAVUZKllEua9vdPeRY8iOC+dgywG2walTZdBgfWobuKh3gXsj8wYm0hJidnO1YblYoP6ZXaQXKd7Fp4YbhCemEl8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771491766; c=relaxed/simple; bh=x4m5N0xkK1VAOmJGsckz4FS7UXmOUVgb2CRC1Z3Btxg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=i+03zvRKhMkT4RBazdP9ABrqwjutUVm5qlrFbz7ZvAfvVvxrv6wGhB9ZrTBGiCh5l5s/jprdZMPTtomzQQKsJoPV7YHfDihDRzGQUmcEFY5INCbux/3Rbztm/u37QTclCFXBI3uHyTZ5tLykJi13cb++bT4mwEL+zi6yvYBw4yU= 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=Px1IMb43; arc=none smtp.client-ip=209.85.214.195 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="Px1IMb43" Received: by mail-pl1-f195.google.com with SMTP id d9443c01a7336-2aaf43014d0so4839785ad.2 for ; Thu, 19 Feb 2026 01:02:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771491765; x=1772096565; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=FdCAN6g0YtElyjxGqQjQ19PdmFtnzKPpjCD9MmgGuxw=; b=Px1IMb43ihaNmt7yoB3bw/myrUaiZ/7W6lLJfRhUZJsZCM3axOOpOz9v0pvaCKSxwM 5JJP16wn5kKjiWL/O+Qjm7gcVj96jWJ55YPpPFyvNNubpZDW4kP/A4ex+TQDklcB9L02 QKdogFsd+WM45ma0/FetPCQf7yl5/NUxn6riG2l4SaQvrMRg5QzFy3ZQohjxspbrGEk0 vgavgJSREnr0ME2FHXynK70V4ybkwGavic15znb/sEgHBITpJqIrIF5OZRHV7JtHV50R TiqF0SBGwD/wqVBPAQSz57Tg4GaatWhZB2SjWPPl0zG3LaYILVKTWU0yVMg3WNF4Hw4U fVRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771491765; x=1772096565; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FdCAN6g0YtElyjxGqQjQ19PdmFtnzKPpjCD9MmgGuxw=; b=boCEs5/l/fEg1DhaWgqT12QW3BMQokQUfdXUELw6SzeWw2r5qNNMdYMAgI7Hy0jDQG TZPcMgAEeXjmwrN/NLeme+7gBi3jwyQPx/cyQYoIs8LT3ZbGxskF9RrHbyJ3ZBNocQT+ M8ZKA/5BS1Uc845VZ+w+9zI5HhixVnAEJvlsWQHuC3SvcxeeAw7YT0gVEHkCgrpY+UqT ttd3fOxN0lZ4fS1RE80qE8l9lToO2WIWRO0iIKcILErIN4Jn4Xxwa61AQAOgKsbQc9ZB JgNiiFgEIxOZozMepOBdMpK6cjGo12Vl+mMV/0mKH1JJ5vwIxZ6GCTUtwq5jLxCXsc6C mjuA== X-Forwarded-Encrypted: i=1; AJvYcCXyHbvLyoZBlzEM12O7NyzpL3Xn2OT9APJjtLQ5iSQ7MftFW9LH3YnKXYRxOEk4dcQPEEz5fdBaRhPD/m0=@vger.kernel.org X-Gm-Message-State: AOJu0Ywz7eGkJnES3TPLxpITnqDJJipzvoEl+b9UWuoo0WBHcuuRadco NrxCDBFdafdJaKkVltjDUaBcuZRBYfHC80tBwUjw9gV2lj4K1IZdM3ca X-Gm-Gg: AZuq6aJkkJ75fwaZGzYxxc8rW0XWVQ8Z+Jt7PsQo8peW+JWlJZ14Vc4PWWZ/OBVyKOY IU8mEpB8UskXKG0PF4pi+7AR+VwaQ8af7H/23qrOX2uPFniV77BSQtFwcQXH22K01WrY0jYgm56 MIXUAA7YljVJExZDy/8pVq5J1zVMypG3LTKqPd9p0kG4Qwd0tzFf3C/HvN+3+9zFsnriq2BkHRQ 3QTzFcDsLtJanrhL9lTUECNdcii8fVvU/yP2+SN0MVzjRGBGSvx7uIkRsNbq8Xs3NIvMHHI23L4 g1kDgtko6YZKw83ysDSNM3oAMMtoHOhO7wZUKYP2W7whV7dIxb3qipN5WuZK3BTbAyRkRcIBB+0 77brgfgtheYuYKGGw5wSks4RZ624c/H1imurfEJm9B31rpVV/83NtwOUVRNxbEAfNmMbh3jL2zO krr8ChgdrebxaxoQhG36nV3bTbBrhI+CIMTbjRczSxr5AzUMLUOBjKVbIh6gIdM4PTj2yW X-Received: by 2002:a17:903:11ce:b0:2aa:d287:693d with SMTP id d9443c01a7336-2ab4cf94770mr209786915ad.20.1771491765191; Thu, 19 Feb 2026 01:02:45 -0800 (PST) Received: from zeeshan-Standard-PC-Q35-ICH9-2009.. ([110.93.227.54]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ad1a713675sm221090545ad.27.2026.02.19.01.02.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 01:02:44 -0800 (PST) From: Zeeshan Ahmad To: Sridhar Samudrala , "David S . Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: netdev@vger.kernel.org, kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, Simon Horman , Zeeshan Ahmad Subject: [PATCH net-next v1] net: core: fix logical inconsistency in failover_slave_register() Date: Thu, 19 Feb 2026 14:02:16 +0500 Message-ID: <20260219090216.12884-1-zeeshanahmad022019@gmail.com> X-Mailer: git-send-email 2.43.0 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" Smatch warns that 'fops' is dereferenced at line 66 before being checked for NULL at line 85. The current code inconsistently assumes 'fops' might be NULL at lines 62 and 85, while dereferencing it without a check at line 66. Move the NULL check to the beginning of the function immediately after 'fops' is initialized. This ensures safety for all subsequent dereferences and allows the removal of redundant checks. Signed-off-by: Zeeshan Ahmad --- net/core/failover.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/core/failover.c b/net/core/failover.c index 2a140b3ea669..88e376be0255 100644 --- a/net/core/failover.c +++ b/net/core/failover.c @@ -56,10 +56,10 @@ static int failover_slave_register(struct net_device *s= lave_dev) ASSERT_RTNL(); =20 failover_dev =3D failover_get_bymac(slave_dev->perm_addr, &fops); - if (!failover_dev) + if (!failover_dev || !fops) goto done; =20 - if (fops && fops->slave_pre_register && + if (fops->slave_pre_register && fops->slave_pre_register(slave_dev, failover_dev)) goto done; =20 @@ -82,7 +82,7 @@ static int failover_slave_register(struct net_device *sla= ve_dev) =20 slave_dev->priv_flags |=3D (IFF_FAILOVER_SLAVE | IFF_NO_ADDRCONF); =20 - if (fops && fops->slave_register && + if (fops->slave_register && !fops->slave_register(slave_dev, failover_dev)) return NOTIFY_OK; =20 --=20 2.43.0