¿Cómo sé qué files se includeán en un kernel de Linux antes de comstackrlo?

Estoy trabajando en un proyecto que incluye la construcción de una versión anterior de kernel de Linux. Esto está bien, pero aún necesito parchar el kernel de todas las vulnerabilidades de security previamente encontradas basadas en CVE. Tengo los CVE y he extraído los nombres de los files vulnerables mencionados en ellos, junto con las versiones del kernel a las que afecta.

Hasta ahora, he encontrado alnetworkingedor de 150 vulnerabilidades potenciales que podrían afectar mi compilation, pero obviamente algunas de ellas afectan los files relevantes para los controlleres de charts que no uso. Hasta ahora, acabo de examinar la list manualmente, verificando si los files están incluidos usando make menuconfig y el Kconfig de Kconfig en carpetas relevantes. Hasta ahora, esto ha funcionado bien, pero estos methods no muestran los nombres reales de los files (por ejemplo, ipc / sem.c), por lo que requieren más trabajo de lo necesario.

Idealmente, me gustaría de alguna manera imprimir una list de todos los files que se includeán en mi compilation, y luego simplemente escribir un guión para verificar si los files vulnerables están incluidos.

¿Cómo puedo encontrar los nombres de cualquier file fuente (por ejemplo, ipc / sem.c) que se includeán en mi compilation?

Haga la compilation, luego liste los files .o . Creo que todos los .c o .S que forman parte de la compilation se comstackn en un file .o con el nombre correspondiente. Esto no le indicará si un problema de security requirió una corrección en un file de encabezado incluido en la compilation.

 make vmlinux modules find -name '*.o' -exec sh -c ' for f; do for x in c S; do [ -e "${f%.o}.$x" ] && echo "${f%.o}.$x"; done; done ' _ {} + 

Un método más preciso es poner las fonts en un sistema de files donde se almacenan los times de acceso, y hacer la compilation. Los files cuyo time de acceso no se actualiza por la compilation no se utilizaron en esta compilation.

 touch start.stamp make vmlinux modules find -type f -anewer start.stamp