Patch "selftests/resctrl: Enable gcc checks to detect buffer overflows" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    selftests/resctrl: Enable gcc checks to detect buffer overflows

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     selftests-resctrl-enable-gcc-checks-to-detect-buffer.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 616439673c2f4ad7e1ad845c934be6ebd5c499e0
Author: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Date:   Wed Mar 17 02:22:35 2021 +0000

    selftests/resctrl: Enable gcc checks to detect buffer overflows
    
    [ Upstream commit a9d26a302dea29eb84f491b1340a57e56c631a71 ]
    
    David reported a buffer overflow error in the check_results() function of
    the cmt unit test and he suggested enabling _FORTIFY_SOURCE gcc compiler
    option to automatically detect any such errors.
    
    Feature Test Macros man page describes_FORTIFY_SOURCE as below
    
    "Defining this macro causes some lightweight checks to be performed to
    detect some buffer overflow errors when employing various string and memory
    manipulation functions (for example, memcpy, memset, stpcpy, strcpy,
    strncpy, strcat, strncat, sprintf, snprintf, vsprintf, vsnprintf, gets, and
    wide character variants thereof). For some functions, argument consistency
    is checked; for example, a check is made that open has been supplied with a
    mode argument when the specified flags include O_CREAT. Not all problems
    are detected, just some common cases.
    
    If _FORTIFY_SOURCE is set to 1, with compiler optimization level 1 (gcc
    -O1) and above, checks that shouldn't change the behavior of conforming
    programs are performed.
    
    With _FORTIFY_SOURCE set to 2, some more checking is added, but some
    conforming programs might fail.
    
    Some of the checks can be performed at compile time (via macros logic
    implemented in header files), and result in compiler warnings; other checks
    take place at run time, and result in a run-time error if the check fails.
    
    Use of this macro requires compiler support, available with gcc since
    version 4.0."
    
    Fix the buffer overflow error in the check_results() function of the cmt
    unit test and enable _FORTIFY_SOURCE gcc check to catch any future buffer
    overflow errors.
    
    Reported-by: David Binderman <dcb314@xxxxxxxxxxx>
    Suggested-by: David Binderman <dcb314@xxxxxxxxxxx>
    Tested-by: Babu Moger <babu.moger@xxxxxxx>
    Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
    Signed-off-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/testing/selftests/resctrl/Makefile b/tools/testing/selftests/resctrl/Makefile
index d585cc1948cc..6bcee2ec91a9 100644
--- a/tools/testing/selftests/resctrl/Makefile
+++ b/tools/testing/selftests/resctrl/Makefile
@@ -1,5 +1,5 @@
 CC = $(CROSS_COMPILE)gcc
-CFLAGS = -g -Wall
+CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2
 SRCS=$(wildcard *.c)
 OBJS=$(SRCS:.c=.o)
 
diff --git a/tools/testing/selftests/resctrl/cqm_test.c b/tools/testing/selftests/resctrl/cqm_test.c
index c8756152bd61..5e7308ac63be 100644
--- a/tools/testing/selftests/resctrl/cqm_test.c
+++ b/tools/testing/selftests/resctrl/cqm_test.c
@@ -86,7 +86,7 @@ static int check_results(struct resctrl_val_param *param, int no_of_bits)
 		return errno;
 	}
 
-	while (fgets(temp, 1024, fp)) {
+	while (fgets(temp, sizeof(temp), fp)) {
 		char *token = strtok(temp, ":\t");
 		int fields = 0;
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux