Re: [PATCH 4/4] netfilter: Fix format string of nfnetlink_queue proc file

From: Richard Weinberger
Date: Fri Mar 13 2015 - 09:44:13 EST


Am 13.03.2015 um 13:15 schrieb Pablo Neira Ayuso:
> On Fri, Mar 13, 2015 at 12:31:16PM +0100, Richard Weinberger wrote:
>> The printed values are all of type unsigned integer, therefore use
>> %u instead of %d. Otherwise an user can face negative values.
>>
>> Fixes:
>> $ cat /proc/net/netfilter/nfnetlink_queue
>> 0 29508 278 2 65531 0 2004213241 -2129885586 1
>> 1 -27747 0 2 65531 0 0 0 1
>> 2 -27748 0 2 65531 0 0 0 1
>
> I guess you want to access stats on dropped packets.

Correct. :)

> I prefer if you extend nfnetlink_queue to provide statistics through
> nfnetlink_queue, so you don't have to manually parse this text-based
> /proc entry and we can deprecate this interface. That shouldn't have
> been there in first place.

You mean statistics via netlink attributes? I can add that!
But I think we should also fix the format string of the proc file
as the fix is easy and non-intrusive.

Thanks,
//richard

> Thanks.
>
>> Signed-off-by: Richard Weinberger <richard@xxxxxx>
>> ---
>> net/netfilter/nfnetlink_queue_core.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/net/netfilter/nfnetlink_queue_core.c b/net/netfilter/nfnetlink_queue_core.c
>> index 1b7f7b8..2121ab5 100644
>> --- a/net/netfilter/nfnetlink_queue_core.c
>> +++ b/net/netfilter/nfnetlink_queue_core.c
>> @@ -1243,7 +1243,7 @@ static int seq_show(struct seq_file *s, void *v)
>> {
>> const struct nfqnl_instance *inst = v;
>>
>> - seq_printf(s, "%5d %6d %5d %1d %5d %5d %5d %8d %2d\n",
>> + seq_printf(s, "%5u %6u %5u %1u %5u %5u %5u %8u %2d\n",
>> inst->queue_num,
>> inst->peer_portid, inst->queue_total,
>> inst->copy_mode, inst->copy_range,
>> --
>> 1.8.4.5
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/