mirror of
https://github.com/torvalds/linux.git
synced 2026-09-11 20:13:02 +02:00
scsi: fnic: Initialize the NVMe local port info before registering
nvfnic_add_lport() declares struct nvme_fc_port_info on the stack and fills in four of its five members, leaving dev_loss_tmo holding whatever the stack happened to contain before the call. The structure is then handed to nvme_fc_register_localport(). nvfnic_add_tport(), which registers the remote port a few lines further down, memsets its own struct nvme_fc_port_info first, so only the local port path passes uninitialized data across the transport interface. The NVMe/FC transport documents dev_loss_tmo as "Used only on a remoteport" and does not read it in nvme_fc_register_localport(), so there is no behavioural change today. Initialize the structure anyway: the driver must not depend on which members the transport happens to consume, and any member added to struct nvme_fc_port_info later would silently start out as stack garbage. Signed-off-by: Linmao Li <lilinmao@kylinos.cn> Tested-by: Karan Tilak Kumar <kartilak@cisco.com> Reviewed-by: Karan Tilak Kumar <kartilak@cisco.com> Link: https://patch.msgid.link/20260819114242.3598034-2-lilinmao@kylinos.cn Signed-off-by: Martin K. Petersen (Oracle) <mkp@kernel.org>
This commit is contained in:
parent
12e67eb89e
commit
98f0a1422e
|
|
@ -2216,7 +2216,7 @@ int nvfnic_add_tport(struct fnic *fnic, struct fnic_tport_s *tport,
|
|||
|
||||
int nvfnic_add_lport(struct fnic *fnic)
|
||||
{
|
||||
struct nvme_fc_port_info pinfo;
|
||||
struct nvme_fc_port_info pinfo = {};
|
||||
struct fnic_iport_s *iport = &fnic->iport;
|
||||
int ret = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user