From: Can Guo <cang@codeaurora.org>
To: Bean Huo <huobean@gmail.com>
Cc: Stanley Chu <stanley.chu@mediatek.com>,
alim.akhtar@samsung.com, avri.altman@wdc.com,
asutoshd@codeaurora.org, jejb@linux.ibm.com,
martin.petersen@oracle.com, beanhuo@micron.com,
bvanassche@acm.org, tomas.winkler@intel.com,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 1/7] scsi: ufs: Add "wb_on" sysfs node to control WB on/off
Date: Wed, 23 Dec 2020 09:31:49 +0800 [thread overview]
Message-ID: <862483add1462510b809aee6d3678435@codeaurora.org> (raw)
In-Reply-To: <28211d08700d1e4876a9aea342e8fcb79534cd2c.camel@gmail.com>
On 2020-12-23 06:11, Bean Huo wrote:
> On Tue, 2020-12-22 at 21:57 +0100, Bean Huo wrote:
>> > > May this operation race with UFS shutdown flow?
>> > >
>> > > To be more clear, ufshcd_wb_ctrl() here may be executed after
>> > > host
>> > > clock
>> > > is disabled by shutdown flow?
>> > >
>> > > If yes, we need to avoid it.
>> >
>> > I have the same doubt - can user still access sysfs nodes after
>> > system
>> > starts to run shutdown routines? If yes, then we need to remove all
>> > UFS
>> > sysfs nodes in ufshcd_shutdown().
>> >
>>
>> No, we shouldn't do in this way, user space complains this. I think
>> the nodes in the sysfs can be shileded write, but the nodes shouldn't
>> be flash of its presence frequently.
>>
>> Thanks,
>> Bean
>>
>>
>> > Thanks,
>> >
>> > Can Guo.
>
>
> Hi Can
> Got your point, you don't want user space to interrupt UFS by sysyfs if
> UFS is in power down mode. if this is true, insteading of removing all
> sysfs node in ufshcd_shutdown, maybe just add this checkup before
> accessing UFS device descriptors/flag/attributes/LU:
>
> for example, for the device descriptor:
>
>
> diff --git a/drivers/scsi/ufs/ufs-sysfs.c b/drivers/scsi/ufs/ufs-
> sysfs.c
> index b3bf7fca00e5..881fe1c24a9f 100644
> --- a/drivers/scsi/ufs/ufs-sysfs.c
> +++ b/drivers/scsi/ufs/ufs-sysfs.c
> @@ -262,6 +262,9 @@ static ssize_t ufs_sysfs_read_desc_param(struct
> ufs_hba *hba,
> u8 desc_buf[8] = {0};
> int ret;
>
> + if (!ufshcd_is_ufs_dev_active(hba) ||
> !ufshcd_is_link_active(hba))
> + return -EACCES;
> +
>
> Bean
First of all, this check is not helping at all, during
ufshcd_shutdown(),
both the link and dev can be active for a moment, so this check is not
helping the race condition. And assume you come up with a better check,
you want to add the check everywhere? You must have noticed the fix to
the func ufshcd_clk_gate_enable_store() from Jaegeuk Kim. So, don't
expect any luck from user space, so long the sysfs nodes are available,
users can grasp them and even stress them just for testing purposes.
I don't see why removing the sysfs nodes during ufshcd_shutdown() is a
concern to customer - we should do whatever is needed to protect LLD
contexts from user space intervene. What do you think?
Can Guo.
Thanks,
Can Guo.
next prev parent reply other threads:[~2020-12-23 1:32 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-15 23:05 [PATCH v5 0/7] Several changes for UFS WriteBooster Bean Huo
2020-12-15 23:05 ` [PATCH v5 1/7] scsi: ufs: Add "wb_on" sysfs node to control WB on/off Bean Huo
2020-12-22 6:08 ` Stanley Chu
2020-12-22 6:12 ` Can Guo
2020-12-22 20:57 ` Bean Huo
2020-12-22 22:11 ` Bean Huo
2020-12-23 1:31 ` Can Guo [this message]
2020-12-23 8:28 ` Bean Huo
2020-12-23 8:30 ` Bean Huo
2020-12-23 9:11 ` Bean Huo
2020-12-22 20:50 ` Bean Huo
2020-12-22 21:08 ` Bean Huo
2020-12-23 21:52 ` Bean Huo
2020-12-15 23:05 ` [PATCH v5 2/7] docs: ABI: Add wb_on documentation for UFS sysfs Bean Huo
2020-12-15 23:05 ` [PATCH v5 3/7] scsi: ufs: Changes comment in the function ufshcd_wb_probe() Bean Huo
2020-12-15 23:05 ` [PATCH v5 4/7] scsi: ufs: Remove two WB related fields from struct ufs_dev_info Bean Huo
2020-12-16 4:15 ` Stanley Chu
2020-12-15 23:05 ` [PATCH v5 5/7] scsi: ufs: Group UFS WB related flags to " Bean Huo
2020-12-16 4:16 ` Stanley Chu
2020-12-22 6:14 ` Can Guo
2020-12-15 23:05 ` [PATCH v5 6/7] scsi: ufs: Cleanup WB buffer flush toggle implementation Bean Huo
2020-12-16 4:17 ` Stanley Chu
2020-12-22 6:14 ` Can Guo
2020-12-15 23:05 ` [PATCH v5 7/7] scsi: ufs: Keep device active mode only fWriteBoosterBufferFlushDuringHibernate == 1 Bean Huo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=862483add1462510b809aee6d3678435@codeaurora.org \
--to=cang@codeaurora.org \
--cc=alim.akhtar@samsung.com \
--cc=asutoshd@codeaurora.org \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=huobean@gmail.com \
--cc=jejb@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=stanley.chu@mediatek.com \
--cc=tomas.winkler@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.