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]
Date:   Mon, 07 Feb 2022 02:15:47 -0800
From:   Joe Perches <joe@...ches.com>
To:     Dan Carpenter <dan.carpenter@...cle.com>,
        Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@...il.com>
Cc:     gregkh@...uxfoundation.org, realwakka@...il.com,
        linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] staging: pi433: remove need to recompile code to debug
 fifo content

On Mon, 2022-02-07 at 13:06 +0300, Dan Carpenter wrote:
> On Mon, Feb 07, 2022 at 05:45:12PM +1300, Paulo Miguel Almeida wrote:
> > Debugging content present in the FIFO register is tricky as when we read
> > the FIFO register that changes the content of fifo struct which reduces
> > number of possible ways of debugging it. Rf69 uC has the possibility of
> > triggering certain IRQs depending on how many items are in the FIFO
> > queue, so being able to know what's in there is an important way to
> > troubleshoot certain problems.
> > 
> > This patch removes the requirement of having to compile pi433 driver
> > with DEBUG_FIFO_ACCESS set and let that be driven by printk verbositity
> > level and/or dynamic debug config instead.
> > 
> > Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@...il.com>
> > ---
> > Meta-comments:
> > 
> > #1
> > In my mind, I didn't like the idea of having to change the code and then 
> > echo "module pi433 +p" > <debugfs>/dynamic_debug/control to only then
> > be able to read stuff being sent/retrieved from fifo. It felt somewhat
> > redundant at a certain level. On the other hand, I understand that
> > removing the conditional compilation will force a for-loop to iterate
> > for no real reason most of the time (max 66 iterations)... so I made a 
> > trade-off and in case anyone disagrees with that, just let me know and I
> > will be happy to change to a different approach.
> > 
> 
> This is fine.  It's useful information to you.  It's makes the code
> nicer by removing ifdefs.  It's not going to show up in benchmarking.
> 
> > #2
> > In the past, it's been pointed out to me during code review that I tend
> > to add code comments which could be omitted. In this case, the for-loop
> > seemed a bit odd without explaining why it's in there. Let me know if
> > you think I should keep/remove it.
> 
> Remove.  Everyone knows what dev_dbg() does and the "read from fifo"
> vs "written from[sic] fifo" is built into the function name.
> 
> >  int rf69_read_fifo(struct spi_device *spi, u8 *buffer, unsigned int size)
> >  {
[]
> > @@ -851,10 +844,9 @@ int rf69_read_fifo(struct spi_device *spi, u8 *buffer, unsigned int size)
> >  
> >  	retval = spi_sync_transfer(spi, &transfer, 1);
> >  
> > -#ifdef DEBUG_FIFO_ACCESS
> > +	/* print content read from fifo for debugging purposes */
> >  	for (i = 0; i < size; i++)
> >  		dev_dbg(&spi->dev, "%d - 0x%x\n", i, local_buffer[i + 1]);
> > -#endif

If you use

	print_hex_dump_debug

perhaps the DEBUG_FIFO_ACCESS could be removed.


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ