Linux Tegra architecture development
 help / color / mirror / Atom feed
From: Sowjanya Komatineni <skomatineni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
	frankc-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
	hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org,
	sakari.ailus-X3B1VOXEql0@public.gmane.org,
	helen.koike-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org,
	sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [RFC PATCH v7 6/9] media: tegra: Add Tegra210 Video input driver
Date: Thu, 16 Apr 2020 08:12:13 -0700	[thread overview]
Message-ID: <254a9091-8c90-61fa-6a5a-af5ad6e2133e@nvidia.com> (raw)
In-Reply-To: <c95cd2b6-8036-8c0a-25f3-6ea3fe35334a-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

tegra-video module unload->load and tegra-video driver unbind->bind are 
good.

Will have v8 to switch to use devm_kzalloc for vi/csi and will revisit 
direct host1x client driver unbind->bind later.

Thanks

Sowjanya


On 4/15/20 4:28 PM, Sowjanya Komatineni wrote:
> Sorry please ignore.
>
> We can't free vi during v4l2 device release as when no device nodes 
> are opened, vi free happens right away during host1x_video_remove.
>
> With this tegra-video driver unbind ->bind will not work as vi memory 
> allocated during vi_probe gets freed during v4l2 device release so 
> during bind init() callback execution will crash as vi got freed while 
> vi driver is still bound to device.
>
> Will wait for Hans/Thierry comments as I see dependency depending on 
> where unbind/bind happens.
>
>
> On 4/15/20 4:08 PM, Sowjanya Komatineni wrote:
>> With minor change of not using vi reference after 
>> host1x_client_unregister and freeing vi during v4l2 device release 
>> works.
>>
>> For csi, we can use devm_kzalloc for now untill we decide later if we 
>> want to expose async subdev nodes during sensor support.
>>
>> Will have this fix in v8 with a comment in vi_remove to make sure not 
>> to use vi reference after host1x_client_unregister.
>>
>> Will test more and will release v8 with above fix to allow direct 
>> host1x client driver unbind.
>>
>> Thanks
>>
>> sowjanya
>>
>>
>> On 4/15/20 12:51 PM, Sowjanya Komatineni wrote:
>>>
>>> On 4/15/20 12:21 PM, Dmitry Osipenko wrote:
>>>> External email: Use caution opening links or attachments
>>>>
>>>>
>>>> 15.04.2020 21:53, Sowjanya Komatineni пишет:
>>>> ...
>>>>>>>>>>> Have you tried to test this driver under KASAN? I suspect that
>>>>>>>>>>> you just
>>>>>>>>>>> masked the problem, instead of fixing it.
>>>>> Tested with kmemleak scan and did not see any memory leaks
>>>> You should get use-after-free and not memleak.
>>> I don't see use-after-free bugs during the testing.
>>>
>>> But as mentioned when direct vi/csi client driver unbind happens 
>>> while video device node is kept opened, vi driver remove will free 
>>> vi structure memory but actual video device memory which is part of 
>>> channels remains but list head gets lost when vi structure is freed.
>>>
>>> So, when device node is released and executes release callback as 
>>> list head is lost it can't free allocated channels which is not good.
>>>
>>> This happens only with direct host1x client vi/csi driver unbind.
>>>
>>> Need to find better place to free host1x client driver data 
>>> structure to allow direct client driver unbind->bind.
>>>

  parent reply	other threads:[~2020-04-16 15:12 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-15  2:57 [RFC PATCH v7 0/9] Add Tegra driver for video capture Sowjanya Komatineni
2020-04-15  2:57 ` [RFC PATCH v7 3/9] dt-bindings: clock: tegra: Add clk id for CSI TPG clock Sowjanya Komatineni
2020-04-15  2:57 ` [RFC PATCH v7 5/9] dt-binding: tegra: Add VI and CSI bindings Sowjanya Komatineni
     [not found] ` <1586919463-30542-1-git-send-email-skomatineni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-15  2:57   ` [RFC PATCH v7 1/9] arm64: tegra: Fix sor powergate clocks and reset Sowjanya Komatineni
2020-04-15  2:57   ` [RFC PATCH v7 2/9] arm64: tegra: Add reset-cells to mc Sowjanya Komatineni
2020-04-15  2:57   ` [RFC PATCH v7 4/9] clk: tegra: Add Tegra210 CSI TPG clock gate Sowjanya Komatineni
2020-04-15  2:57   ` [RFC PATCH v7 6/9] media: tegra: Add Tegra210 Video input driver Sowjanya Komatineni
     [not found]     ` <1586919463-30542-7-git-send-email-skomatineni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-15 14:22       ` Dmitry Osipenko
     [not found]         ` <4118112f-f865-5460-6319-d71271fd78d1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-15 16:54           ` Sowjanya Komatineni
2020-04-15 17:21             ` Sowjanya Komatineni
     [not found]               ` <6afa951e-d904-f3c0-053f-82a02fb18979-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-15 17:47                 ` Sowjanya Komatineni
     [not found]                   ` <b1c78827-13ea-0c94-a575-97b5afc0ede1-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-15 17:48                     ` Sowjanya Komatineni
     [not found]                       ` <5954a7e1-910e-7f48-56d3-e671b56ead74-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-15 18:39                         ` Sowjanya Komatineni
2020-04-15 18:53                           ` Sowjanya Komatineni
2020-04-15 19:21                             ` Dmitry Osipenko
2020-04-15 19:51                               ` Sowjanya Komatineni
     [not found]                                 ` <2ad9352f-cb65-1643-e540-a21f9c570266-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-15 23:08                                   ` Sowjanya Komatineni
     [not found]                                     ` <31924f2b-8f85-d28d-4f5d-4e232bff94a5-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-15 23:28                                       ` Sowjanya Komatineni
     [not found]                                         ` <c95cd2b6-8036-8c0a-25f3-6ea3fe35334a-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-16 15:12                                           ` Sowjanya Komatineni [this message]
2020-04-15  2:57   ` [RFC PATCH v7 7/9] MAINTAINERS: Add Tegra Video driver section Sowjanya Komatineni
2020-04-15  2:57   ` [RFC PATCH v7 8/9] dt-bindings: reset: Add ID for Tegra210 VI reset Sowjanya Komatineni
2020-04-15  2:57 ` [RFC PATCH v7 9/9] arm64: tegra: Add Tegra VI CSI support in device tree Sowjanya Komatineni

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=254a9091-8c90-61fa-6a5a-af5ad6e2133e@nvidia.com \
    --to=skomatineni-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=frankc-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=helen.koike-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org \
    --cc=hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org \
    --cc=jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=sakari.ailus-X3B1VOXEql0@public.gmane.org \
    --cc=sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /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