From: Tom Lendacky <thomas.lendacky@amd.com>
To: David Miller <davem@davemloft.net>, <joe@perches.com>
Cc: <netdev@vger.kernel.org>
Subject: Re: [PATCH net-next 6/6] amd-xgbe: Resolve checkpatch warning about sscanf usage
Date: Fri, 27 Jun 2014 08:35:49 -0500 [thread overview]
Message-ID: <53AD7335.7060800@amd.com> (raw)
In-Reply-To: <20140626.171255.274497260661771827.davem@davemloft.net>
On 06/26/2014 07:12 PM, David Miller wrote:
> From: Joe Perches <joe@perches.com>
> Date: Tue, 24 Jun 2014 15:53:30 -0700
>
>> On Tue, 2014-06-24 at 17:44 -0500, Tom Lendacky wrote:
>>> On 06/24/2014 05:00 PM, Joe Perches wrote:
>>>> On Tue, 2014-06-24 at 16:19 -0500, Tom Lendacky wrote:
>>>>> Checkpatch issued a warning preferring to use kstrto<type> when
>>>>> using a single variable sscanf. Change the sscanf invocation to
>>>>> a kstrtouint call.
>>>> []
>>>>> diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c b/drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c
>>>> []
>>>>> @@ -165,10 +165,9 @@ static ssize_t xgbe_common_write(const char __user *buffer, size_t count,
>>>>> return len;
>>>>>
>>>>> workarea[len] = '\0';
>>>>> - if (sscanf(workarea, "%x", &scan_value) == 1)
>>>>> - *value = scan_value;
>>>>> - else
>>>>> - return -EIO;
>>>>> + ret = kstrtouint(workarea, 0, value);
>>>>
>>>> Don't you need to use 16 for the base here?
>>
>>> Using 0 allows for greater flexibility in the input format.
>>
>> True, but there could be a change in behavior like reading a
>> previously hex value like 10 is now a decimal 10 not decimal 16.
>
> Tom, under other circumstance you can't change the format.
> v3.16 is going to be released with the existing %x formatting
> expecting hexadecimal numbers.
>
> And you're targetting this change to decimal format in net-next.
>
> The only thing that really allows you to do this is that this is
> debugfs, and it's a reason I really hate debugfs, people do
> arbitrary stuff so that if the debugfs elements turn out to be
> useful for someone the driver author can arbitarily break things
> on them however they want.
>
> It's a cop-out for things people don't want to be bound to avoid ABI
> changes, and to me that's garbage. If you expose it to the user
> design it well to the point where you're willing to live with it's
> interface forever, or don't expose it to the user at all.
>
After Joe's comments I started looking around to see what is expected
of debugfs. I had always been under the impression that you shouldn't
expect things to remain compatible under debugfs. But after reading a
number of things it appears that tools get created based on your
interface and then break when it's changed.
I'll submit a follow-on patch that addresses Joe's and your concerns and
put the interface back to just hexadecimal input with -EIO return on
error to maintain compatibility with what is in 3.16
Thanks,
Tom
next prev parent reply other threads:[~2014-06-27 13:36 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-24 21:19 [PATCH net-next 0/6] amd-xgbe: AMD 10Gb Ethernet driver updates Tom Lendacky
2014-06-24 21:19 ` [PATCH net-next 1/6] amd-xgbe: Make defines in xgbe.h unique Tom Lendacky
2014-06-24 21:19 ` [PATCH net-next 2/6] amd-xgbe: VLAN Tx tag insertion fix Tom Lendacky
2014-06-24 21:19 ` [PATCH net-next 3/6] amd-xgbe: VLAN Rx tag stripping fix Tom Lendacky
2014-06-24 21:19 ` [PATCH net-next 4/6] amd-xgbe: Add support for VLAN filtering Tom Lendacky
2014-06-24 21:19 ` [PATCH net-next 5/6] amd-xgbe: Change destination address filtering support Tom Lendacky
2014-06-24 21:19 ` [PATCH net-next 6/6] amd-xgbe: Resolve checkpatch warning about sscanf usage Tom Lendacky
2014-06-24 22:00 ` Joe Perches
2014-06-24 22:44 ` Tom Lendacky
2014-06-24 22:53 ` Joe Perches
2014-06-25 13:27 ` Tom Lendacky
2014-06-27 0:12 ` David Miller
2014-06-27 13:35 ` Tom Lendacky [this message]
2014-06-27 0:15 ` [PATCH net-next 0/6] amd-xgbe: AMD 10Gb Ethernet driver updates 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=53AD7335.7060800@amd.com \
--to=thomas.lendacky@amd.com \
--cc=davem@davemloft.net \
--cc=joe@perches.com \
--cc=netdev@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.