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.
Showing the changes to include/uapi/linux (1 of 1 file). Show all
Unified · Split
| @@ -48,37 +48,38 @@ enum opal_lock_state { · 47 unmodified lines | ||
| 48 | 48 | }; |
| 49 | 49 | |
| 50 | 50 | struct opal_key { |
| 51 | − uint8_t lr; | |
| 52 | − uint8_t key_len; | |
| 53 | − char key[OPAL_KEY_MAX]; | |
| 51 | + __u8 lr; | |
| 52 | + __u8 key_len; | |
| 53 | + __u8 __align[6]; | |
| 54 | + __u8 key[OPAL_KEY_MAX]; | |
| 54 | 55 | }; |
| 55 | 56 | |
| 56 | 57 | struct opal_lr_act { |
| 57 | − int sum; | |
| 58 | − uint8_t num_lrs; | |
| 59 | − uint8_t lr[OPAL_MAX_LRS]; | |
| 60 | 58 | struct opal_key key; |
| 59 | + __u32 sum; | |
| 60 | + __u8 num_lrs; | |
| 61 | + __u8 lr[OPAL_MAX_LRS]; | |
| 62 | + __u8 align[2]; /* Align to 8 byte boundary */ | |
| 61 | 63 | }; |
| 62 | 64 | |
| 63 | 65 | struct opal_session_info { |
| 64 | − int sum; | |
| 65 | − enum opal_user who; | |
| 66 | + __u32 sum; | |
| 67 | + __u32 who; | |
| 66 | 68 | struct opal_key opal_key; |
| 67 | − uint8_t __align[2]; | |
| 68 | 69 | }; |
| 69 | 70 | |
| 70 | 71 | struct opal_user_lr_setup { |
| 71 | − size_t range_start; | |
| 72 | − size_t range_length; | |
| 73 | − int RLE; /* Read Lock enabled */ | |
| 74 | − int WLE; /* Write Lock Enabled */ | |
| 72 | + __u64 range_start; | |
| 73 | + __u64 range_length; | |
| 74 | + __u32 RLE; /* Read Lock enabled */ | |
| 75 | + __u32 WLE; /* Write Lock Enabled */ | |
| 75 | 76 | struct opal_session_info session; |
| 76 | − uint8_t __align[4]; | |
| 77 | 77 | }; |
| 78 | 78 | |
| 79 | 79 | struct opal_lock_unlock { |
| 80 | − enum opal_lock_state l_state; | |
| 81 | 80 | struct opal_session_info session; |
| 81 | + __u32 l_state; | |
| 82 | + __u8 __align[4]; | |
| 82 | 83 | }; |
| 83 | 84 | |
| 84 | 85 | struct opal_new_pw { |
| @@ -97,9 +98,9 @@ struct opal_new_pw { · 12 unmodified lines | ||
| 97 | 98 | }; |
| 98 | 99 | |
| 99 | 100 | struct opal_mbr_data { |
| 100 | − u8 enable_disable; | |
| 101 | 101 | struct opal_key key; |
| 102 | − uint8_t __align[5]; | |
| 102 | + __u8 enable_disable; | |
| 103 | + __u8 __align[7]; | |
| 103 | 104 | }; |
| 104 | 105 | |
| 105 | 106 | #define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock) |