| From cd956722167ba4fdba9c1ce3eed251b04ea2e10f Mon Sep 17 00:00:00 2001 |
| From: Heinrich Schuchardt <xypron.glpk@gmx.de> |
| Date: Tue, 17 May 2016 22:41:33 +0200 |
| Subject: i40e: avoid null pointer dereference |
| |
| From: Heinrich Schuchardt <xypron.glpk@gmx.de> |
| |
| commit cd956722167ba4fdba9c1ce3eed251b04ea2e10f upstream. |
| |
| In function i40e_debug_aq parameter desc is assumed to be |
| possibly NULL. Do not dereference it before checking the |
| value. |
| |
| Fixes: f905dd62be88 ("i40e/i40evf: add max buf len to aq debug print helper") |
| Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> |
| Tested-by: Andrew Bowers <andrewx.bowers@intel.com> |
| Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/net/ethernet/intel/i40e/i40e_common.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/intel/i40e/i40e_common.c |
| +++ b/drivers/net/ethernet/intel/i40e/i40e_common.c |
| @@ -302,13 +302,15 @@ void i40e_debug_aq(struct i40e_hw *hw, e |
| void *buffer, u16 buf_len) |
| { |
| struct i40e_aq_desc *aq_desc = (struct i40e_aq_desc *)desc; |
| - u16 len = le16_to_cpu(aq_desc->datalen); |
| + u16 len; |
| u8 *buf = (u8 *)buffer; |
| u16 i = 0; |
| |
| if ((!(mask & hw->debug_mask)) || (desc == NULL)) |
| return; |
| |
| + len = le16_to_cpu(aq_desc->datalen); |
| + |
| i40e_debug(hw, mask, |
| "AQ CMD: opcode 0x%04X, flags 0x%04X, datalen 0x%04X, retval 0x%04X\n", |
| le16_to_cpu(aq_desc->opcode), |