From 4820cdf02a09dad77cc94709c84969c89a353032 Mon Sep 17 00:00:00 2001 From: Tony Camuso Date: Wed, 19 Feb 2020 11:52:17 +0100 Subject: [PATCH] redhat: rh_kabi: Fix RH_KABI_SET_SIZE to use dereference operator RH-Acked-by: Prarit Bhargava RH-Acked-by: Jiri Benc Upstream Status: RHEL only Since this macro is intended to record the sizeof extension structs that are dynamically allocated, using the structure dereference operator '->' is a better choice, else the macro would have to be invoked with the _name argument dereferenced as (*_name). Also added a short note explaining that, unlike the other RH_KABI macros that are invoked from within structs, this macro is invoked outside a struct and therefore needs a semicolon termination. Upstream Status: RHEL only Signed-off-by: Tony Camuso Signed-off-by: Jiri Benc --- include/linux/rh_kabi.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/linux/rh_kabi.h b/include/linux/rh_kabi.h index d551df994583..9a4fea93ad99 100644 --- a/include/linux/rh_kabi.h +++ b/include/linux/rh_kabi.h @@ -224,9 +224,11 @@ * This macro MUST be called when expanding a base struct with * RH_KABI_SIZE_AND_EXTEND, and it MUST be called from the allocation site * regardless of being allocated in the kernel or a module. + * Note: since this macro is intended to be invoked outside of a struct, + * a semicolon is necessary at the end of the line where it is invoked. */ #define RH_KABI_SET_SIZE(_name, _struct) ({ \ - _name._struct##_size_rh = sizeof(struct _struct##_rh); \ + _name->_struct##_size_rh = sizeof(struct _struct##_rh); \ }) /* -- 2.26.2