Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp57693pxj; Wed, 16 Jun 2021 20:12:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyq6qOfIcsRRTgDxiHORJDjuozz0JnXy2Kq2DVrrTUL7INArV4rUjokPOhjqgF2on8BhD1X X-Received: by 2002:a5d:8b85:: with SMTP id p5mr1917968iol.43.1623899571067; Wed, 16 Jun 2021 20:12:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623899571; cv=none; d=google.com; s=arc-20160816; b=kMLYYKFvASfoST0G+oRMa/vpsbVFIXu//O1kxBNrTYJLS/c1R/DX2WXMACB7E8PnSc WykuPaJTHg0BNYXlPiqwb/uDGQr/k4o6Kt3V86AcI7EYQcTqpJKWoQuRiRmBCmIzS59z C38V8wa4ucXcmGCanNdlfiExEqkXUVotXnFHsYP8T26FYgsx8aqrG56FpR+n8sEAPYc3 Z7UWfETCUrQs1asesuqa2eM9qXKja4GNXv2CKvSgGwgQqbH8eXeh6l99TU0G09OF6Qfj FmRJVKI6OTjjvXuSnh08XI8PsuQXq88s1OuOdVkuExvvbmize3h2Gct3a6lT2AX+Fzqc nbGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-language:content-transfer-encoding :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dmarc-filter:sender:dkim-signature; bh=rXxMRiUQCFxWYdeEQMd1dqMz8gjZz4tfzN8B1BwOFjg=; b=qrS8YkC9yrF2LTgR3DfxsWbaipSIGsGFxzk5UUsHkMtEZxjulDqirphQ3TxiacasZ8 tcZ1DOrKDCFRNT57iAjVWmvWXpFTDhHqx8ch4KbuyaBfdXwxUH5OzyQPxsbwW7WGBtLK NephVAB1feC2atxFr0hL169YRTMr/h9AaMOFT77stp/fAfygJISW53eBRt7NV31Xu1vq zEwdRmzQ+fn+/YgxfGkkgtWfv9KuGqcw5AKIzlf8r3TPMD8Qj6KyvxbmFJBNWr5Zv5WJ HaCVl7lZ2KXqyWD2p+eGlqQvesNLmMlP32qoGp0/frwNx4DV7wyx+hUKCSO9eE1I4EnJ S7UQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b=pUP7fKg1; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q8si4367904ior.12.2021.06.16.20.12.39; Wed, 16 Jun 2021 20:12:51 -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=@mg.codeaurora.org header.s=smtp header.b=pUP7fKg1; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232000AbhFPStQ (ORCPT + 99 others); Wed, 16 Jun 2021 14:49:16 -0400 Received: from so254-9.mailgun.net ([198.61.254.9]:48015 "EHLO so254-9.mailgun.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231942AbhFPStP (ORCPT ); Wed, 16 Jun 2021 14:49:15 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1623869229; h=Content-Transfer-Encoding: Content-Type: In-Reply-To: MIME-Version: Date: Message-ID: From: References: Cc: To: Subject: Sender; bh=rXxMRiUQCFxWYdeEQMd1dqMz8gjZz4tfzN8B1BwOFjg=; b=pUP7fKg1zL2vTyrPMMx0EItzsJXHptVQ+qww3UYULFoNWxdozEmKinpHaOJYrLvJpdzh+Zex tfK6r7e2oSpj8roZKJJlE/wcN33u1dAlXnALO9dl9V0XZE+e2ZD70KEiFmcI+OdqnhNzOIFW TjxcABLRQE/0WcECaz34AzGraGg= X-Mailgun-Sending-Ip: 198.61.254.9 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n04.prod.us-east-1.postgun.com with SMTP id 60ca4728e27c0cc77f77d3d9 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Wed, 16 Jun 2021 18:47:04 GMT Sender: sidgup=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id B1E61C4338A; Wed, 16 Jun 2021 18:47:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=2.0 tests=ALL_TRUSTED,BAYES_00, NICE_REPLY_A,SPF_FAIL autolearn=no autolearn_force=no version=3.4.0 Received: from [192.168.1.10] (cpe-75-83-25-192.socal.res.rr.com [75.83.25.192]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sidgup) by smtp.codeaurora.org (Postfix) with ESMTPSA id CCE98C433D3; Wed, 16 Jun 2021 18:47:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org CCE98C433D3 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=sidgup@codeaurora.org Subject: Re: [PATCH v3 1/4] remoteproc: core: Move cdev add before device add To: Greg KH Cc: bjorn.andersson@linaro.org, ohad@wizery.com, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, psodagud@codeaurora.org, stable@vger.kernel.org References: <1623723671-5517-1-git-send-email-sidgup@codeaurora.org> <1623723671-5517-2-git-send-email-sidgup@codeaurora.org> <0a196786-f624-d9bb-8ef9-55c04ed57497@codeaurora.org> From: Siddharth Gupta Message-ID: Date: Wed, 16 Jun 2021 11:47:01 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/15/2021 10:58 PM, Greg KH wrote: > On Tue, Jun 15, 2021 at 12:03:26PM -0700, Siddharth Gupta wrote: >> On 6/14/2021 9:56 PM, Greg KH wrote: >>> On Mon, Jun 14, 2021 at 07:21:08PM -0700, Siddharth Gupta wrote: >>>> When cdev_add is called after device_add has been called there is no >>>> way for the userspace to know about the addition of a cdev as cdev_add >>>> itself doesn't trigger a uevent notification, or for the kernel to >>>> know about the change to devt. This results in two problems: >>>> - mknod is never called for the cdev and hence no cdev appears on >>>> devtmpfs. >>>> - sysfs links to the new cdev are not established. >>>> >>>> The cdev needs to be added and devt assigned before device_add() is >>>> called in order for the relevant sysfs and devtmpfs entries to be >>>> created and the uevent to be properly populated. >>> So this means no one ever ran this code on a system that used devtmpfs? >>> >>> How was it ever tested? >> My testing was done with toybox + Android's ueventd ramdisk. >> As I mentioned in the discussion, the race became evident >> recently. I will make sure to test all such changes without >> systemd/ueventd in the future. > It isn't an issue of systemd/ueventd, those do not control /dev on a > normal system, that is what devtmpfs is for. I am not fully aware of when devtmpfs is enabled or not, but in case it is not - systemd/ueventd will create these files with mknod, right? I was even manually able to call mknod from the terminal when some of the remoteproc character device entries showed up (using major number from there, and minor number being the remoteproc id), and that allowed me to boot up the remoteprocs as well. > > And devtmpfs nodes are only created if you create a struct device > somewhere with a proper major/minor, which you were not doing here, so > you must have had a static /dev on your test systems, right? I am not sure of what you mean by a static /dev? Could you explain? In case you mean the character device would be non-functional, that is not the case. They have been working for us since the beginning. Thanks, Sid > > thanks, > > greg k-h