Linux default behavior against `.data` section
问题 Story Case 1 I accidentally wrote my Assembly code in the .data section. I compiled it and executed it. The program ran normally under Linux 5.4.0-53-generic even though I didn't specify a flag like execstack . Case 2: After that, I executed the program under Linux 5.9.0-050900rc5-generic . The program got SIGSEGV . I inspected the virtual memory permission by reading /proc/$pid/maps . It turned out that the section is not executable. I think there is a configuration on Linux that manages