On Thu, Oct 26, 2023 at 3:02 PM Vladimir Oltean <olteanv@xxxxxxxxx> wrote: > > Hi Justin, > > On Thu, Oct 26, 2023 at 09:56:07PM +0000, Justin Stitt wrote: > > Use strscpy() to implement ethtool_puts(). > > > > Functionally the same as ethtool_sprintf() when it's used with two > > arguments or with just "%s" format specifier. > > > > Signed-off-by: Justin Stitt <justinstitt@xxxxxxxxxx> > > --- > > include/linux/ethtool.h | 34 +++++++++++++++++++++++----------- > > net/ethtool/ioctl.c | 7 +++++++ > > 2 files changed, 30 insertions(+), 11 deletions(-) > > > > diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h > > index 226a36ed5aa1..7129dd2e227c 100644 > > --- a/include/linux/ethtool.h > > +++ b/include/linux/ethtool.h > > @@ -1053,22 +1053,34 @@ static inline int ethtool_mm_frag_size_min_to_add(u32 val_min, u32 *val_add, > > */ > > extern __printf(2, 3) void ethtool_sprintf(u8 **data, const char *fmt, ...); > > > > +/** > > + * ethtool_puts - Write string to ethtool string data > > + * @data: Pointer to start of string to update > > + * @str: String to write > > + * > > + * Write string to data. Update data to point at start of next > > + * string. > > + * > > + * Prefer this function to ethtool_sprintf() when given only > > + * two arguments or if @fmt is just "%s". > > + */ > > +extern void ethtool_puts(u8 **data, const char *str); > > + > > /* Link mode to forced speed capabilities maps */ > > struct ethtool_forced_speed_map { > > - u32 speed; > > + u32 speed; > > __ETHTOOL_DECLARE_LINK_MODE_MASK(caps); > > > > - const u32 *cap_arr; > > - u32 arr_size; > > + const u32 *cap_arr; > > + u32 arr_size; > > }; > > > > -#define ETHTOOL_FORCED_SPEED_MAP(prefix, value) \ > > -{ \ > > - .speed = SPEED_##value, \ > > - .cap_arr = prefix##_##value, \ > > - .arr_size = ARRAY_SIZE(prefix##_##value), \ > > -} > > +#define ETHTOOL_FORCED_SPEED_MAP(prefix, value) \ > > + { \ > > + .speed = SPEED_##value, .cap_arr = prefix##_##value, \ > > + .arr_size = ARRAY_SIZE(prefix##_##value), \ > > + } > > > > -void > > -ethtool_forced_speed_maps_init(struct ethtool_forced_speed_map *maps, u32 size); > > +void ethtool_forced_speed_maps_init(struct ethtool_forced_speed_map *maps, > > + u32 size); > > #endif /* _LINUX_ETHTOOL_H */ > > Maybe this is due to an incorrect rebase conflict resolution, but you > shouldn't have touched any of the ethtool force speed maps. Ah, I did have a conflict and resolved by simply moving the hunks out of each other's way. Trivial resolution. Should I undo this? I want my patch against next since it's targeting some stuff in-flight over there. BUT, I also want ethtool_puts() to be directly below ethtool_sprintf() in the source code. What to do? > > Please wait for at least 24 hours to pass before posting a new version, > to allow for more comments to come in. Ok :) Thanks Justin