Received: by 2002:a25:23cc:0:0:0:0:0 with SMTP id j195csp840153ybj; Tue, 5 May 2020 08:20:45 -0700 (PDT) X-Google-Smtp-Source: APiQypJUKMmbxRxnK290/Rp2a8iS7w9xVmXI/KI2rCfhRdSLTsMiLf/W5KeHRzZBVBFdlnYd2pi8 X-Received: by 2002:a17:906:200a:: with SMTP id 10mr3042555ejo.294.1588692045233; Tue, 05 May 2020 08:20:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588692045; cv=none; d=google.com; s=arc-20160816; b=ArTsWtVP4gV5xoG007C16KISEQqLyEGEXiyHKW3H+zzJ95ox9c430GZ6i3qJKIow5J DMpf11wMVcMbqjl9WuAiOQbjxPgWuE3u95JvVRTK3J2xNyqc/HRB94us5ER9zmQDPVkV yN03GTcdg6GPDA00W19RTBoghAzhKSLmtPxcxfPlVdpPrJrzzBTu5HbZQe1hrhMyyrKG HA21huDStf8rAfgZqEw2MdBPUbTJP004q4+W817+adSvZuohDdWgEu6X+YEIkWQeW5uw J4KhLqpYH1FHJZ7NRdiDeWFRahZqZx8MaWfbEZmQLXKrJ3JjGTwFpfv5NDoBhBQ5fdNJ m+MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=m4sLF45dVXEcPDuDgnwuiA2jXViE6UoNX1WOuCKsxIU=; b=XbqNMdGnYjDYR3kG4k1IJShkTF1Nm0gKs57NGqnLI0RURJLRbDBKWuSVhNf1eeGpvg A6JUzuugGayBxzM4TcJuq0+oubf3b8Tn78tgRnTySFlmUr00dd+L4/1FaO9nJZ8+pP1W wdm6kaZ8rf6b6vXPW8PabnxHCM6/B5JxRPbMfX+qd/DGksRrNi9cG/41+uS/TwLMG6Tt JoNDCGCf7njELC1T7rpmbF8nJYGbbWo0kUd+X+W/HZBCeH4e8Qfe71pfdPB2DhhjTIHH LgT4xO5HgKJWmOqAYYgvkwjLxSdzbmH9xBcoRwqHNRpVFZRjG91cFI5CEPYhE7451Pfr ggYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="vgkcg/8O"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bt18si1422690edb.139.2020.05.05.08.20.17; Tue, 05 May 2020 08:20:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="vgkcg/8O"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729463AbgEEPSq (ORCPT + 99 others); Tue, 5 May 2020 11:18:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:45018 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729261AbgEEPSp (ORCPT ); Tue, 5 May 2020 11:18:45 -0400 Received: from coco.lan (ip5f5ad5c5.dynamic.kabel-deutschland.de [95.90.213.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id BA10420661; Tue, 5 May 2020 15:18:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588691925; bh=Qb+bFTrIW/turrfytG4Xj+vuZ0yQCBJTHqIHLSzr85Q=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=vgkcg/8OufOHNA/2a7yMDXATx+PzttSLb25/eJdAKF635garePY8s8lLNraw1LRv6 VXNNiWfiOPCm7i6BI2TzgXY3EDcLnB6o/GKh+xT4o5gbbPmo4irXC6kU8wvHp0jtZL SiRllWraLVhN0ZoS77AmMUO3RZWimOB35NegYes4= Date: Tue, 5 May 2020 17:18:40 +0200 From: Mauro Carvalho Chehab To: Neil Armstrong Cc: linux-media@vger.kernel.org, hverkuil-cisco@xs4all.nl, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Maxime Jourdan Subject: Re: [PATCH 2/3] media: meson: vdec: fix another case of VP9 buffer shortage Message-ID: <20200505171840.48d89ccc@coco.lan> In-Reply-To: <20200428125036.9401-3-narmstrong@baylibre.com> References: <20200428125036.9401-1-narmstrong@baylibre.com> <20200428125036.9401-3-narmstrong@baylibre.com> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Tue, 28 Apr 2020 14:50:35 +0200 Neil Armstrong escreveu: > From: Maxime Jourdan > > - Redo the logic where VP9 gets fresh CAPTURE buffers. The previous code > could lead to a hardlock. > - Reserve 4 margin buffers instead of 3, as apparently there are corner > cases where 3 is not enough. > > Fixes: e9a3eb4819ca ("media: meson: vdec: add VP9 input support") > Fixes: 00c43088aa68 ("media: meson: vdec: add VP9 decoder support") > Signed-off-by: Maxime Jourdan > Signed-off-by: Neil Armstrong > +static struct vb2_v4l2_buffer *get_free_vbuf(struct amvdec_session *sess) > +{ > + struct codec_vp9 *vp9 = sess->priv; > + struct vb2_v4l2_buffer *vbuf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx); > + struct vb2_v4l2_buffer *vbuf2; > + > + if (!vbuf) > + return NULL; > + > + if (!codec_vp9_get_frame_by_idx(vp9, vbuf->vb2_buf.index)) > + return vbuf; > + > + vbuf2 = get_free_vbuf(sess); Huh!!!! Never use recursive functions inside the Kernel! Kernel stack is too limited. Also, even if Kernel stack would be unlimited, the above logic would endlessly be calling get_free_vbuf(sess). Thanks, Mauro