lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YqdyErIYYk85NV41@kroah.com>
Date:   Mon, 13 Jun 2022 19:21:22 +0200
From:   Greg KH <gregkh@...uxfoundation.org>
To:     Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
Cc:     Bard Liao <yung-chuan.liao@...ux.intel.com>,
        alsa-devel@...a-project.org, vkoul@...nel.org,
        vinod.koul@...aro.org, linux-kernel@...r.kernel.org, tiwai@...e.de,
        broonie@...nel.org, srinivas.kandagatla@...aro.org,
        sanyog.r.kale@...el.com, bard.liao@...el.com
Subject: Re: [PATCH 1/2] soundwire: intel: uniquify debug message

On Mon, Jun 13, 2022 at 07:48:32AM -0500, Pierre-Louis Bossart wrote:
> 
> 
> >>>> diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c
> >>>> index 505c5ef061e3..808e2f320052 100644
> >>>> --- a/drivers/soundwire/intel.c
> >>>> +++ b/drivers/soundwire/intel.c
> >>>> @@ -1328,8 +1328,8 @@ int intel_link_startup(struct auxiliary_device *auxdev)
> >>>>  
> >>>>  	if (bus->prop.hw_disabled) {
> >>>>  		dev_info(dev,
> >>>> -			 "SoundWire master %d is disabled, ignoring\n",
> >>>> -			 sdw->instance);
> >>>> +			 "%s: SoundWire master %d is disabled, ignoring\n",
> >>>> +			 __func__, sdw->instance);
> >>>
> >>> This is not a debug message, please make it such if you want to have
> >>> __func__  And even then, it's not needed as you can get that from the
> >>> kernel automatically.
> >>
> >> Sorry, I don't understand the feedback at all.
> > 
> > dev_info() is not a way to send debug messages.
> > 
> > If you want this to be only for debugging, use dev_dbg().  And when you
> > use that, you get the __func__ location for free in the output already
> > if you want that.
> > 
> >> This message was added precisely to figure out why the expected
> >> programming sequence was not followed, only to discover that we have
> >> devices with spurious PCI wakes handled below. Without this added
> >> difference with __func__, we wouldn't know if the issue happened during
> >> the expected/regular programming sequence or not.
> > 
> > Perhaps make the text unique then?  Why would an informational message
> > need a function name.  Drivers should be quiet when all is going well.
> > If something is not going well, dev_info() is not the kernel log level
> > to be sending something out at.
> 
> This is not a debug message - unlike all the others. The BIOS and/or the
> user may disable a specific link and it's useful to know.

Ok, but that's not what your subject and changelog said you were
modifying here.  Hence my confusion :)

> The intent of __func__ was precisely to make the text unique across all
> cases where we test for hw_disabled, but you have a point that this
> specific info message should be clearer. The text was actually already
> different from the 'disable or not-started' cases, I might have done one
> too many edits in this file. Will fix.
> 
> >>>>  		return 0;
> >>>>  	}
> >>>>  
> >>>> @@ -1489,8 +1489,8 @@ int intel_link_process_wakeen_event(struct auxiliary_device *auxdev)
> >>>>  	bus = &sdw->cdns.bus;
> >>>>  
> >>>>  	if (bus->prop.hw_disabled || !sdw->startup_done) {
> >>>> -		dev_dbg(dev, "SoundWire master %d is disabled or not-started, ignoring\n",
> >>>> -			bus->link_id);
> >>>> +		dev_dbg(dev, "%s: SoundWire master %d is disabled or not-started, ignoring\n",
> >>>> +			__func__, bus->link_id);
> >>>>  		return 0;
> >>>>  	}
> >>>>  
> >>>> @@ -1549,8 +1549,8 @@ static int __maybe_unused intel_pm_prepare(struct device *dev)
> >>>>  	int ret;
> >>>>  
> >>>>  	if (bus->prop.hw_disabled || !sdw->startup_done) {
> >>>> -		dev_dbg(dev, "SoundWire master %d is disabled or not-started, ignoring\n",
> >>>> -			bus->link_id);
> >>>> +		dev_dbg(dev, "%s: SoundWire master %d is disabled or not-started, ignoring\n",
> >>>> +			__func__, bus->link_id);
> >>>
> >>> Not needed, it is provided automatically if you ask the kernel for this.
> >>> Same for all other instances in this patch.
> >>
> >> provided how? Your comment is a bit cryptic here.
> > 
> > the dynamic debug code in the kernel already adds the function name
> > where the message was sent from, if you want to know this in userspace.
> > Please read the documentation for details (I think the key is the 'f'
> > flag to be enabled in userspace).
> > 
> > So adding __func__ to dev_dbg() calls are redundant and never needed.
> 
> Oh wow, I had no idea - and I am not the only one :-)
> 
> Here's what I get with a grep on the kernel code
> 
> git grep __func__ | grep dev_dbg | wc -l
> 
> 3122
> 
> 
> Doing this for sound/ gives me 356, and that's for single-line logs only.
> 
> There's clearly something that was missed by tons of people.

Yes, it's not commonly known so cleanups are always welcome.  Perhaps
some of those usages predate the feature being added as well.

thanks,

greg k-h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ