[PATCH v3 0/2] kernel.h: container_of() pointer checking

From: Ian Abbott
Date: Tue May 23 2017 - 11:54:06 EST


[Apologies for the resend. I got both mailing list addresses wrong!]

Patch 2 changes the container_of() macro to improve the compatibility
checking when the member has array type. As a bonus (?), if the pointer
neither points to a type compatible with the member nor points to a type
compatible with void, compiler errors are produced instead of warnings.

Patch 1 is a prerequisite to avoid a lot of warnings when <linux/bug.h>
is included by <linux/kernel.h>.

1) asm-generic/bug.h: declare struct pt_regs; before function prototype
2) kernel.h: handle pointers to arrays better in container_of()

include/asm-generic/bug.h | 1 +
include/linux/kernel.h | 9 ++++++---
2 files changed, 7 insertions(+), 3 deletions(-)