From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 360A4342146 for ; Tue, 4 Aug 2026 22:55:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785884101; cv=none; b=PL0xO4FyWRDrW1GzQPFB591R5ckqO6nz1wRzSmZtSNWnqeNt3eBZH3etUpYWhMqfzaHvNIdS7eesr9AFwKsnApd6Z/Y1j4nYHt2SLXM8LXDtfWfP3vuct7MsqUdYRu0I0OlLXboUmIeOtiyecs7bMA/0saoWo3wNLWXRIHVgaQY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785884101; c=relaxed/simple; bh=rICnSSK0eUhAcOS6Dfnz7RRSL3MaPB7X4s9fo+wFHc4=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=MIUCWmEvfuCXdVIW47Wo7fm9mdgE0hWCZpW2dMr0dnb7OirIwgDO55+TP/HQEU9xe7JAsbSKyZ9VE75x0QiCoinTU9reePOJLgtPsxL9dzNU5Qc8KeaZ4w8os6wStAPh7smM6bG7dtotF6uUTn/m33V8wvqmTGbHk92ZdcRfgBY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=J6pCMjA/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=NVPEdB4I; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="J6pCMjA/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="NVPEdB4I" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 674JlMiH378012 for ; Tue, 4 Aug 2026 22:54:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= BiBfYk+ikLNkmDTePEHZK/NFlqks+onn7zyzt1bvM/M=; b=J6pCMjA/9UJDNJRo VZQTZztpJ6ly5GLfzHWJxCBb2QiXV14QgaZyienmOvFWr3RmOlaLgTzVrtLXsuu+ zUvdKwTlu/o2Dhgcr4m0xvb9xevP0yqMOxiNs8wo9EFPmgrLDsOcXBUp5fMUb0lC 2+0LxVsJOf/tMc1H1ztMiXW+I1uAvjrhz7KnYTFDc+jcPQoZoh/dldD6E7bod7Lx guG1dghAELXaWSnBpNcX6vNLp859XRoAC8anGPfbj46Yq7XnLAkvtax6NS8EUUYa iiBRqbbMaX08jHqmI5JWxGgUiGzUT5KlIKFSTRsZp+uycJqzIGBpIZLYAMoLwJIs fKdxgA== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fuk9u1rhv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 04 Aug 2026 22:54:59 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-cab048cdb3eso422154a12.0 for ; Tue, 04 Aug 2026 15:54:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785884099; x=1786488899; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=BiBfYk+ikLNkmDTePEHZK/NFlqks+onn7zyzt1bvM/M=; b=NVPEdB4I3ThQHBFFYnWxMSjukVxkQ0KezHpXUYieEl6c67ccpiD1NvPQvx9E6CpHHD brVFYCg3afNIReucvwmoJbPSnAvpNRdQnfN9mMllFMH9Pn4cwynlePtpqz8S1UjiKBxV fJ38QDxGzwGKiT6COipLGiV4pLTj14O+qR05etgeIIQi280wCmVdBPY08oSfrSAY73KY aFvV0CifoECKprg5A1RDZmYq4f3OseFCGaTKQeVaRBFZ4r+9umqGw5HLNKWQ2WjzMs4A 78ZAfTdEwsXeOZUE6BTP+yQ43rI5UrdxayWdNyqDz4j1wod2ftmVd7BjpvScUtbXxMZb 2Wig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785884099; x=1786488899; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=BiBfYk+ikLNkmDTePEHZK/NFlqks+onn7zyzt1bvM/M=; b=AudRgIsKdBJ/gGTUTs7vnoJ6+ZGdVLF6o/gTvBzbxQV17eV78XDlJUIqgpQB9WujKa /zQLIOGROaUtqWQ/NhYFlKkRXRGw/vkJcN9VvKbx0GUpeWHdCbbURVaj7OK3YCJ3DdsT As+K+KHMK+iSwIoPGxRMJ6LGO6AKUf8mvmL/NAiP5xqInCKyQRbp5hP2Ri2mskiRwc2m ssCUAf/aej1obX2YnnQWeBXQVqLDuGTndYMpv3sc30zTHKbsIIIV0OXBfVm7X4ZBUbcU PL+OUtzPrQqwp3uISPt2BdULI7IA5QMY8ktlJm1UCPyclf/CLSCviSWwucWzFOJqcRFr g/AQ== X-Forwarded-Encrypted: i=1; AHgh+RoKOCPeHEuQSC0+mUl57mK0Dn2adUU/kuqJTJNHtpxxd/CiLUCPHq6K+2jShIKa/9Ec9BEoYO4ZDO/wMn8=@vger.kernel.org X-Gm-Message-State: AOJu0YwNnsYo7/cGpUif3S/b0f6Ue/y1vinrF7FbpkhK2wRRG5lVwIJL /kw1b0rL5acJFvCMFucpem0IKgOPjmWgsIvknvwmjDWGDMXHEiXB1anmHR1B1UFOyV9DxIGsN6p bdaEKNwiTq0jKvON57v9CTNScIdSKYnbNfDU9yheSSbv9HiIRA+rzZFGLohFPCKrvpjE= X-Gm-Gg: AR+sD10Kr5nG9ElWh/j6iFq/DbqpZwllacLF7dP9ePRcFXcSRDszZjPYr/ZtWtFFKKq SJgzoHF7QCCzAP42I8yyg49GkhPeeGC/uLBsvsduNH07WgJFVnfQnLA0rK+v9Wcj++3wtTqWntX Ou/lCcmSuEzBcUTG9ybeEkYCnmr4Pe1O1mZoyIdNnHXFD69ad5FMHCkhA4RYNOI7DXEdBzpfhPZ ZiRuDZ2fiTcX37Jfp+AT4hBxQPkZYopbs9AEvPnSB8aNkBmcTZs3emu0NfcNt4wmVnwbsEV0F8w ZhwhsWEFf/Q9wRl+ordM6XsarQ1IlVtW4mnvqU//gJ1L49RzdGzaFYytibwndUHxgC6tbSQCehh kj2TYdkeZvxsA+i6RHzFJutDf2+enf1IUWBNkZ5M3qczJQXHHRZZ8y/+RCQDd X-Received: by 2002:a05:6a20:4321:b0:3c3:b57b:6291 with SMTP id adf61e73a8af0-3cb85e6689fmr2180333637.18.1785884098709; Tue, 04 Aug 2026 15:54:58 -0700 (PDT) X-Received: by 2002:a05:6a20:4321:b0:3c3:b57b:6291 with SMTP id adf61e73a8af0-3cb85e6689fmr2180295637.18.1785884098318; Tue, 04 Aug 2026 15:54:58 -0700 (PDT) Received: from [192.168.1.20] (103.sub-97-215-187.myvzw.com. [97.215.187.103]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3158673a9e4sm10073999eec.18.2026.08.04.15.54.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 04 Aug 2026 15:54:57 -0700 (PDT) Message-ID: <72754805-575c-4568-9dab-514e1b758847@oss.qualcomm.com> Date: Tue, 4 Aug 2026 15:54:55 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFT net-next 2/2] idpf: remove __free usage in idpf_virtchnl To: Ally Heev , Tony Nguyen , Przemek Kitszel , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Simon Horman , Dan Carpenter References: <20251116-aheev-fix-free-uninitialized-ptrs-ethernet-intel-v1-0-0ddc81be6a4c@gmail.com> <20251116-aheev-fix-free-uninitialized-ptrs-ethernet-intel-v1-2-0ddc81be6a4c@gmail.com> Content-Language: en-US From: Jeff Johnson In-Reply-To: <20251116-aheev-fix-free-uninitialized-ptrs-ethernet-intel-v1-2-0ddc81be6a4c@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Authority-Analysis: v=2.4 cv=NInlPU6g c=1 sm=1 tr=0 ts=6a726dc3 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=UaEkX0D7FlC0tWE/LoNF7Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8 a=pGLkceISAAAA:8 a=SN6AwQ4lagRrp0K9xQIA:9 a=QEXdDO2ut3YA:10 a=O8hF6Hzn-FEA:10 a=x9snwWr2DeNwDh03kgHS:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: frJa6X2k6BuqXIDiDwJPfzhogcrE5ys3 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA0MDE4NiBTYWx0ZWRfX+4JizmgGxYSx bw4TQqvG0NKlb6E2jBjU3mAGrMeKi/4JeTa3fLRdxzz4OKftB+H/2TEb673L8S/eyaWtsp2BjaU qL0RvIXlU1O5ulZNTkfSYDlfxBXF4PM= X-Proofpoint-ORIG-GUID: frJa6X2k6BuqXIDiDwJPfzhogcrE5ys3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA0MDE4NiBTYWx0ZWRfX2JdNs3t+X/mC 3tA6NUHW0b4IoSkC5NjR/oczkFQV8Xja6cjgpS5hjglPaEzh2sriu/4Yd5DuHvOatjwpE1Ndfk9 7CY/3UwyBHF1uVRBzl9A9tgj5E5ZV41TSrsNDvqGDvhpCo9zx48Qkw5mPRnBvitSjZVpLgZQf0B kyB2T2eBENDoTyPKSSizG18slGVqO8wJ2dwIQyfwqNt6dVJGYYJPUIXqKGpSRihbeopZPLNbxdX RjddDXI4HmkWD21VmiP+M3bKsi5Lgsg2/Sm+nlgE6SOU+tR8/1T6Vd/S/Hl3AmV5Wkyi+cEe53z JCONPiH+JPEpwwlGFVUo0U6tQgJQVTcieWZzFQDkhtbq93ahnjrDkkyDZeaHLD0B2+llV2MxS5T aijWKiUtiZ69uGEch3vFMC/7HzP4osEu35jt9GQbd9jw2klbzY3NygoZHEOgrWo8ybJsV65A/O+ Hth2J8gH5v7gpslIvBQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-04_05,2026-08-04_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 suspectscore=0 clxscore=1015 adultscore=0 malwarescore=0 spamscore=0 priorityscore=1501 phishscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608040186 On 11/16/2025 7:56 AM, Ally Heev wrote: > 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 > Reported-by: Dan Carpenter > Closes: https://lore.kernel.org/all/aPiG_F5EBQUjZqsl@stanley.mountain/ > Signed-off-by: Ally Heev > > [1] https://docs.kernel.org/process/maintainer-netdev.html#using-device-managed-and-cleanup-h-constructs 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. > > Signed-off-by: Ally Heev > --- > drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 28 +++++++++++++++++-------- > 1 file changed, 19 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c > index cbb5fa30f5a0ec778c1ee30470da3ca21cc1af24..5b2bf8c3205bc1ea0746f78afa2a24f3f8ad2a8c 100644 > --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c > +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c > @@ -1012,7 +1012,7 @@ static int idpf_send_get_caps_msg(struct idpf_adapter *adapter) > */ > static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter) > { > - struct virtchnl2_get_lan_memory_regions *rcvd_regions __free(kfree); > + struct virtchnl2_get_lan_memory_regions *rcvd_regions = NULL; > struct idpf_vc_xn_params xn_params = { > .vc_op = VIRTCHNL2_OP_GET_LAN_MEMORY_REGIONS, > .recv_buf.iov_len = IDPF_CTLQ_MAX_BUF_LEN, > @@ -1029,21 +1029,29 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter) > > xn_params.recv_buf.iov_base = rcvd_regions; > reply_sz = idpf_vc_xn_exec(adapter, &xn_params); > - if (reply_sz < 0) > - return reply_sz; > + if (reply_sz < 0) { > + err = reply_sz; > + goto out; > + } > > num_regions = le16_to_cpu(rcvd_regions->num_memory_regions); > size = struct_size(rcvd_regions, mem_reg, num_regions); > - if (reply_sz < size) > - return -EIO; > + if (reply_sz < size) { > + err = -EIO; > + goto out; > + } > > - if (size > IDPF_CTLQ_MAX_BUF_LEN) > - return -EINVAL; > + if (size > IDPF_CTLQ_MAX_BUF_LEN) { > + err = -EINVAL; > + goto out; > + } > > hw = &adapter->hw; > hw->lan_regs = kcalloc(num_regions, sizeof(*hw->lan_regs), GFP_KERNEL); > - if (!hw->lan_regs) > - return -ENOMEM; > + if (!hw->lan_regs) { > + err = -ENOMEM; > + goto out; > + } > > for (int i = 0; i < num_regions; i++) { > hw->lan_regs[i].addr_len = > @@ -1053,6 +1061,8 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter) > } > hw->num_lan_regs = num_regions; > > +out: > + kfree(rcvd_regions); > return err; > } > >