[PATCH] bfa: do not dereference port before it is null checked

Subsystems: brocade bfa fc scsi driver, scsi subsystem, the rest

STALE3700d

2 messages, 2 authors, 2016-08-31 · open the first message on its own page

[PATCH] bfa: do not dereference port before it is null checked

From: Colin King <hidden>
Date: 2016-08-30 16:37:41

From: Colin Ian King <redacted>

port is deferenced before it is null sanity checked, hence
we potentially have a null pointer dereference bug. Instead,
initialise trl_enabled from port->fcs->bfa after we are sure
port is not null.

Signed-off-by: Colin Ian King <redacted>
---
 drivers/scsi/bfa/bfa_fcs_lport.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/bfa/bfa_fcs_lport.c b/drivers/scsi/bfa/bfa_fcs_lport.c
index 7733ad5..bdf39e7 100644
--- a/drivers/scsi/bfa/bfa_fcs_lport.c
+++ b/drivers/scsi/bfa/bfa_fcs_lport.c
@@ -5827,13 +5827,13 @@ bfa_fcs_lport_get_rport_max_speed(bfa_fcs_lport_t *port)
 	bfa_port_speed_t max_speed = 0;
 	struct bfa_port_attr_s port_attr;
 	bfa_port_speed_t port_speed, rport_speed;
-	bfa_boolean_t trl_enabled = bfa_fcport_is_ratelim(port->fcs->bfa);
-
+	bfa_boolean_t trl_enabled;
 
 	if (port == NULL)
 		return 0;
 
 	fcs = port->fcs;
+	trl_enabled = bfa_fcport_is_ratelim(port->fcs->bfa);
 
 	/* Get Physical port's current speed */
 	bfa_fcport_get_attr(port->fcs->bfa, &port_attr);
-- 
2.9.3

Re: [PATCH] bfa: do not dereference port before it is null checked

From: Johannes Thumshirn <hidden>
Date: 2016-08-31 12:06:01

On Tue, Aug 30, 2016 at 05:36:16PM +0100, Colin King wrote:
From: Colin Ian King <redacted>

port is deferenced before it is null sanity checked, hence
we potentially have a null pointer dereference bug. Instead,
initialise trl_enabled from port->fcs->bfa after we are sure
port is not null.

Signed-off-by: Colin Ian King <redacted>
---
Reviewed-by: Johannes Thumshirn <redacted>

-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help