Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp2196663pxb; Mon, 23 Aug 2021 14:28:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwv1UN8FFWexRHttxJw4SljyHyc5Ees9qtgabpXNf2WwwepM5yE49ebRkJm6HyvdeyRFNAG X-Received: by 2002:a05:6e02:10c2:: with SMTP id s2mr24315443ilj.148.1629754092324; Mon, 23 Aug 2021 14:28:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629754092; cv=none; d=google.com; s=arc-20160816; b=XQU4wol8n7P0yCbA4jtV1/d9jM2nHdGjfmnDBXV2eRvk8AdXnmZAeDGP6BMZ2qddBG koDlYw85UucH9eSko0WrJT7lRxaWlkgam88tlb/Ik7yyrKm7SMZ/YJVqcS2K/dAB/rBX D1uC5yglsqy0xzkypr0+scrdkLHdFJJaP1+8rMnKZr0YfslMUxXJeCG9uJMJ7ps8CVQC ddrE9HNhtBAGaGIepOi0sqYuR5CELB8coRK9Wx8DMGsMV3OnXx8eUUxWG/aX+Q7e/8Vo 6/FRVGgvlUi/mduvlM/HJPpd0HlVHHP4LZIwjx7XkQnwgrX88LUjCJa40oPGFtELREZ+ PliQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=mzao6RuAglEKi/SgknU3aXAdpZlFoN4tyrKHzoyQmS4=; b=wKonLxnsWbHEmN5D6g8uiyUscvXkqVGO1gJmOVpKS9QPrRaUUgx6jmcLy44nyeQv6K OXdTU8N2I2d36B212wR/ytT40xrYMeBHRRm5Qa98fzGasVn241IvQoPm0svRzFZF2zwQ cGu4X16FGrzydOXhJy8XvgH+GBq4hWS4+ikWk3C1TWxXN2LzToAPy8gkeo7ThtduZ2Fi Sd0tdXDBMSB0jgCBHzluukLLbLkk94f+qbrKMIVIFoXdEHP78QuGe2qehWN2lg9hc+LR uL9/L0h9amsMspTiJnBfduMK16IslMDz4AaQMAwO8D3klSiSN+lTxBK8YptT83ZtSQyH F38A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=iLRFkiHn; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d7si5773337ila.10.2021.08.23.14.28.00; Mon, 23 Aug 2021 14:28:12 -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=@gmail.com header.s=20161025 header.b=iLRFkiHn; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232724AbhHWV17 (ORCPT + 99 others); Mon, 23 Aug 2021 17:27:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42274 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232503AbhHWV1y (ORCPT ); Mon, 23 Aug 2021 17:27:54 -0400 Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com [IPv6:2607:f8b0:4864:20::82e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 34977C061575; Mon, 23 Aug 2021 14:27:10 -0700 (PDT) Received: by mail-qt1-x82e.google.com with SMTP id l3so15064803qtk.10; Mon, 23 Aug 2021 14:27:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=mzao6RuAglEKi/SgknU3aXAdpZlFoN4tyrKHzoyQmS4=; b=iLRFkiHnmBAd+rrKkKPLw23RV2oYx1GpNhi/57J+sVV1+em72NdBjS/g3v7QRRMSo2 NZn3wibCfHChZ+7pB/MM4cuBGjVfnyWh/hOsXmBUYnQLCTu4wlkpxUYEOcq1JnG144iD Io27CPUP1OF8i2s+F/NmeegT/e3EivXRHsw4SQ6RTHpbmmwjzF3FqT2VzZ1TqAZcl9aN gQmTCYzxFj4OCTgzh5p6eX7BK6v6wyJtr+1N5BL0Fl7OmDtL1gigtWPVYuFtsLxudUDX LpqQ3lf/73RX4apxodDj7yV9zUFxu1SvbUfhr3EbG+rKthdY/y1EUaE76u2jnyFOntmH PzEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=mzao6RuAglEKi/SgknU3aXAdpZlFoN4tyrKHzoyQmS4=; b=TofQKWqjB0qmZn+ke8sremdDkWOTdcHYlXeBgGbgf88RwIvFkKcknyHgZs03PEWWzL eWu93PLF+TPSMc6VFLC7oFHYrQsAK5AjnVR7ktQ+VFGPuNTgqTKJ43RxrZTZMAKrc9VX PNP+p/QWdHEgb4OODqzZM0ysFkoYqrGaJYlLabFNQSnGlFjLzwyQbvpMWHxjfvdOmX7f mVEGp4+D5sn8O7MlxTdG/i8zkDopMmZ7n1Kv3O3uw2Yerbltco/ImzZpTClFaKUhhF+U oc+yOqFbFYjvJrrHmHmrG06TG5/MFQvxiTFzGF9boNyaDQSz3WUyNVq1QMxq1wk/9tht kiZw== X-Gm-Message-State: AOAM533xg0koWfe8ySnDEd/TuilNiJrcAa92hBYwXTEH7RF0Cj6SnGHf FOywtpJWLmI3sulTKWFlT7Y= X-Received: by 2002:ac8:73cb:: with SMTP id v11mr5994903qtp.292.1629754029427; Mon, 23 Aug 2021 14:27:09 -0700 (PDT) Received: from [192.168.1.49] (c-67-187-90-124.hsd1.tn.comcast.net. [67.187.90.124]) by smtp.gmail.com with ESMTPSA id f2sm7116054qth.11.2021.08.23.14.27.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Aug 2021 14:27:08 -0700 (PDT) Subject: Re: [PATCH] of: Don't allow __of_attached_node_sysfs() without CONFIG_SYSFS To: Rob Herring Cc: Marc Zyngier , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel-team@android.com References: <20210820144722.169226-1-maz@kernel.org> From: Frank Rowand Message-ID: Date: Mon, 23 Aug 2021 16:27:08 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 8/23/21 1:46 PM, Rob Herring wrote: > On Sun, Aug 22, 2021 at 11:01:15PM -0500, Frank Rowand wrote: >> Hi Marc, >> >> On 8/20/21 9:47 AM, Marc Zyngier wrote: >>> Trying to boot without SYSFS, but with OF_DYNAMIC quickly >>> results in a crash: >>> >>> [ 0.088460] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000070 >>> [...] >>> [ 0.103927] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.14.0-rc3 #4179 >>> [ 0.105810] Hardware name: linux,dummy-virt (DT) >>> [ 0.107147] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO BTYPE=--) >>> [ 0.108876] pc : kernfs_find_and_get_ns+0x3c/0x7c >>> [ 0.110244] lr : kernfs_find_and_get_ns+0x3c/0x7c >>> [...] >>> [ 0.134087] Call trace: >>> [ 0.134800] kernfs_find_and_get_ns+0x3c/0x7c >>> [ 0.136054] safe_name+0x4c/0xd0 >>> [ 0.136994] __of_attach_node_sysfs+0xf8/0x124 >>> [ 0.138287] of_core_init+0x90/0xfc >>> [ 0.139296] driver_init+0x30/0x4c >>> [ 0.140283] kernel_init_freeable+0x160/0x1b8 >>> [ 0.141543] kernel_init+0x30/0x140 >>> [ 0.142561] ret_from_fork+0x10/0x18 >>> >>> While not having sysfs isn't a very common option these days, >>> it is still expected that such configuration would work. >>> >>> Paper over it by bailing out from __of_attach_node_sysfs() if >>> CONFIG_SYSFS isn't enabled. >> >> CONFIG_SYSFS should be automatically selected when CONFIG_OF_DYNAMIC >> is enabled, and it should not be possible to disable CONFIG_SYSFS >> in this case. > > That used to be true, but isn't now. OK. I agree with you, but when I investigated the original patch email I came to a different conclusion because of the way that I used make menuconfig to debug the situation. It is true when I start with a .config created from 'make qcom_defconfig', then select OF_UNITTEST, which is the only way I can see OF_DYNAMIC. It is the "if OF_UNITTEST" that means SYSFS can not be disabled. If I start with the .config that Marc supplied, then make menuconfig still does not show the OC_DYNAMIC option, but leaves it set since it was already set. In this case SYSFS remains disabled because OF_UNITTEST is also disabled. Using '/OF_DYNAMIC' from within make menuconfig, to get more info about OF_DYNAMIC tells me that the prompt for OF_DYNAMIC is visible if OF && OF_UNITTEST. This is due to the "if OF_UNITTEST" in line 58 of drivers/of/Kconfig in the OF_DYNAMIC specification. Thus I can't figure out how to use make menuconfig to set OF_DYNAMIC without setting OF_UNITTEST. I tried setting OF_UNITTEST, then setting OF_DYNAMIC, saving the changes, then another make menuconfig to disable OF_UNITTEST, which then has the side effect of unsetting OF_DYNAMIC. Would you accept a patch that removes the "if OF_UNITTEST" from the Kconfig entry for OF_DYNAMIC? -Frank > > Rob >