netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net
Cc: Jacob Keller <jacob.e.keller@intel.com>,
	netdev@vger.kernel.org, gospo@redhat.com, sassmann@redhat.com,
	Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [net-next 09/14] i40e: don't store user requested mode until we've validated it
Date: Thu, 26 Jun 2014 05:13:48 -0700	[thread overview]
Message-ID: <1403784834-23301-10-git-send-email-jeffrey.t.kirsher@intel.com> (raw)
In-Reply-To: <1403784834-23301-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Jacob Keller <jacob.e.keller@intel.com>

This patch prevents the SIOCGHWTSTAMP ioctl from possibly returning bad
data, by not permanently storing the setting into the private
structure until after we've finished validating that we can support it.

Change-ID: Ib59f9b4f73f451d5a2e76fb8efa5d4271b218433
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_ptp.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_ptp.c b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
index e5f558c..f7dded9 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
@@ -549,17 +549,20 @@ static int i40e_ptp_set_timestamp_mode(struct i40e_pf *pf,
  **/
 int i40e_ptp_set_ts_config(struct i40e_pf *pf, struct ifreq *ifr)
 {
-	struct hwtstamp_config *config = &pf->tstamp_config;
+	struct hwtstamp_config config;
 	int err;
 
-	if (copy_from_user(config, ifr->ifr_data, sizeof(*config)))
+	if (copy_from_user(&config, ifr->ifr_data, sizeof(config)))
 		return -EFAULT;
 
-	err = i40e_ptp_set_timestamp_mode(pf, config);
+	err = i40e_ptp_set_timestamp_mode(pf, &config);
 	if (err)
 		return err;
 
-	return copy_to_user(ifr->ifr_data, config, sizeof(*config)) ?
+	/* save these settings for future reference */
+	pf->tstamp_config = config;
+
+	return copy_to_user(ifr->ifr_data, &config, sizeof(config)) ?
 		-EFAULT : 0;
 }
 
-- 
1.9.3

  parent reply	other threads:[~2014-06-26 12:14 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-26 12:13 [net-next 00/14][pull request] Intel Wired LAN Driver Updates 2014-06-26 Jeff Kirsher
2014-06-26 12:13 ` [net-next 01/14] i40e: do not take NVM ownership for SR read Jeff Kirsher
2014-06-26 12:13 ` [net-next 02/14] i40e/i40evf: Big endian fixes for handling HMC Jeff Kirsher
2014-06-26 12:13 ` [net-next 03/14] i40evf: don't stop watchdog if it hasn't started Jeff Kirsher
2014-06-26 12:13 ` [net-next 04/14] i40evf: return more useful error information Jeff Kirsher
2014-06-26 12:13 ` [net-next 05/14] i40evf: fix typo Jeff Kirsher
2014-06-26 12:13 ` [net-next 06/14] i40evf: resend FW request if no response Jeff Kirsher
2014-06-26 12:13 ` [net-next 07/14] i40e: rename i40e_ptp_enable to i40e_ptp_feature_enable Jeff Kirsher
2014-06-26 12:13 ` [net-next 08/14] i40e: break PTP hardware control from ioctl command for timestamp mode Jeff Kirsher
2014-06-26 12:13 ` Jeff Kirsher [this message]
2014-06-26 12:13 ` [net-next 10/14] i40e: only create PTP device node once Jeff Kirsher
2014-06-26 12:13 ` [net-next 11/14] i40e: Avoid adding the TCP-IPv4 filter twice Jeff Kirsher
2014-06-26 12:13 ` [net-next 12/14] i40e: Fix the FD sideband logic to detect a FD table full condition Jeff Kirsher
2014-06-26 12:13 ` [net-next 13/14] i40e: Add debugfs hooks to print current total FD filter count Jeff Kirsher
2014-06-26 12:13 ` [net-next 14/14] i40e: fix fdir programming Jeff Kirsher
2014-06-26 12:13 ` [net-next 15/15] i40e/i40evf: Bump i40e to 0.4.18 and i40evf to 0.9.37 Jeff Kirsher
2014-06-27 19:59 ` [net-next 00/14][pull request] Intel Wired LAN Driver Updates 2014-06-26 David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1403784834-23301-10-git-send-email-jeffrey.t.kirsher@intel.com \
    --to=jeffrey.t.kirsher@intel.com \
    --cc=davem@davemloft.net \
    --cc=gospo@redhat.com \
    --cc=jacob.e.keller@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=sassmann@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).