From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 CD0A93FB07A for ; Mon, 2 Mar 2026 14:03:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772460195; cv=none; b=pluc05eQklTQxusZjSJrmPDxCO1vaT/UMuK6CUfsmL6UbglVv2e7SmqS4vbA7939Vz4Yo8Wci8qbRBe7yPjb/HWxRTGFb+H24lThNHu9/hbTg3TJ2AbDHFk5XDvOEk9ea8Sdy+A0AR3T074+hbEe1bRY1aQ1tLqmALDc3XD41JI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772460195; c=relaxed/simple; bh=0DpLQsIRL9lZPdr/74iWH92RFX+op2F84/TMyMJdNV0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=f9MkK4PvU9HZWepLKkEDjVcSifJoxAXKpJocsWJ4oSBNh1AaXCHpC4I4j86FyhpVDzIKpEgcNhiyPs717tYdGqlgGZH/lqebJKlB4tBG2WmVgoW0opSdnpgoDdXJCZSIE2E5ZC5FDs6iejpqw86vPaYnS3Nc/GxEfCw1BYb/Ikk= 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=jSXEzjsF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ANBD2FZ4; arc=none smtp.client-ip=205.220.180.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="jSXEzjsF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ANBD2FZ4" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6229K5ve782876 for ; Mon, 2 Mar 2026 14:03:13 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= PiMIdqf+IOzKz3ex7vZG+YsmSZaXkxFqnI/VO/YvrbM=; b=jSXEzjsFDiOwiWuP YoPTUZbiEf2+DK2TnhPmTNChGQOU9UESkDqNbYMrSytAqpo8iO1+BATdgI3bZRZM 3+ksWVsDRoZ0W9lJcZVOuBm2Bs2fvW4/HjslvLHuSZzAB1IXuUt+FFfev/XFhqjx pofjm3hi5X4Rs45qhIknt3oH/7tfW1NTt4RK+7NxYFEREoUOp9rUU4SwyfxqZoNx c9ebnorsnVgilTDa3mtNVFL1qzGWCLfTCOitOemAYSXIUlxJdu5re2rIR2m11JsW nEonFaqV91XWjynCLe3w3rd/pDb+1F+6VeiE1lC6JhTeEPNIrrqcBTNcIefeQclt Bbl36A== Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cn7u00vpa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Mar 2026 14:03:12 +0000 (GMT) Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-4638ca66624so7758789b6e.2 for ; Mon, 02 Mar 2026 06:03:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772460192; x=1773064992; darn=vger.kernel.org; h=content-transfer-encoding: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; bh=PiMIdqf+IOzKz3ex7vZG+YsmSZaXkxFqnI/VO/YvrbM=; b=ANBD2FZ40Qb7bG6vTKQUStEyRrf18372ep0Y6hjz9D3PoofYvHisxCLnf/840IYANV MDx1AOrQ0AB96RxSIoBbdx/dqqzwy3qtHRsWAs6O5y3btJH+MvS4SWyvDfZgbHRG2Xgp dRMuvlwcysCRN533X6VZYKzsUekPezz8Q8iPgMeu4nkheP7cAtrs7+XgW2rltHfY+g5B 4CFVqpkk91U4TtNhqJ84SN3cr0xynN41PncRBwvKfeOkZAGjkswxtR/IVsitN8rRfmP1 0tGDj2ytEKRo6yP96qlcc3n4/t53YT/2YfEwDX6lugyE8Lnyi07wY0eSLNETHsnYzXbL GX5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772460192; x=1773064992; h=content-transfer-encoding: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; bh=PiMIdqf+IOzKz3ex7vZG+YsmSZaXkxFqnI/VO/YvrbM=; b=h1TKbZxJGwlVQIweN8WJuqAuwMUm/k2WxmmmMaMbJDcGx5WprxgtXHJ0i3VMQxOIWJ o9BbYEbsibgEK1Wl9aYnbNIyX4GC3W3nGZeCkJwQ9LCc62mlhNG16F38AmDGupAJS/Jo uP1SjIiev+K4fKb4YZmDwkm79xtAk9jfMc6fr/qhT2r5RhjN1pGSNqQLuYm7qyN8etVc STPAKrS4+ICfq3lws93kYGJ7nyrJ189rGdzVDpqGbLnzRV/OqmrTEigGkVPaXpUsBZsR WX5y4gLypkBgqE99CoaaXwmNR3wOrEchoaY4jMv6j3bGH/DwguyZXpGCFR7FqXL95CT5 +mug== X-Forwarded-Encrypted: i=1; AJvYcCUGKLRiTcN07lHFu5pHNhAJDkwH+O6aSU+HEu636FkAWzAwRv1ENopiKeeJt07gdUz1zjwmDMTU8U2XsT4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2q3WU09Rba8XZlo2tST3XMCC3a5tbkXNsUpaaaw9MEfzJcfGn yHmJppd/8V2LwR3I8zEi3fdrpc9c/S0uXRvT8TTicCG/2hvjuywBmlOwaVdRXEl9XpxB9Q8K9l+ auVGXuxd3M7v2+2no9Pyn9b9iTbwjcheJ497dmuxwTrFdOjYARMpS/n1D7+BhaIHASao= X-Gm-Gg: ATEYQzx3qS3ls3cV3dwRgjj/2ERYlqTmlb9U3ZZHNWbyh31ewP5FYy7vOTK25BjrQIm jz3k/e5LPNRqIX5Ix0AOPKlRlocx02fBdtRMR+pI7hDJg2nKBCSEBQHlIJ9ZpPikDnjXruP992S AUwhu16aZv8Q19J6RFRniKcBBePpo0aHI75Ok9vOqCKCd9DriFeaD37CbyFw2Wc9fJ6GUoE9Ck5 vE4yUelJe8ITFBaNFrEgq5outAc2JeuIp3tJY2yvBMY+fTzefjrOfuSiCaggvOK7dt7AcBYxnGU 6nQNo8xRH0oM622UDm3z14yEvIOmp0O7AvDmOIMEPaks3oxP2ie9wanOZrCnW2VeixVKwlRiScF 7lRJevgNVdpmhLSHXGS4pLLWWZg2Ki9F5ksbjJFCCXflBjW1wgWAdnYKqYJ18emjnZkrGM6b9++ KAFBc= X-Received: by 2002:a05:6808:350b:b0:45c:75ec:b9a6 with SMTP id 5614622812f47-464beb75bbemr5108313b6e.6.1772460191753; Mon, 02 Mar 2026 06:03:11 -0800 (PST) X-Received: by 2002:a05:6808:350b:b0:45c:75ec:b9a6 with SMTP id 5614622812f47-464beb75bbemr5108256b6e.6.1772460190790; Mon, 02 Mar 2026 06:03:10 -0800 (PST) Received: from [192.168.119.254] (078088045245.garwolin.vectranet.pl. [78.88.45.245]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b93973d3ec4sm273613766b.66.2026.03.02.06.03.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 02 Mar 2026 06:03:08 -0800 (PST) Message-ID: <35b72adc-8f67-4cd1-a210-8bc88af39a5a@oss.qualcomm.com> Date: Mon, 2 Mar 2026 15:03:04 +0100 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: [net-next,v5,3/3] net: ipa: Grab IMEM slice base/size from DTS To: Jakub Kicinski , konradybcio@kernel.org Cc: netdev@vger.kernel.org, elder@riscstar.com, pabeni@redhat.com, andrew+netdev@lunn.ch, krzk@kernel.org, linux-kernel@vger.kernel.org, conor+dt@kernel.org, linux-arm-msm@vger.kernel.org, dmitry.baryshkov@oss.qualcomm.com, devicetree@vger.kernel.org, krzk+dt@kernel.org, robh@kernel.org, edumazet@google.com, elder@kernel.org, andersson@kernel.org, krzysztof.kozlowski@oss.qualcomm.com, davem@davemloft.net, marijn.suijten@somainline.org, horms@kernel.org References: <20260224-topic-ipa_imem-v5-3-015bf09e123e@oss.qualcomm.com> <20260227015449.2484275-1-kuba@kernel.org> Content-Language: en-US From: Konrad Dybcio In-Reply-To: <20260227015449.2484275-1-kuba@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Authority-Analysis: v=2.4 cv=GMMF0+NK c=1 sm=1 tr=0 ts=69a598a0 cx=c_pps a=4ztaESFFfuz8Af0l9swBwA==:117 a=FpWmc02/iXfjRdCD7H54yg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=9R54UkLUAAAA:8 a=bTaGD7iMzZT8p6Mo4RsA:9 a=QEXdDO2ut3YA:10 a=TPnrazJqx2CeVZ-ItzZ-:22 a=YTcpBFlVQWkNscrzJ_Dz:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAyMDExOCBTYWx0ZWRfX+O+jNDn7qxQm YXPRcqTGBAxNzrYUh9+avGBNjcPgEdnO5Owxs8VngBF9JSv8/oJ5/KQ8WGoEYYiT3D49ipfnnGo WiJuijegO3vApjAafMLTTuLm9XaIOiVXfqyt4nV5RDd8GBocG+pi7ZO/U+6KjzQtWOkzJaThwqM nPk3K2f2YbhDDfivimQeRSwNNxxQZhH5PZF+2YmD+Sdtrjx/d/s3mK3PDq0F6OARrq2uYwarVO4 JAQrnLfMURFAOChzwtwWzRgwgytXIZV2gdi1dZ0VmPg3brcRmPkzsDrFm/s+HswJYMx2qgZ5Dht I+/vYQF7M5LF+9ErmUB2V7kUOISmwYVRB8WpT4jpxtPUR3NmWNZMGN9fuFLBq+ZonaFpGfSnAoN QJ/3ChKk++BLjKF3qqAO/bPEvGOY2rKwZ3cqFWq3GnWRsfR4BCH/TfJ5hWi7Hit+ZMR2NZ8LLVs nRa+w2K0ZmyP+HQhSdQ== X-Proofpoint-GUID: H1qxVL6Sx4VgCC9HeVD2PrkZSp_L6u-k X-Proofpoint-ORIG-GUID: H1qxVL6Sx4VgCC9HeVD2PrkZSp_L6u-k X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-02_03,2026-03-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 adultscore=0 priorityscore=1501 impostorscore=0 phishscore=0 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603020118 On 2/27/26 2:54 AM, Jakub Kicinski wrote: > This is an AI-generated review of your patch. The human sending this > email has considered the AI review valid, or at least plausible. > > For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html > --- [...] >> @@ -656,7 +659,24 @@ int ipa_mem_init(struct ipa *ipa, struct platform_device *pdev, >> ipa->mem_addr = res->start; >> ipa->mem_size = resource_size(res); >> >> - ret = ipa_imem_init(ipa, mem_data->imem_addr, mem_data->imem_size); >> + ipa_slice_np = of_parse_phandle(dev->of_node, "sram", 0); >> + if (ipa_slice_np) { >> + ret = of_address_to_resource(ipa_slice_np, 0, res); >> + of_node_put(ipa_slice_np); >> + if (ret) >> + goto err_unmap; >> + >> + imem_base = res->start; >> + imem_size = resource_size(res); > ^^^^ > > Does this code corrupt the platform device's resource array? The variable > 'res' was obtained from platform_get_resource_byname() earlier in this > function, which returns a pointer directly into pdev->resource[]: > > drivers/base/platform.c:platform_get_resource_byname() > return platform_get_resource(dev, type, num); > => return &dev->resource[i]; > > Passing this pointer to of_address_to_resource() causes > __of_address_to_resource() to memset the entire structure to zero and then > overwrite all fields: > > drivers/of/address.c:__of_address_to_resource() > memset(r, 0, sizeof(struct resource)); > ... > r->flags = ... > r->name = ... > r->start = ... > r->end = ... > > This permanently corrupts the platform device's "ipa-shared" resource entry. > While ipa->mem_addr and ipa->mem_size were saved before the corruption, the > platform device's resource array is shared kernel infrastructure. > > After this corruption: > - /proc/iomem and sysfs will report incorrect resource information > - If the driver is unbound and rebound, platform_get_resource_byname(pdev, > IORESOURCE_MEM, "ipa-shared") will fail because the resource's name field > was overwritten with the sram DT node's full_name, causing probe to fail > with -ENODEV > > Would it be better to use a separate local variable for the > of_address_to_resource() call? Yes, the computer proved useful once again - I tunnel-visioned-out the prior use of 'res'. Konrad