[PATCH iproute2-next v2 5/7] iplink_can: add initial CAN XL interface

Vincent Mailhol posted 7 patches 2 months, 1 week ago
There is a newer version of this series
Re: [PATCH iproute2-next v2 5/7] iplink_can: add initial CAN XL interface
Posted by Stephen Hemminger 2 months, 1 week ago
On Mon, 01 Dec 2025 23:55:13 +0100
Vincent Mailhol <mailhol@kernel.org> wrote:

>  
> -static void can_print_tdc_opt(struct rtattr *tdc_attr)
> +static void can_print_tdc_opt(struct rtattr *tdc_attr, bool is_xl)
>  {
>  	struct rtattr *tb[IFLA_CAN_TDC_MAX + 1];
>  
>  	parse_rtattr_nested(tb, IFLA_CAN_TDC_MAX, tdc_attr);
>  	if (tb[IFLA_CAN_TDC_TDCV] || tb[IFLA_CAN_TDC_TDCO] ||
>  	    tb[IFLA_CAN_TDC_TDCF]) {
> -		open_json_object("tdc");
> +		const char *tdc = is_xl ? "xtdc" : "tdc";
> +
> +		open_json_object(tdc);
>  		can_print_nl_indent();
>  		if (tb[IFLA_CAN_TDC_TDCV]) {
> +			const char *tdcv_fmt = is_xl ? " xtdcv %u" : " tdcv %u";

Having a format string as variable can break (future) format checking and some compiler flags.
Re: [PATCH iproute2-next v2 5/7] iplink_can: add initial CAN XL interface
Posted by Vincent Mailhol 2 months, 1 week ago
On 02/12/2025 at 01:38, Stephen Hemminger wrote:
> On Mon, 01 Dec 2025 23:55:13 +0100
> Vincent Mailhol <mailhol@kernel.org> wrote:
> 
>>  
>> -static void can_print_tdc_opt(struct rtattr *tdc_attr)
>> +static void can_print_tdc_opt(struct rtattr *tdc_attr, bool is_xl)
>>  {
>>  	struct rtattr *tb[IFLA_CAN_TDC_MAX + 1];
>>  
>>  	parse_rtattr_nested(tb, IFLA_CAN_TDC_MAX, tdc_attr);
>>  	if (tb[IFLA_CAN_TDC_TDCV] || tb[IFLA_CAN_TDC_TDCO] ||
>>  	    tb[IFLA_CAN_TDC_TDCF]) {
>> -		open_json_object("tdc");
>> +		const char *tdc = is_xl ? "xtdc" : "tdc";
>> +
>> +		open_json_object(tdc);
>>  		can_print_nl_indent();
>>  		if (tb[IFLA_CAN_TDC_TDCV]) {
>> +			const char *tdcv_fmt = is_xl ? " xtdcv %u" : " tdcv %u";
> 
> Having a format string as variable can break (future) format checking and some compiler flags.

Ack. I now see that this would raise some -Wformat-nonliteral warnings. I was
not aware of that flag before reading your comment. This will be addressed in v3.


Yours sincerely,
Vincent Mailhol