WARNING: line length of 81 exceeds 80 columns #25: FILE: arch/x86/include/asm/uaccess.h:601: +#define unsafe_put_loop(dst, src, len, type, label) \ WARNING: Non-declarative macros with multiple statements should be enclosed in a do - while loop #25: FILE: arch/x86/include/asm/uaccess.h:601: +#define unsafe_put_loop(dst, src, len, type, label) \ while (len >= sizeof(type)) { \ unsafe_put_user(*(type *)(src),(type __user *)(dst),label); \ dst += sizeof(type); \ BUT SEE: do {} while (0) advice is over-stated in a few situations: The more obvious case is macros, like MODULE_PARM_DESC, invoked at file-scope, where C disallows code (it must be in functions). See $exceptions if you have one to add by name. More troublesome is declarative macros used at top of new scope, like DECLARE_PER_CPU. These might just compile with a do-while-0 wrapper, but would be incorrect. Most of these are handled by detecting struct,union,etc declaration primitives in $exceptions. Theres also macros called inside an if (block), which "return" an expression. These cannot do-while, and need a ({}) wrapper. Enjoy this qualification while we work to improve our heuristics. CHECK: Macro argument 'len' may be better as '(len)' to avoid precedence issues #25: FILE: arch/x86/include/asm/uaccess.h:601: +#define unsafe_put_loop(dst, src, len, type, label) \ while (len >= sizeof(type)) { \ unsafe_put_user(*(type *)(src),(type __user *)(dst),label); \ dst += sizeof(type); \ WARNING: line length of 81 exceeds 80 columns #43: FILE: arch/x86/include/asm/uaccess.h:620: +#define unsafe_get_loop(dst, src, len, type, label) \ CHECK: Macro argument 'len' may be better as '(len)' to avoid precedence issues #43: FILE: arch/x86/include/asm/uaccess.h:620: +#define unsafe_get_loop(dst, src, len, type, label) \ + while (len >= sizeof(type)) { \ + unsafe_get_user(*(type __user *)(src),(type *)(dst),label); \ + dst += sizeof(type); \ + src += sizeof(type); \ + len -= sizeof(type); \ + } WARNING: line length of 81 exceeds 80 columns #44: FILE: arch/x86/include/asm/uaccess.h:621: + while (len >= sizeof(type)) { \ WARNING: line length of 81 exceeds 80 columns #45: FILE: arch/x86/include/asm/uaccess.h:622: + unsafe_get_user(*(type __user *)(src),(type *)(dst),label); \ ERROR: space required after that ',' (ctx:VxV) #45: FILE: arch/x86/include/asm/uaccess.h:622: + unsafe_get_user(*(type __user *)(src),(type *)(dst),label); \ ^ ERROR: space required after that ',' (ctx:VxV) #45: FILE: arch/x86/include/asm/uaccess.h:622: + unsafe_get_user(*(type __user *)(src),(type *)(dst),label); \ ^ WARNING: line length of 81 exceeds 80 columns #46: FILE: arch/x86/include/asm/uaccess.h:623: + dst += sizeof(type); \ WARNING: line length of 81 exceeds 80 columns #47: FILE: arch/x86/include/asm/uaccess.h:624: + src += sizeof(type); \ WARNING: line length of 81 exceeds 80 columns #48: FILE: arch/x86/include/asm/uaccess.h:625: + len -= sizeof(type); \ ERROR: space required after that ',' (ctx:VxV) #51: FILE: arch/x86/include/asm/uaccess.h:628: +#define unsafe_copy_from_user(_dst,_src,_len,label) \ ^ ERROR: space required after that ',' (ctx:VxV) #51: FILE: arch/x86/include/asm/uaccess.h:628: +#define unsafe_copy_from_user(_dst,_src,_len,label) \ ^ ERROR: space required after that ',' (ctx:VxV) #51: FILE: arch/x86/include/asm/uaccess.h:628: +#define unsafe_copy_from_user(_dst,_src,_len,label) \ ^ total: 5 errors, 8 warnings, 2 checks, 41 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. Commit 34ffa727b036 ("x86: Add unsafe_copy_from_user()") has style problems, please review. NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT BAD_REPORTED_BY_LINK CAMELCASE COMMIT_LOG_LONG_LINE FILE_PATH_CHANGES GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS.