From: Jakub Kicinski <kuba@kernel.org>
To: Jijie Shao <shaojijie@huawei.com>
Cc: <davem@davemloft.net>, <edumazet@google.com>, <pabeni@redhat.com>,
<andrew+netdev@lunn.ch>, <horms@kernel.org>,
<shenjian15@huawei.com>, <salil.mehta@huawei.com>,
<liuyonglong@huawei.com>, <wangpeiyang1@huawei.com>,
<chenhao418@huawei.com>, <netdev@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH RESEND net 3/7] net: hns3: Resolved the issue that the debugfs query result is inconsistent.
Date: Wed, 13 Nov 2024 16:31:45 -0800 [thread overview]
Message-ID: <20241113163145.04c92662@kernel.org> (raw)
In-Reply-To: <e4396ecc-7874-4caf-b25d-870a9d897eb1@huawei.com>
On Wed, 13 Nov 2024 13:59:32 +0800 Jijie Shao wrote:
> inconsistent:
> Before this modification,
> if the previous read operation is stopped before complete, the buffer is not released.
> In the next read operation (perhaps after a long time), the driver does not read again.
> Instead, the driver returns the bufffer content, which causes outdated data to be obtained.
> As a result, the obtained data is inconsistent with the actual data.
I think the word "stale" would fit the situation better.
> In this patch, ppos is used to determine whether a new read operation is performed.
> If yes, the driver updates the data in the buffer to ensure that the queried data is fresh.
> But, if two processes read the same file at once, The read operation that ends first releases the buffer.
> As a result, the other read operation re-alloc buffer memory. However, because the value of ppos is not 0,
> the data is not updated again. As a result, the queried data is truncated.
>
> This is a bug and I will fix it in the next version.
Let's say two reads are necessary to read the data:
reader A reader B
read()
- alloc
- hns3_dbg_read_cmd()
read()
read()
read(EOF)
- free
read()
- alloc
- hns3_dbg_read_cmd()
read(EOF)
- free
The data for read A is half from one hns3_dbg_read_cmd() and half from
another. Does it not cause any actual inconsistency?
Also, just to be sure, it's not possible to lseek on these files, right?
next prev parent reply other threads:[~2024-11-14 0:31 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-07 13:30 [PATCH RESEND net 0/7] There are some bugfix for the HNS3 ethernet driver Jijie Shao
2024-11-07 13:30 ` [PATCH RESEND net 1/7] net: hns3: fixed reset failure issues caused by the incorrect reset type Jijie Shao
2024-11-07 13:30 ` [PATCH RESEND net 2/7] net: hns3: fix missing features due to dev->features configuration too early Jijie Shao
2024-11-07 13:30 ` [PATCH RESEND net 3/7] net: hns3: Resolved the issue that the debugfs query result is inconsistent Jijie Shao
2024-11-12 1:25 ` Jakub Kicinski
2024-11-13 5:59 ` Jijie Shao
2024-11-14 0:31 ` Jakub Kicinski [this message]
2024-12-09 14:14 ` Jijie Shao
2024-12-09 21:13 ` Jakub Kicinski
2024-12-13 13:11 ` Jijie Shao
2024-12-13 14:10 ` Jakub Kicinski
2024-11-07 13:30 ` [PATCH RESEND net 4/7] net: hns3: don't auto enable misc vector Jijie Shao
2024-11-07 13:30 ` [PATCH RESEND net 5/7] net: hns3: initialize reset_timer before hclgevf_misc_irq_init() Jijie Shao
2024-11-07 13:30 ` [PATCH RESEND net 6/7] net: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds issue Jijie Shao
2024-11-07 13:30 ` [PATCH RESEND net 7/7] net: hns3: fix kernel crash when 1588 is sent on HIP08 devices Jijie Shao
2024-11-12 17:08 ` [PATCH RESEND net 0/7] There are some bugfix for the HNS3 ethernet driver Simon Horman
2024-11-13 3:21 ` Jijie Shao
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=20241113163145.04c92662@kernel.org \
--to=kuba@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=chenhao418@huawei.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liuyonglong@huawei.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=salil.mehta@huawei.com \
--cc=shaojijie@huawei.com \
--cc=shenjian15@huawei.com \
--cc=wangpeiyang1@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).