Re: __free usage
From: Przemek Kitszel
Date: Wed Aug 05 2026 - 07:58:14 EST
On 8/5/26 00:56, Jeff Johnson via Intel-wired-lan wrote:
On 8/4/2026 3:54 PM, Jeff Johnson wrote:
On 11/16/2025 7:56 AM, Ally Heev wrote:OMG, not sure why Thunderbird showed this as a recent unread e-mail.
usage of cleanup attributes is discouraged in net [1], achieve cleanup
using goto. In this patch though, only uninitialized pointers with __free
attribute are cleaned as they can cause undefined behavior when they
go out of scope
Suggested-by: Simon Horman <horms@xxxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Closes: https://lore.kernel.org/all/aPiG_F5EBQUjZqsl@stanley.mountain/
Signed-off-by: Ally Heev <allyheev@xxxxxxxxx>
[1] https://docs.kernel.org/process/maintainer-netdev.html#using-device-managed-and-cleanup-h-constructs
<SMH>
If using __free() *correctly* gives more readable code, why wouldn't we do it?
The only problem with this function is that it doesn't follow the guidance
from cleanup.h:
* the recommendation is to always define and assign variables in one
* statement and not group variable definitions at the top of the
* function when __free() is used.
Please ignore this noise!
always happy to see some __free() advocates :)
perhaps with our new meticulous friend Sashiko __free() would not be
misused anymore, especially if we let them know the following quote:
> So just make the rule be that __free() without an assignment is simply > a bug.
> Linus
and the resulting "less code" is always better (if only to fit more
data into the AI context window)