[0/3] sysctl: Fix out of bounds access for empty syscl ctl_tables

Message ID 20231121-jag-fix_out_of_bounds_insert-v1-0-571e76d51316@samsung.com
Headers
Series sysctl: Fix out of bounds access for empty syscl ctl_tables |

Message

Joel Granados via B4 Relay Nov. 21, 2023, 11:02 a.m. UTC
  Fix an out of bounds access reported in
https://lore.kernel.org/oe-lkp/202311201431.57aae8f3-oliver.sang@intel.com
Make sure that the ctl_table header size is greater than 0 before
evaluating if a ctl_table is permanently empty; this evaluation accesses
the first element regardless of the size. Adjusted the ctl_table_size of
Permanently empty ctl_table registers to 1 as they the check now
requires them to have size greater than 0. Added tests for empty
directory handling; in response to the path followed by empty ctl_tables
changing slightly. Clarified the results of sysctl self tests to more
easily identify which ones are OK, Skipped and Failed.

Comments are greatly appreciated

Best

Signed-off-by: Joel Granados <j.granados@samsung.com>
---
Joel Granados (3):
      sysctl: Fix out of bounds access for empty sysctl registers
      sysctl: Add a selftest for handling empty dirs
      sysclt: Clarify the results of selftest run

 fs/proc/proc_sysctl.c                    |   9 +-
 lib/test_sysctl.c                        |  29 ++++++
 tools/testing/selftests/sysctl/sysctl.sh | 146 ++++++++++++++++++-------------
 3 files changed, 121 insertions(+), 63 deletions(-)
---
base-commit: 8b793bcda61f6c3ed4f5b2ded7530ef6749580cb
change-id: 20231121-jag-fix_out_of_bounds_insert-86380d1bc95e

Best regards,
  

Comments

Luis Chamberlain Dec. 5, 2023, 5:44 a.m. UTC | #1
On Tue, Nov 21, 2023 at 12:02:17PM +0100, Joel Granados via B4 Relay wrote:
> Fix an out of bounds access reported in
> https://lore.kernel.org/oe-lkp/202311201431.57aae8f3-oliver.sang@intel.com
> Make sure that the ctl_table header size is greater than 0 before
> evaluating if a ctl_table is permanently empty; this evaluation accesses
> the first element regardless of the size. Adjusted the ctl_table_size of
> Permanently empty ctl_table registers to 1 as they the check now
> requires them to have size greater than 0. Added tests for empty
> directory handling; in response to the path followed by empty ctl_tables
> changing slightly. Clarified the results of sysctl self tests to more
> easily identify which ones are OK, Skipped and Failed.
> 
> Comments are greatly appreciated

Applied, thanks!

  Luis