Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp4283032ybg; Mon, 8 Jun 2020 04:03:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyaFDD0sXPrxo3cioqkmZEwxhgERX6upgwA2FmdyfOK+oivT36x12j7iDEC0IKkWwf/C3eS X-Received: by 2002:a17:906:2e55:: with SMTP id r21mr19771934eji.338.1591614198032; Mon, 08 Jun 2020 04:03:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591614198; cv=none; d=google.com; s=arc-20160816; b=Hu7dRhIS7r9H+iGM5dwDVeEitOx/Na+h5jPJqO/U+57D1YXMbLfXZoX1alq/rqVonz R8863jQidrXdrAZVU/trZin+32mINRU8g8fkbT85Nmffxay+z/9DvTbM7mmKYiDGCHoB 00tMydjpuaLIlHsKdTAfvMjcFndwPLlBj/9sNL6FGFrUyqJXnUO3wsZz1/4CVjfwyhtY Mh5BxclbK6gZemBmmRMmgU7+Vc+p930uX7W+B7D5S22tkVgEVkm0zLkIj8AE9adUe5hv zOAG1E99WzJUwVU6HXVo7ySFOkHLKqfMS6Egb6+oIJIqJFV/I2mmhHM98IUFiIxBk2MV GaRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=tFSu6hqaAOlxMXk7AF7L8MFigv8VWC7JtYs9X6RiWP4=; b=OGsyvr2Y4wxNxyprNROziMxYXXxgGFM8Gn5bxN5ymFnnMVkffUCnTKCgS5gHR6hvYQ gdJxOTNiPLz7DMAtOcx6bqH8DQ3li4cgkhfIY8+0jLFo391uwMKCJecgvCoznFBLdYv/ t1dX4IYr8CSmT5OyR0eEdI+ChxEHvNndzSugO6EM5oUVpaVJfKvq+A81EJKZozoFbqbI g1jF8z9l4lYfnN5Hunp+V94M79fqGEC3EuKnmnaCsXN0sPqUneR3xQn8lLBeOCWFBrIQ cxVA9CqZaoZe17+kFEfQlwqzjSiG55EQrxjIHXyFlgmE0vIUg8etoDOByaArGKs9Ybcz UBzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="tn/RyYxf"; 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 a7si8654036ejx.184.2020.06.08.04.02.54; Mon, 08 Jun 2020 04:03:18 -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="tn/RyYxf"; 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 S1729407AbgFHK6A (ORCPT + 99 others); Mon, 8 Jun 2020 06:58:00 -0400 Received: from mail.kernel.org ([198.145.29.99]:50204 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726202AbgFHK6A (ORCPT ); Mon, 8 Jun 2020 06:58:00 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 3FB442076A; Mon, 8 Jun 2020 10:57:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1591613878; bh=0YKlIh3ZdkaZQyvIZ6bMpKP2/ZB7PrcvF6YsMTRXw00=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=tn/RyYxfyGlVekUygXilwadLavzVGZtEITW19EAHhsJdVsIheX2HXiop+gwQuHthi ErpCVLl/cuaPBcv7yY5FWyDiM5rgBM/+8UAyzjHeUdFafBsZ4QsK7oTUT7hrNDRYqs BN4YXZwYSYR9813nfJQb3T837g7FVF019RU7BMZw= Date: Mon, 8 Jun 2020 12:57:56 +0200 From: Greg KH To: matthias.bgg@kernel.org Cc: rafael@kernel.org, linux-kernel@vger.kernel.org, gene.chen.richtek@gmail.com, lee.jones@linaro.org, Matthias Brugger , kernel test robot Subject: Re: [PATCH 1/2] drivers: base: Warn if driver name is not present Message-ID: <20200608105756.GB295073@kroah.com> References: <20200608095217.21162-1-matthias.bgg@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200608095217.21162-1-matthias.bgg@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 08, 2020 at 11:52:16AM +0200, matthias.bgg@kernel.org wrote: > From: Matthias Brugger > > If we pass a driver without a name, we end up in a NULL pointer > derefernce. That's a very good reason not to have a driver without a name :) What in-kernel driver does this? > Check for the name before trying to register the driver. > As we don't have a driver name to point to in the error message, we dump > the call stack to make it easier to detect the buggy driver. > > Reported-by: kernel test robot > Signed-off-by: Matthias Brugger > --- > drivers/base/driver.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/base/driver.c b/drivers/base/driver.c > index 57c68769e157..40fba959c140 100644 > --- a/drivers/base/driver.c > +++ b/drivers/base/driver.c > @@ -149,6 +149,12 @@ int driver_register(struct device_driver *drv) > int ret; > struct device_driver *other; > > + if (!drv->name) { > + pr_err("Driver has no name.\n"); > + dump_stack(); > + return -EINVAL; Ick, no, an oops-traceback for doing something dumb like this should be all that we need, right? How "hardened" do we need to make internal apis anyway? What's the odds that if this does trigger, the driver author would even notice it? thanks, greg k-h