From 45d043597d2d0e780e768866c6fbfe8dbee5f2cf Mon Sep 17 00:00:00 2001 From: Jacob Keller Date: Mon, 4 Jan 2016 10:33:11 -0800 Subject: [PATCH] i40e: avoid large memcpy by assigning struct Assign the i40e_pf structure directly instead of using a large memcpy, which avoids a sparse warning and lets the compiler optimize the copy since it knows the size of the structure in advance. Change-ID: I17604e23be2616521eb760290befcb767b52b3f7 Signed-off-by: Jacob Keller Reviewed-by: Jesse Brandeburg Tested-by: Andrew Bowers Signed-off-by: Jeff Kirsher --- drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c index 7aae0561c9c5..3948587a047c 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c +++ b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c @@ -185,9 +185,11 @@ static ssize_t i40e_dbg_dump_write(struct file *filp, if (i40e_dbg_prep_dump_buf(pf, buflen)) { p = i40e_dbg_dump_buf; - len = sizeof(struct i40e_pf); - memcpy(p, pf, len); - p += len; + /* avoid use of memcpy here due to sparse warning + * about copy size. + */ + *((struct i40e_pf *)p) = *pf; + p += sizeof(struct i40e_pf); len = (sizeof(struct i40e_aq_desc) * pf->hw.aq.num_asq_entries); -- 2.20.1