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: <1435860103.2487.30.camel@perches.com>
Date:	Thu, 02 Jul 2015 11:01:43 -0700
From:	Joe Perches <joe@...ches.com>
To:	Mario Bambagini <mario.bambagini@...il.com>
Cc:	Krzysztof Hałasa <khalasa@...p.pl>,
	linux-kernel@...r.kernel.org,
	driverdev-devel@...uxdriverproject.org
Subject: Re: [PATCH] defines modified to match the 80-char rule

On Wed, 2015-07-01 at 23:20 -0700, Joe Perches wrote:
> On Wed, 2015-07-01 at 09:59 +0200, Krzysztof Hałasa wrote:
> > Mario Bambagini <mario.bambagini@...il.com> writes:
> > 
> > > Defines have been written in more than one line to match the 80-character
> > > rule. This error has been fixed 6 times in this file.
> > > The file is fully compliant with respect to the coding rules now.
> > 
> > Rules, maybe. But is it better, i.e., more readable?
> > 
> > > --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h
> > > +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h
> []
> > > -#define LCONSOLE(mask, format, ...) CDEBUG(D_CONSOLE | (mask), format, ## __VA_ARGS__)
> []
> > > +#define LCONSOLE(mask, format, ...)					\
> > > +		CDEBUG(D_CONSOLE | (mask), format, ## __VA_ARGS__)
> 
> > ... I don't think so. Perhaps if I wasn't using the bleading edge tech
> > 132-column digital flat LCD screen, I would see this differently (Emacs
> > isn't perfect when displaying long lines on IBM monochrome display
> > adapter, even with the intelligent-long-lines-wrap package).
> 
> I think this isn't particularly nice because of the
> different alignment styles used for the macros.
> 
> I think it's OK as is, but it _might_ be nicer if it
> removed the space after ## and used the same indent
> as most other macros.

I suggest something like this:

o Use fmt for format
o Consistent use of ##__VA_ARGS__
o Consistent argument alignment
o Consistent line continuation alignment
o Standardize __printf location

Perhaps the libcfs_debug_msg and libcfs_debug_vmsg2
functions can be collapsed into a single function
using the vsprintf %pV extension.

---
 .../lustre/include/linux/libcfs/libcfs_debug.h     | 54 +++++++++++++---------
 1 file changed, 32 insertions(+), 22 deletions(-)

diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h
index 8251ac9..97a8710 100644
--- a/drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h
+++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h
@@ -207,7 +207,7 @@ static inline int cfs_cdebug_show(unsigned int mask, unsigned int subsystem)
 		((libcfs_debug & mask) && (libcfs_subsystem_debug & subsystem));
 }
 
-#define __CDEBUG(cdls, mask, format, ...)				\
+#define __CDEBUG(cdls, mask, fmt, ...)					\
 do {									\
 	static struct libcfs_debug_msg_data msgdata;			\
 									\
@@ -215,41 +215,51 @@ do {									\
 									\
 	if (cfs_cdebug_show(mask, DEBUG_SUBSYSTEM)) {			\
 		LIBCFS_DEBUG_MSG_DATA_INIT(&msgdata, mask, cdls);	\
-		libcfs_debug_msg(&msgdata, format, ## __VA_ARGS__);	\
+		libcfs_debug_msg(&msgdata, fmt, ##__VA_ARGS__);		\
 	}								\
 } while (0)
 
-#define CDEBUG(mask, format, ...) __CDEBUG(NULL, mask, format, ## __VA_ARGS__)
+#define CDEBUG(mask, fmt, ...)						\
+	__CDEBUG(NULL, mask, fmt, ##__VA_ARGS__)
 
-#define CDEBUG_LIMIT(mask, format, ...)					\
+#define CDEBUG_LIMIT(mask, fmt, ...)					\
 do {									\
 	static struct cfs_debug_limit_state cdls;			\
 									\
-	__CDEBUG(&cdls, mask, format, ## __VA_ARGS__);			\
+	__CDEBUG(&cdls, mask, fmt, ##__VA_ARGS__);			\
 } while (0)
 
-#define CWARN(format, ...)	CDEBUG_LIMIT(D_WARNING, format, ## __VA_ARGS__)
-#define CERROR(format, ...)	CDEBUG_LIMIT(D_ERROR, format, ## __VA_ARGS__)
-#define CNETERR(format, a...)	CDEBUG_LIMIT(D_NETERROR, format, ## a)
-#define CEMERG(format, ...)	CDEBUG_LIMIT(D_EMERG, format, ## __VA_ARGS__)
+#define CWARN(fmt, ...)							\
+	CDEBUG_LIMIT(D_WARNING, fmt, ##__VA_ARGS__)
+#define CERROR(fmt, ...)						\
+	CDEBUG_LIMIT(D_ERROR, fmt, ##__VA_ARGS__)
+#define CNETERR(fmt, ...)						\
+	CDEBUG_LIMIT(D_NETERROR, fmt, ##__VA_ARGS__)
+#define CEMERG(fmt, ...)						\
+	CDEBUG_LIMIT(D_EMERG, fmt, ##__VA_ARGS__)
 
-#define LCONSOLE(mask, format, ...) CDEBUG(D_CONSOLE | (mask), format, ## __VA_ARGS__)
-#define LCONSOLE_INFO(format, ...)  CDEBUG_LIMIT(D_CONSOLE, format, ## __VA_ARGS__)
-#define LCONSOLE_WARN(format, ...)  CDEBUG_LIMIT(D_CONSOLE | D_WARNING, format, ## __VA_ARGS__)
-#define LCONSOLE_ERROR_MSG(errnum, format, ...) CDEBUG_LIMIT(D_CONSOLE | D_ERROR, \
-			   "%x-%x: " format, errnum, LERRCHKSUM(errnum), ## __VA_ARGS__)
-#define LCONSOLE_ERROR(format, ...) LCONSOLE_ERROR_MSG(0x00, format, ## __VA_ARGS__)
+#define LCONSOLE(mask, fmt, ...)					\
+	CDEBUG(D_CONSOLE | (mask), fmt, ##__VA_ARGS__)
+#define LCONSOLE_INFO(fmt, ...)						\
+	CDEBUG_LIMIT(D_CONSOLE, fmt, ##__VA_ARGS__)
+#define LCONSOLE_WARN(fmt, ...)						\
+	CDEBUG_LIMIT(D_CONSOLE | D_WARNING, fmt, ##__VA_ARGS__)
+#define LCONSOLE_ERROR_MSG(errnum, fmt, ...)				\
+	CDEBUG_LIMIT(D_CONSOLE | D_ERROR, "%x-%x: " fmt,		\
+		     errnum, LERRCHKSUM(errnum), ##__VA_ARGS__)
+#define LCONSOLE_ERROR(fmt, ...)					\
+	LCONSOLE_ERROR_MSG(0x00, fmt, ##__VA_ARGS__)
 
-#define LCONSOLE_EMERG(format, ...) CDEBUG(D_CONSOLE | D_EMERG, format, ## __VA_ARGS__)
+#define LCONSOLE_EMERG(fmt, ...)					\
+	CDEBUG(D_CONSOLE | D_EMERG, fmt, ##__VA_ARGS__)
 
+__printf(2, 3)
 int libcfs_debug_msg(struct libcfs_debug_msg_data *msgdata,
-			    const char *format1, ...)
-	__printf(2, 3);
-
+		     const char *fmt, ...);
+__printf(4, 5)
 int libcfs_debug_vmsg2(struct libcfs_debug_msg_data *msgdata,
-			      const char *format1,
-			      va_list args, const char *format2, ...)
-	__printf(4, 5);
+		       const char *format1, va_list args,
+		       const char *format2, ...);
 
 /* other external symbols that tracefile provides: */
 int cfs_trace_copyin_string(char *knl_buffer, int knl_buffer_nob,


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ