On Wed, 2025-06-04 at 14:03 -0700, Jacob Keller wrote:> This could also be fixed by simply increasing BL_NAME_SIZE to 24, making it > large enough to fit any size integer into its format string, or by checking > the return value of snprintf.I think this would be a better approach. backlist_name[24] is still small enough to fit on the stack with ease, and it would eliminate the alloc/free churn. kasprintf() should be reserved for long-term or larger allocations, IMHO.
Jacob Keller
2025-Jun-04 22:16 UTC
[PATCH] drm/nouveau/bl: Use kasprintf for interface name
On 6/4/2025 3:01 PM, Timur Tabi wrote:> On Wed, 2025-06-04 at 14:03 -0700, Jacob Keller wrote: >> This could also be fixed by simply increasing BL_NAME_SIZE to 24, making it >> large enough to fit any size integer into its format string, or by checking >> the return value of snprintf. > > I think this would be a better approach. backlist_name[24] is still small enough to fit on the > stack with ease, and it would eliminate the alloc/free churn. kasprintf() should be reserved for > long-term or larger allocations, IMHO.Fair enough. Another alternative which saves the stack and macro would be to add a new version of backlight_register_device which can pass the integer number itself into dev_set_name, but thats probably not worth the churn either. (Currently we snprintf into a buffer and then again copy that again into the device name...) Thanks, Jake