commit | be8ab8cc2a1759a6b06a46edbd8ad9c80190c0da | [log] [tgz] |
---|---|---|
author | Kees Cook <[email protected]> | Fri Feb 17 16:24:40 2023 -0800 |
committer | Chenglong Tang <[email protected]> | Tue Apr 16 06:16:29 2024 +0000 |
tree | 31f7722e76ce9896604f1787db14732061b562ec | |
parent | 9af9b855872be5470767b7c93bba2b7c893094cd [diff] |
smb3: Replace smb2pdu 1-element arrays with flex-arrays commit eb3e28c1e89b4984308777231887e41aa8a0151f upstream. The kernel is globally removing the ambiguous 0-length and 1-element arrays in favor of flexible arrays, so that we can gain both compile-time and run-time array bounds checking[1]. Replace the trailing 1-element array with a flexible array in the following structures: struct smb2_err_rsp struct smb2_tree_connect_req struct smb2_negotiate_rsp struct smb2_sess_setup_req struct smb2_sess_setup_rsp struct smb2_read_req struct smb2_read_rsp struct smb2_write_req struct smb2_write_rsp struct smb2_query_directory_req struct smb2_query_directory_rsp struct smb2_set_info_req struct smb2_change_notify_rsp struct smb2_create_rsp struct smb2_query_info_req struct smb2_query_info_rsp Replace the trailing 1-element array with a flexible array, but leave the existing structure padding: struct smb2_file_all_info struct smb2_lock_req Adjust all related size calculations to match the changes to sizeof(). No machine code output or .data section differences are produced after these changes. [1] For lots of details, see both: https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays https://people.kernel.org/kees/bounded-flexible-arrays-in-c Cc: Steve French <[email protected]> Cc: Paulo Alcantara <[email protected]> Cc: Ronnie Sahlberg <[email protected]> Cc: Shyam Prasad N <[email protected]> Cc: Tom Talpey <[email protected]> Cc: Namjae Jeon <[email protected]> Cc: Sergey Senozhatsky <[email protected]> Cc: [email protected] Cc: [email protected] BUG=b/330618063 TEST=presubmit RELEASE_NOTE=Fixed a crash during CIFS volumes mount. Reviewed-by: Namjae Jeon <[email protected]> cos-patch: bug Change-Id: I4f3b4c677640ee81002fe3dffe37daaab8659349 Signed-off-by: Kees Cook <[email protected]> Signed-off-by: Steve French <[email protected]> Signed-off-by: Vasiliy Kovalev <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Reviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/69373 Tested-by: Cusky Presubmit Bot <[email protected]> Reviewed-by: Oleksandr Tymoshenko <[email protected]>