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 54A823BE628 for ; Wed, 17 Jun 2026 08:44:36 +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=1781685887; cv=none; b=eqZbdITRaKkLH7gLdizbL3UhvIuy9Kb3pcrx+gIYccsQmUAHQ8tmWcaY05XvqbbpooVLEIMWzRaSJ+qqrO1gZOaciw3P3lg1P7P3QchushBp6EM48VFYBN7qFlCGY+0aStahroiqAsJFi+lwmjiPta9Ni0GPwcSqk7FTIpM9Dzw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781685887; c=relaxed/simple; bh=K9Vi7vlWEM6R2XrD0PUsZNIIlSxZqb0KirTzry+BIgY=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=fX2n4ghdZohYYpNmxgyqjpugfCfG5HYecda/cYPkWfas2XylY82D5Eizy2Hf7/j/aQD2zT6K+UE6tFU0deSSYebHspfTAmaracxtT9PnQZYwXmFC1j7f3awsw2teMolNM6kEYqP239HM4HiGHmsFn5pTZSCyep8a5oQJb3UVMaY= 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=cYORuCxS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gQEQd+ui; 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="cYORuCxS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gQEQd+ui" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65H8Voc72191977 for ; Wed, 17 Jun 2026 08:44:35 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= XznFvh4eZUi3Kj0r41fb3c6a+RCWc3jRNVgC0hbA8bg=; b=cYORuCxSijDC88BD sGf5csfyS9bKc5NM2Oe6cB4iBTT5cTvTQJsjtscP2OU66KW4Kc7vn9c2ipd8SwKd avAzqJl9upoCjAhXw4U9ga+/QWcwamN+IJQdb4FZ8Xll1h40H+BoLAQ6YpnLbeTQ Xio0JtCZ6yQaHqAF8zdfRsxTjti0lJw7b5SoTuyy7cWVGO4TzZH/FL0YPUhB/bNR rWh0JhW4+sF2ftu5/arjmXOi2f/EX527Y4nuwyv9fGd7MActKbh3z2k47mheh8Os piOH7LeX7A+5RB6R3F7ST/iXQXd+MoLaLFgtJujkytBVsX06ZDuaVSSns1G3N13S gI3fNg== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eueesj9h2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 17 Jun 2026 08:44:35 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-36d8719bae6so5067532a91.3 for ; Wed, 17 Jun 2026 01:44:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781685874; x=1782290674; 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=XznFvh4eZUi3Kj0r41fb3c6a+RCWc3jRNVgC0hbA8bg=; b=gQEQd+uictyBCwE/kDON/Ws0sRlDQO2TSema4liYfAqcd9WQJV08LB6ki6FIUFgpFE tNMw9By9l16yUv02f6lf/VzQR+yfuUfJQt6jaO+2nj4MbYw/i62gCy1+U9FVmboE3LUG 2cVe7XXQ9RzzDe24VVyzfvElG0DJ2cOPPTzVhATYaw34QnluonmsZWFimMEtAaoogYUm Q1oJ10QW/imLOEwl6FExXBDDLMAOr/cO9ld8FmLmiLqoG5DXIdX+pZqel7tbhA+IrIp6 BE7TynbxMFPHzHBeHL8ZuRAJaI7SzyrNOlv4qv+U5jLwUrW49zcKl6uvuH1EyvSil2vC sFzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781685874; x=1782290674; 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=XznFvh4eZUi3Kj0r41fb3c6a+RCWc3jRNVgC0hbA8bg=; b=RfVGKfIhVyyt4WsM7ictvoDtTk7Akw+7pL7utB/17BR2KdpQ00slpMHNw6SJzNNgMF aI7AaizaGa8BbuFyzcCsHnosUkXBqX37GFs2kJJT6aFc1LcKbBjEBOPJR1sElEswf5zY dAO2yXK433VSEepqT6D2GIOtfGrC6/DT5ReOb+2LKEAVaV0IDk02L03M9/84c+o+nIXE C6I65KJYf1JLQ8HZyWbuNc8gd8bflYwDkG1ofggvBR3O1NNvwL255C60w9f3wI/4cxuL LscqWoWmxkvSLfh282TYmd86oNehmXHnezizHiRyUOpjGbEIYBWXM2vMyR7j29c12S0f Pf/w== X-Forwarded-Encrypted: i=1; AFNElJ8KqkEwAHBXKwv3JkUxlCWWiHMZE57dHhbenx5FwMIYRklZuZFy4dVFQFQY8S+8f1Kb5EdONDNBdZVbOK4=@vger.kernel.org X-Gm-Message-State: AOJu0Yy45sXlO91Z6JBYvqZw4qUlEaEgxOCEpuV2ExfeqaUau4ApXesZ 6gMxzctK7ebVSq1kfkHgIO20SDPBxt6k0Wgy06FpugJNznddqH6XzFFXUjzz7v9tz4H4LMXiQ7n RqPudUL1RvOv7mUpMaMIFMAYPNZ2eY8PW70+SsKHV4LvO/wJ6d4Lbew18TvzbnG5pRss= X-Gm-Gg: AfdE7clKTJNZqrMW3CvNAgIjwl/qyZj4PidILjsVEBa0dS8xN7jM7EyolK/Wj3RCr1j JCj67hx69rgiZe3+9CDSjBJaC4s5XDgNKaytz/+w1jl+MIab7aWNnx4kyIyuDJu8pqGSWCfhyBq G1lL12idDYs5Y7mnLXYfoISHAl4x6TGs2XvBqqt5UDmjZFTR8XIeXtUqkzVLUV3UuI3SGz+S2of QTsK78RmxEzbgHYo45hmHLWCXG+7HidJwFhgwWC10JlpMZLoyP6Ar3u1A0h7wWCDVePND8Y4QHd PnN0OweJmpbwQrQnEP0hEwbFPjh51WDSZuob1vyNgTPs9K4Smq1FMHxA5T3kbSlB57y6oqMpVwL 8cb8bjCZsvRMTk/tmkLGsnNZcfC9LRlcHE1JTkIQTsylECzagM0luxLMROHlZbxP+8g6PGA2Ykj k= X-Received: by 2002:a17:90b:5447:b0:36d:ae6a:22fe with SMTP id 98e67ed59e1d1-37c936e1c23mr2816716a91.16.1781685874010; Wed, 17 Jun 2026 01:44:34 -0700 (PDT) X-Received: by 2002:a17:90b:5447:b0:36d:ae6a:22fe with SMTP id 98e67ed59e1d1-37c936e1c23mr2816688a91.16.1781685873555; Wed, 17 Jun 2026 01:44:33 -0700 (PDT) Received: from [10.133.33.52] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-37c521a959bsm5434327a91.2.2026.06.17.01.44.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 17 Jun 2026 01:44:33 -0700 (PDT) Message-ID: <58e290e7-e9f1-4fb9-827f-229de9cb0234@oss.qualcomm.com> Date: Wed, 17 Jun 2026 16:44:28 +0800 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] scsi: ufs: core: Avoid possible memory reclaim deadlock in TX EQTR context To: Bart Van Assche , beanhuo@micron.com, peter.wang@mediatek.com, martin.petersen@oracle.com, mani@kernel.org Cc: linux-scsi@vger.kernel.org, Alim Akhtar , Avri Altman , "James E.J. Bottomley" , open list , "open list:ARM/QUALCOMM MAILING LIST" References: <20260616090654.421850-1-can.guo@oss.qualcomm.com> Content-Language: en-US From: Can Guo In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE3MDA4MSBTYWx0ZWRfX80CEZJJKP1zV Js0hOjQzj3VzANBFgyDF4mpb6hKSLvl96RSNqZlYzBD/vz0nFhHYJURjDvvCFvY/LFHrnA/MLfp y/PRvX8u7U3m6kGddfgTX+xm46EiWFUUMmSquVk8BrcQmfadeoTA9uAqLCqTwxQ+obSgMITYlnW nnZe+BdEUIfEkWLm83IbT3EQgMQnturEqYfQlRbWA438BSoAu2kHp9j2zuQVXdXJG3zk6tfvUl2 +mezVBxahVNTh4wnmo//cRvugM1dnSmFd+wEtN+5yRAL/QYlfdniAQL6FW7tN8W2xf8glHwLqYT lLkrYYs8lvEbXcRJHCK6Lj3HnrvyoJ6TmEIa1u59YsSGRWxBfT703FZOT6qb6vZDYhIF68vIE0s /llo/YrhRwPc5vS7fRwAxn7h4QgtjvZBPNV0Sq93WwdxqDOKiJ4NSeznRHN13FmJMg8hjTP91AZ KljolZWkK8pcc8yOskw== X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE3MDA4MSBTYWx0ZWRfX3Ec7b+ZPaSA9 Dv51xXLiZcb90FYVYuFW8xcQDJuuxx+j+oH7HRX1Z4Grpa+DPyEeNfifA5LJHGxxPwIg8BAfoys eXQuJAU6g2oEoGhtJe9L++wuqNjp/7Q= X-Proofpoint-ORIG-GUID: JUuVCTjaaVpb6bBS0bIGQwjf2MTvN32v X-Proofpoint-GUID: JUuVCTjaaVpb6bBS0bIGQwjf2MTvN32v X-Authority-Analysis: v=2.4 cv=ePojSnp1 c=1 sm=1 tr=0 ts=6a325e73 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=VwQbUJbxAAAA:8 a=HB7fT6Jt0Jrlpd79jdEA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-17_01,2026-06-16_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 bulkscore=0 clxscore=1015 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606170081 On 6/16/2026 9:31 PM, Bart Van Assche wrote: > On 6/16/26 2:06 AM, Can Guo wrote: >> diff --git a/drivers/ufs/core/ufs-txeq.c b/drivers/ufs/core/ufs-txeq.c >> index 4b264adfdf49..3a2fb5329d27 100644 >> --- a/drivers/ufs/core/ufs-txeq.c >> +++ b/drivers/ufs/core/ufs-txeq.c >> @@ -1059,7 +1059,7 @@ static int __ufshcd_tx_eqtr(struct ufs_hba *hba, >>                   struct ufs_pa_layer_attr *pwr_mode) >>   { >>       struct ufshcd_tx_eqtr_data *eqtr_data  __free(kfree) = >> -        kzalloc(sizeof(*eqtr_data), GFP_KERNEL); >> +        kzalloc(sizeof(*eqtr_data), GFP_NOIO); >>       struct tx_eqtr_iter h_iter = {}; >>       struct tx_eqtr_iter d_iter = {}; >>       u32 gear = pwr_mode->gear_tx; >> @@ -1217,7 +1217,7 @@ static int ufshcd_tx_eqtr(struct ufs_hba *hba, >>       if (!params->eqtr_record) { >>           params->eqtr_record = devm_kzalloc(hba->dev, >>                              sizeof(*params->eqtr_record), >> -                           GFP_KERNEL); >> +                           GFP_NOIO); >>           if (!params->eqtr_record) >>               return -ENOMEM; >>       } >> diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c >> index c084ccc72523..e7f104987c6a 100644 >> --- a/drivers/ufs/host/ufs-qcom.c >> +++ b/drivers/ufs/host/ufs-qcom.c >> @@ -2760,7 +2760,7 @@ static int ufs_qcom_get_rx_fom(struct ufs_hba >> *hba, >>                      struct tx_eqtr_iter *d_iter) >>   { >>       struct ufshcd_tx_eq_params *params __free(kfree) = >> -        kzalloc(sizeof(*params), GFP_KERNEL); >> +        kzalloc(sizeof(*params), GFP_NOIO); >>       struct ufs_qcom_host *host = ufshcd_get_variant(hba); >>       struct ufs_pa_layer_attr old_pwr_info; >>       u32 fom[PA_MAXDATALANES] = { 0 }; > > Modifying individual memory allocation calls is error prone. The next > person who modifies this code may not be aware of this conversation and > might reintroduce a GFP_KERNEL allocation in the TX equalization code. > > Please use memalloc_noio_save() and memalloc_noio_restore() instead of > changing GFP_KERNEL into GFP_NOIO. Additionally, please add a comment > above the memalloc_noio_save() call that explains why it is necessary. > See also https://docs.kernel.org/core-api/gfp_mask-from-fs-io.html. Thanks for the suggestion, using use memalloc_noio_save() and memalloc_noio_restore() is indeed a better solution. Best Regards, Can Guo. > > Thanks, > > Bart.