[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8ed2850e-7cec-ebeb-4e15-21da3715c42a@redhat.com>
Date: Fri, 24 Jan 2020 11:26:16 -0500
From: Waiman Long <longman@...hat.com>
To: Vasily Averin <vvs@...tuozzo.com>, linux-kernel@...r.kernel.org
Cc: Andrew Morton <akpm@...ux-foundation.org>,
NeilBrown <neilb@...e.com>, Steven Rostedt <rostedt@...dmis.org>,
Ingo Molnar <mingo@...hat.com>,
Peter Oberparleiter <oberpar@...ux.ibm.com>
Subject: Re: [PATCH 7/7] sysvipc_find_ipc should increase position index
On 1/24/20 2:03 AM, Vasily Averin wrote:
> if seq_file .next fuction does not change position index,
> read after some lseek can generate unexpected output.
>
> https://bugzilla.kernel.org/show_bug.cgi?id=206283
> Signed-off-by: Vasily Averin <vvs@...tuozzo.com>
> ---
> ipc/util.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/ipc/util.c b/ipc/util.c
> index 915eacb..7a3ab2e 100644
> --- a/ipc/util.c
> +++ b/ipc/util.c
> @@ -764,13 +764,13 @@ static struct kern_ipc_perm *sysvipc_find_ipc(struct ipc_ids *ids, loff_t pos,
> total++;
> }
>
> + *new_pos = pos + 1;
> if (total >= ids->in_use)
> return NULL;
>
> for (; pos < ipc_mni; pos++) {
> ipc = idr_find(&ids->ipcs_idr, pos);
> if (ipc != NULL) {
> - *new_pos = pos + 1;
> rcu_read_lock();
> ipc_lock_object(ipc);
> return ipc;
Acked-by: Waiman Long <longman@...hat.com>
Powered by blists - more mailing lists