From: Scott Bauer Date: Tue, 7 Feb 2017 00:22:49 +0000 (-0700) Subject: Fix SED-OPAL UAPI structs to prevent 32/64 bit size differences. X-Git-Tag: v4.11-rc1~142^2~1^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8c87fe722053658467bcc9e5ea82051ce3d3a693;p=platform%2Fkernel%2Flinux-exynos.git Fix SED-OPAL UAPI structs to prevent 32/64 bit size differences. This patch is a quick fixup of the user structures that will prevent the structures from being different sizes on 32 and 64 bit archs. Taking this fix will allow us to *NOT* have to do compat ioctls for the sed code. Signed-off-by: Scott Bauer Fixes: 19641f2d7674 ("Include: Uapi: Add user ABI for Sed/Opal") Signed-off-by: Jens Axboe --- diff --git a/include/uapi/linux/sed-opal.h b/include/uapi/linux/sed-opal.h index 3179952..fc06e3a 100644 --- a/include/uapi/linux/sed-opal.h +++ b/include/uapi/linux/sed-opal.h @@ -48,37 +48,38 @@ enum opal_lock_state { }; struct opal_key { - uint8_t lr; - uint8_t key_len; - char key[OPAL_KEY_MAX]; + __u8 lr; + __u8 key_len; + __u8 __align[6]; + __u8 key[OPAL_KEY_MAX]; }; struct opal_lr_act { - int sum; - uint8_t num_lrs; - uint8_t lr[OPAL_MAX_LRS]; struct opal_key key; + __u32 sum; + __u8 num_lrs; + __u8 lr[OPAL_MAX_LRS]; + __u8 align[2]; /* Align to 8 byte boundary */ }; struct opal_session_info { - int sum; - enum opal_user who; + __u32 sum; + __u32 who; struct opal_key opal_key; - uint8_t __align[2]; }; struct opal_user_lr_setup { - size_t range_start; - size_t range_length; - int RLE; /* Read Lock enabled */ - int WLE; /* Write Lock Enabled */ + __u64 range_start; + __u64 range_length; + __u32 RLE; /* Read Lock enabled */ + __u32 WLE; /* Write Lock Enabled */ struct opal_session_info session; - uint8_t __align[4]; }; struct opal_lock_unlock { - enum opal_lock_state l_state; struct opal_session_info session; + __u32 l_state; + __u8 __align[4]; }; struct opal_new_pw { @@ -97,9 +98,9 @@ struct opal_new_pw { }; struct opal_mbr_data { - u8 enable_disable; struct opal_key key; - uint8_t __align[5]; + __u8 enable_disable; + __u8 __align[7]; }; #define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock)