├── .gitignore ├── Further_Reading.md ├── LICENSE ├── README.md ├── ch1-intro ├── ch1 └── pkg_install4ubuntu_lkp.sh ├── ch10-cpu_scheduler-part1 ├── ch10 ├── concurrent_exercise │ ├── concurrency │ ├── exercise_cpu │ └── mymap.txt └── query_task_sched.sh ├── ch11-cpu_scheduler-part2 ├── ch11 ├── cgroups │ ├── cgroupsv2_explore │ └── cpu_constrain │ │ ├── cpu_manual │ │ └── cgv2_cpu_ctrl.sh │ │ ├── primegen │ │ ├── Makefile │ │ └── primegen.c │ │ └── systemd_svcunit │ │ ├── run_primegen │ │ ├── setup_service │ │ ├── svc1_primes_normal.service │ │ ├── svc2_primes_lowcpu.service │ │ └── svc3_primes_lowram.service └── cpu_affinity │ ├── Makefile │ └── userspc_cpuaffinity.c ├── ch12-kernel_synchronization-part1 ├── ch12 ├── 1_miscdrv_rdwr_mutexlock │ ├── Makefile │ └── miscdrv_rdwr_mutexlock.c ├── 2_miscdrv_rdwr_spinlock │ ├── Makefile │ └── miscdrv_rdwr_spinlock.c └── rdwr_test_secret.c ├── ch13-kernel_synchronization-part2 ├── ch13 ├── 1_rmw_atomic_bitops │ ├── Makefile │ └── rmw_atomic_bitops.c ├── 2_list_demo_rdwrlock │ ├── Makefile │ ├── list_demo_rdwrlock.c │ ├── miscdrv_wrapper.c │ └── run ├── 3_lockfree │ ├── list_demo_rcu │ │ ├── Makefile │ │ ├── list_demo_rcu.c │ │ ├── miscdrv_wrapper.c │ │ └── run │ ├── percpu │ │ ├── Makefile │ │ ├── percpu_var.c │ │ └── run │ └── thrdshowall_rcu │ │ ├── Makefile │ │ ├── thrd_showall_rcu.c │ │ └── using_rcu.patch ├── 4_lockdep │ ├── buggy_thrdshow_eg │ │ ├── Makefile │ │ └── thrd_showall_buggy.c │ ├── deadlock_eg_AB-BA │ │ ├── Makefile │ │ ├── deadlock_eg_AB-BA.c │ │ └── run │ ├── debugk_locking_configs_check │ ├── fixed_thrdshow_eg │ │ ├── Makefile │ │ ├── fix.patch │ │ └── thrd_showall_fixed.c │ └── lock_stats_demo.sh └── rdwr_concurrent │ ├── 1_demo_rdwr_nolocks │ ├── Makefile │ ├── miscdrv_rdwr_nolocks.c │ └── run │ ├── 2_demo_rdwr_rwlock │ ├── Makefile │ ├── miscdrv_rdwr_rwlock.c │ └── run │ └── 3_demo_rdwr_rcu │ ├── Makefile │ ├── miscdrv_rdwr_rcu.c │ └── run ├── ch2-building_the_6.x_linux_kernel_from_source-part1 ├── ch2 └── Kconfig.patch ├── ch3-building_the_6.x_linux_kernel_from_source-part2 ├── ch3 └── kbuild.sh ├── ch4-writing_yout_first_kernel_module-part1 ├── ch4 ├── helloworld_lkm │ ├── Makefile │ └── helloworld_lkm.c └── printk_loglvl │ ├── Makefile │ └── printk_loglvl.c ├── ch5-writing_yout_first_kernel_module-part2 ├── ch5 ├── cross │ ├── Makefile │ ├── buildit │ └── lkm_template.c ├── fp_in_lkm │ ├── Makefile │ └── fp_in_lkm.c ├── lkm_template │ ├── Makefile │ ├── README │ └── lkm_template.c ├── min_sysinfo │ ├── Makefile │ └── min_sysinfo.c ├── modparams │ ├── modparams1 │ │ ├── Makefile │ │ └── modparams1.c │ └── modparams2 │ │ ├── Makefile │ │ └── modparams2.c └── modstacking │ ├── Makefile │ ├── core_lkm.c │ └── user_lkm.c ├── ch6-kernel_internals_essentials-processes_and_threads ├── ch6 ├── countem.sh ├── countem2.sh ├── current_affairs │ ├── Makefile │ └── current_affairs.c ├── foreach │ ├── prcs_showall │ │ ├── Makefile │ │ └── prcs_showall.c │ └── thrd_showall │ │ ├── Makefile │ │ └── thrd_showall.c ├── list_demo │ ├── Makefile │ └── list_demo.c ├── stackcount_eg.sh └── ustack ├── ch7-memory_management_internals-essentials ├── ch7 ├── ASLR_check.sh ├── color.sh ├── show_kernel_vas │ ├── Makefile │ └── kernel_vas.c └── sparsemem_show │ ├── Makefile │ └── sparsemem_show.c ├── ch8-kernel_memory_allocation_for_module_authors-part1 ├── ch8 ├── lowlevel_mem │ ├── Makefile │ └── lowlevel_mem.c ├── page_exact_loop │ ├── Makefile │ └── page_exact_loop.c ├── slab1 │ ├── Makefile │ └── slab1.c ├── slab2_buggy │ ├── Makefile │ └── slab2_buggy.c ├── slab3_maxsize │ ├── Makefile │ └── slab3_maxsize.c ├── slab4_actualsize │ ├── Makefile │ └── slab4_actualsize.c ├── slab4_actualsz_wstg_plot │ ├── Makefile │ ├── Readme │ ├── graph.jpg │ ├── plot_graph.sh │ ├── plotdata.txt │ └── slab4_actualsz_wstg_plot.c └── waste_kmalloc_slabs.sh ├── ch9-kernel_memory_allocation_for_module_authors-part2 ├── ch9 ├── oom_killer_try │ ├── Makefile │ └── oom_killer_try.c ├── slab_custom │ ├── Makefile │ └── slab_custom.c └── vmalloc_demo │ ├── Makefile │ └── vmalloc_demo.c ├── convenient.h ├── klib.c ├── klib.h ├── lkm ├── questions ├── README ├── ch10_qs_assignments.txt ├── ch11_qs_assignments.txt ├── ch12_qs_assignments.txt ├── ch13_qs_assignments.txt ├── ch1_qs_assignments.txt ├── ch2_qs_assignments.txt ├── ch3_qs_assignments.txt ├── ch4_qs_assignments.txt ├── ch5_qs_assignments.txt ├── ch6_qs_assignments.txt ├── ch7_qs_assignments.txt ├── ch8_qs_assignments.txt └── ch9_qs_assignments.txt ├── solutions_to_assgn ├── ch1 │ └── solutions_ch1.txt ├── ch10 │ └── solutions_ch10.txt ├── ch11 │ └── solutions_ch11.txt ├── ch13 │ └── miscdrv_rdwr_refcount │ │ ├── Makefile │ │ └── miscdrv_rdwr_refcount.c ├── ch3 │ └── solutions_ch3.txt ├── ch4 │ └── solutions_ch4.txt ├── ch5 │ ├── libtest │ │ ├── Makefile │ │ ├── mycaller.c │ │ └── mylib.c │ └── modstacking2 │ │ ├── core_module │ │ ├── Makefile │ │ └── core_module.c │ │ └── user_module │ │ ├── Makefile │ │ └── user_module.c ├── ch6 │ └── solution_ch6_qs1.txt ├── ch7 │ ├── procmap_aarch32-bbb-sample-complete-VAS-of-bash.png │ ├── procmap_aarch64-rpi4-sample-complete-VAS-of-bash.png │ ├── procmap_x86_64-sample-complete-VAS-of-bash.png │ └── stitching-img.txt ├── ch8 │ ├── slab_ptr_array │ │ ├── Makefile │ │ └── slab_ptr_array.c │ └── solutions_ch8.txt ├── ch9 │ ├── slab_custom_mult │ │ ├── Makefile │ │ └── slab_custom_mult.c │ └── solutions_ch9.txt └── convenient.h └── test_lkm /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/.gitignore -------------------------------------------------------------------------------- /Further_Reading.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/Further_Reading.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/README.md -------------------------------------------------------------------------------- /ch1-intro: -------------------------------------------------------------------------------- 1 | ch1/ -------------------------------------------------------------------------------- /ch1/pkg_install4ubuntu_lkp.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch1/pkg_install4ubuntu_lkp.sh -------------------------------------------------------------------------------- /ch10-cpu_scheduler-part1: -------------------------------------------------------------------------------- 1 | ch10/ -------------------------------------------------------------------------------- /ch10/concurrent_exercise/concurrency: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch10/concurrent_exercise/concurrency -------------------------------------------------------------------------------- /ch10/concurrent_exercise/exercise_cpu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch10/concurrent_exercise/exercise_cpu -------------------------------------------------------------------------------- /ch10/concurrent_exercise/mymap.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch10/concurrent_exercise/mymap.txt -------------------------------------------------------------------------------- /ch10/query_task_sched.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch10/query_task_sched.sh -------------------------------------------------------------------------------- /ch11-cpu_scheduler-part2: -------------------------------------------------------------------------------- 1 | ch11/ -------------------------------------------------------------------------------- /ch11/cgroups/cgroupsv2_explore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cgroups/cgroupsv2_explore -------------------------------------------------------------------------------- /ch11/cgroups/cpu_constrain/cpu_manual/cgv2_cpu_ctrl.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cgroups/cpu_constrain/cpu_manual/cgv2_cpu_ctrl.sh -------------------------------------------------------------------------------- /ch11/cgroups/cpu_constrain/primegen/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cgroups/cpu_constrain/primegen/Makefile -------------------------------------------------------------------------------- /ch11/cgroups/cpu_constrain/primegen/primegen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cgroups/cpu_constrain/primegen/primegen.c -------------------------------------------------------------------------------- /ch11/cgroups/cpu_constrain/systemd_svcunit/run_primegen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cgroups/cpu_constrain/systemd_svcunit/run_primegen -------------------------------------------------------------------------------- /ch11/cgroups/cpu_constrain/systemd_svcunit/setup_service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cgroups/cpu_constrain/systemd_svcunit/setup_service -------------------------------------------------------------------------------- /ch11/cgroups/cpu_constrain/systemd_svcunit/svc1_primes_normal.service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cgroups/cpu_constrain/systemd_svcunit/svc1_primes_normal.service -------------------------------------------------------------------------------- /ch11/cgroups/cpu_constrain/systemd_svcunit/svc2_primes_lowcpu.service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cgroups/cpu_constrain/systemd_svcunit/svc2_primes_lowcpu.service -------------------------------------------------------------------------------- /ch11/cgroups/cpu_constrain/systemd_svcunit/svc3_primes_lowram.service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cgroups/cpu_constrain/systemd_svcunit/svc3_primes_lowram.service -------------------------------------------------------------------------------- /ch11/cpu_affinity/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cpu_affinity/Makefile -------------------------------------------------------------------------------- /ch11/cpu_affinity/userspc_cpuaffinity.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch11/cpu_affinity/userspc_cpuaffinity.c -------------------------------------------------------------------------------- /ch12-kernel_synchronization-part1: -------------------------------------------------------------------------------- 1 | ch12/ -------------------------------------------------------------------------------- /ch12/1_miscdrv_rdwr_mutexlock/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch12/1_miscdrv_rdwr_mutexlock/Makefile -------------------------------------------------------------------------------- /ch12/1_miscdrv_rdwr_mutexlock/miscdrv_rdwr_mutexlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch12/1_miscdrv_rdwr_mutexlock/miscdrv_rdwr_mutexlock.c -------------------------------------------------------------------------------- /ch12/2_miscdrv_rdwr_spinlock/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch12/2_miscdrv_rdwr_spinlock/Makefile -------------------------------------------------------------------------------- /ch12/2_miscdrv_rdwr_spinlock/miscdrv_rdwr_spinlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch12/2_miscdrv_rdwr_spinlock/miscdrv_rdwr_spinlock.c -------------------------------------------------------------------------------- /ch12/rdwr_test_secret.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch12/rdwr_test_secret.c -------------------------------------------------------------------------------- /ch13-kernel_synchronization-part2: -------------------------------------------------------------------------------- 1 | ch13/ -------------------------------------------------------------------------------- /ch13/1_rmw_atomic_bitops/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/1_rmw_atomic_bitops/Makefile -------------------------------------------------------------------------------- /ch13/1_rmw_atomic_bitops/rmw_atomic_bitops.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/1_rmw_atomic_bitops/rmw_atomic_bitops.c -------------------------------------------------------------------------------- /ch13/2_list_demo_rdwrlock/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/2_list_demo_rdwrlock/Makefile -------------------------------------------------------------------------------- /ch13/2_list_demo_rdwrlock/list_demo_rdwrlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/2_list_demo_rdwrlock/list_demo_rdwrlock.c -------------------------------------------------------------------------------- /ch13/2_list_demo_rdwrlock/miscdrv_wrapper.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/2_list_demo_rdwrlock/miscdrv_wrapper.c -------------------------------------------------------------------------------- /ch13/2_list_demo_rdwrlock/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/2_list_demo_rdwrlock/run -------------------------------------------------------------------------------- /ch13/3_lockfree/list_demo_rcu/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/3_lockfree/list_demo_rcu/Makefile -------------------------------------------------------------------------------- /ch13/3_lockfree/list_demo_rcu/list_demo_rcu.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/3_lockfree/list_demo_rcu/list_demo_rcu.c -------------------------------------------------------------------------------- /ch13/3_lockfree/list_demo_rcu/miscdrv_wrapper.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/3_lockfree/list_demo_rcu/miscdrv_wrapper.c -------------------------------------------------------------------------------- /ch13/3_lockfree/list_demo_rcu/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/3_lockfree/list_demo_rcu/run -------------------------------------------------------------------------------- /ch13/3_lockfree/percpu/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/3_lockfree/percpu/Makefile -------------------------------------------------------------------------------- /ch13/3_lockfree/percpu/percpu_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/3_lockfree/percpu/percpu_var.c -------------------------------------------------------------------------------- /ch13/3_lockfree/percpu/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/3_lockfree/percpu/run -------------------------------------------------------------------------------- /ch13/3_lockfree/thrdshowall_rcu/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/3_lockfree/thrdshowall_rcu/Makefile -------------------------------------------------------------------------------- /ch13/3_lockfree/thrdshowall_rcu/thrd_showall_rcu.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/3_lockfree/thrdshowall_rcu/thrd_showall_rcu.c -------------------------------------------------------------------------------- /ch13/3_lockfree/thrdshowall_rcu/using_rcu.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/3_lockfree/thrdshowall_rcu/using_rcu.patch -------------------------------------------------------------------------------- /ch13/4_lockdep/buggy_thrdshow_eg/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/4_lockdep/buggy_thrdshow_eg/Makefile -------------------------------------------------------------------------------- /ch13/4_lockdep/buggy_thrdshow_eg/thrd_showall_buggy.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/4_lockdep/buggy_thrdshow_eg/thrd_showall_buggy.c -------------------------------------------------------------------------------- /ch13/4_lockdep/deadlock_eg_AB-BA/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/4_lockdep/deadlock_eg_AB-BA/Makefile -------------------------------------------------------------------------------- /ch13/4_lockdep/deadlock_eg_AB-BA/deadlock_eg_AB-BA.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/4_lockdep/deadlock_eg_AB-BA/deadlock_eg_AB-BA.c -------------------------------------------------------------------------------- /ch13/4_lockdep/deadlock_eg_AB-BA/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/4_lockdep/deadlock_eg_AB-BA/run -------------------------------------------------------------------------------- /ch13/4_lockdep/debugk_locking_configs_check: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/4_lockdep/debugk_locking_configs_check -------------------------------------------------------------------------------- /ch13/4_lockdep/fixed_thrdshow_eg/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/4_lockdep/fixed_thrdshow_eg/Makefile -------------------------------------------------------------------------------- /ch13/4_lockdep/fixed_thrdshow_eg/fix.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/4_lockdep/fixed_thrdshow_eg/fix.patch -------------------------------------------------------------------------------- /ch13/4_lockdep/fixed_thrdshow_eg/thrd_showall_fixed.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/4_lockdep/fixed_thrdshow_eg/thrd_showall_fixed.c -------------------------------------------------------------------------------- /ch13/4_lockdep/lock_stats_demo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/4_lockdep/lock_stats_demo.sh -------------------------------------------------------------------------------- /ch13/rdwr_concurrent/1_demo_rdwr_nolocks/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/rdwr_concurrent/1_demo_rdwr_nolocks/Makefile -------------------------------------------------------------------------------- /ch13/rdwr_concurrent/1_demo_rdwr_nolocks/miscdrv_rdwr_nolocks.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/rdwr_concurrent/1_demo_rdwr_nolocks/miscdrv_rdwr_nolocks.c -------------------------------------------------------------------------------- /ch13/rdwr_concurrent/1_demo_rdwr_nolocks/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/rdwr_concurrent/1_demo_rdwr_nolocks/run -------------------------------------------------------------------------------- /ch13/rdwr_concurrent/2_demo_rdwr_rwlock/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/rdwr_concurrent/2_demo_rdwr_rwlock/Makefile -------------------------------------------------------------------------------- /ch13/rdwr_concurrent/2_demo_rdwr_rwlock/miscdrv_rdwr_rwlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/rdwr_concurrent/2_demo_rdwr_rwlock/miscdrv_rdwr_rwlock.c -------------------------------------------------------------------------------- /ch13/rdwr_concurrent/2_demo_rdwr_rwlock/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/rdwr_concurrent/2_demo_rdwr_rwlock/run -------------------------------------------------------------------------------- /ch13/rdwr_concurrent/3_demo_rdwr_rcu/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/rdwr_concurrent/3_demo_rdwr_rcu/Makefile -------------------------------------------------------------------------------- /ch13/rdwr_concurrent/3_demo_rdwr_rcu/miscdrv_rdwr_rcu.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/rdwr_concurrent/3_demo_rdwr_rcu/miscdrv_rdwr_rcu.c -------------------------------------------------------------------------------- /ch13/rdwr_concurrent/3_demo_rdwr_rcu/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch13/rdwr_concurrent/3_demo_rdwr_rcu/run -------------------------------------------------------------------------------- /ch2-building_the_6.x_linux_kernel_from_source-part1: -------------------------------------------------------------------------------- 1 | ch2/ -------------------------------------------------------------------------------- /ch2/Kconfig.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch2/Kconfig.patch -------------------------------------------------------------------------------- /ch3-building_the_6.x_linux_kernel_from_source-part2: -------------------------------------------------------------------------------- 1 | ch3/ -------------------------------------------------------------------------------- /ch3/kbuild.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch3/kbuild.sh -------------------------------------------------------------------------------- /ch4-writing_yout_first_kernel_module-part1: -------------------------------------------------------------------------------- 1 | ch4/ -------------------------------------------------------------------------------- /ch4/helloworld_lkm/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch4/helloworld_lkm/Makefile -------------------------------------------------------------------------------- /ch4/helloworld_lkm/helloworld_lkm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch4/helloworld_lkm/helloworld_lkm.c -------------------------------------------------------------------------------- /ch4/printk_loglvl/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch4/printk_loglvl/Makefile -------------------------------------------------------------------------------- /ch4/printk_loglvl/printk_loglvl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch4/printk_loglvl/printk_loglvl.c -------------------------------------------------------------------------------- /ch5-writing_yout_first_kernel_module-part2: -------------------------------------------------------------------------------- 1 | ch5/ -------------------------------------------------------------------------------- /ch5/cross/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/cross/Makefile -------------------------------------------------------------------------------- /ch5/cross/buildit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/cross/buildit -------------------------------------------------------------------------------- /ch5/cross/lkm_template.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/cross/lkm_template.c -------------------------------------------------------------------------------- /ch5/fp_in_lkm/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/fp_in_lkm/Makefile -------------------------------------------------------------------------------- /ch5/fp_in_lkm/fp_in_lkm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/fp_in_lkm/fp_in_lkm.c -------------------------------------------------------------------------------- /ch5/lkm_template/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/lkm_template/Makefile -------------------------------------------------------------------------------- /ch5/lkm_template/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/lkm_template/README -------------------------------------------------------------------------------- /ch5/lkm_template/lkm_template.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/lkm_template/lkm_template.c -------------------------------------------------------------------------------- /ch5/min_sysinfo/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/min_sysinfo/Makefile -------------------------------------------------------------------------------- /ch5/min_sysinfo/min_sysinfo.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/min_sysinfo/min_sysinfo.c -------------------------------------------------------------------------------- /ch5/modparams/modparams1/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/modparams/modparams1/Makefile -------------------------------------------------------------------------------- /ch5/modparams/modparams1/modparams1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/modparams/modparams1/modparams1.c -------------------------------------------------------------------------------- /ch5/modparams/modparams2/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/modparams/modparams2/Makefile -------------------------------------------------------------------------------- /ch5/modparams/modparams2/modparams2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/modparams/modparams2/modparams2.c -------------------------------------------------------------------------------- /ch5/modstacking/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/modstacking/Makefile -------------------------------------------------------------------------------- /ch5/modstacking/core_lkm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/modstacking/core_lkm.c -------------------------------------------------------------------------------- /ch5/modstacking/user_lkm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch5/modstacking/user_lkm.c -------------------------------------------------------------------------------- /ch6-kernel_internals_essentials-processes_and_threads: -------------------------------------------------------------------------------- 1 | ch6/ -------------------------------------------------------------------------------- /ch6/countem.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/countem.sh -------------------------------------------------------------------------------- /ch6/countem2.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/countem2.sh -------------------------------------------------------------------------------- /ch6/current_affairs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/current_affairs/Makefile -------------------------------------------------------------------------------- /ch6/current_affairs/current_affairs.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/current_affairs/current_affairs.c -------------------------------------------------------------------------------- /ch6/foreach/prcs_showall/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/foreach/prcs_showall/Makefile -------------------------------------------------------------------------------- /ch6/foreach/prcs_showall/prcs_showall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/foreach/prcs_showall/prcs_showall.c -------------------------------------------------------------------------------- /ch6/foreach/thrd_showall/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/foreach/thrd_showall/Makefile -------------------------------------------------------------------------------- /ch6/foreach/thrd_showall/thrd_showall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/foreach/thrd_showall/thrd_showall.c -------------------------------------------------------------------------------- /ch6/list_demo/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/list_demo/Makefile -------------------------------------------------------------------------------- /ch6/list_demo/list_demo.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/list_demo/list_demo.c -------------------------------------------------------------------------------- /ch6/stackcount_eg.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/stackcount_eg.sh -------------------------------------------------------------------------------- /ch6/ustack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch6/ustack -------------------------------------------------------------------------------- /ch7-memory_management_internals-essentials: -------------------------------------------------------------------------------- 1 | ch7/ -------------------------------------------------------------------------------- /ch7/ASLR_check.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch7/ASLR_check.sh -------------------------------------------------------------------------------- /ch7/color.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch7/color.sh -------------------------------------------------------------------------------- /ch7/show_kernel_vas/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch7/show_kernel_vas/Makefile -------------------------------------------------------------------------------- /ch7/show_kernel_vas/kernel_vas.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch7/show_kernel_vas/kernel_vas.c -------------------------------------------------------------------------------- /ch7/sparsemem_show/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch7/sparsemem_show/Makefile -------------------------------------------------------------------------------- /ch7/sparsemem_show/sparsemem_show.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch7/sparsemem_show/sparsemem_show.c -------------------------------------------------------------------------------- /ch8-kernel_memory_allocation_for_module_authors-part1: -------------------------------------------------------------------------------- 1 | ch8/ -------------------------------------------------------------------------------- /ch8/lowlevel_mem/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/lowlevel_mem/Makefile -------------------------------------------------------------------------------- /ch8/lowlevel_mem/lowlevel_mem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/lowlevel_mem/lowlevel_mem.c -------------------------------------------------------------------------------- /ch8/page_exact_loop/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/page_exact_loop/Makefile -------------------------------------------------------------------------------- /ch8/page_exact_loop/page_exact_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/page_exact_loop/page_exact_loop.c -------------------------------------------------------------------------------- /ch8/slab1/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab1/Makefile -------------------------------------------------------------------------------- /ch8/slab1/slab1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab1/slab1.c -------------------------------------------------------------------------------- /ch8/slab2_buggy/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab2_buggy/Makefile -------------------------------------------------------------------------------- /ch8/slab2_buggy/slab2_buggy.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab2_buggy/slab2_buggy.c -------------------------------------------------------------------------------- /ch8/slab3_maxsize/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab3_maxsize/Makefile -------------------------------------------------------------------------------- /ch8/slab3_maxsize/slab3_maxsize.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab3_maxsize/slab3_maxsize.c -------------------------------------------------------------------------------- /ch8/slab4_actualsize/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab4_actualsize/Makefile -------------------------------------------------------------------------------- /ch8/slab4_actualsize/slab4_actualsize.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab4_actualsize/slab4_actualsize.c -------------------------------------------------------------------------------- /ch8/slab4_actualsz_wstg_plot/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab4_actualsz_wstg_plot/Makefile -------------------------------------------------------------------------------- /ch8/slab4_actualsz_wstg_plot/Readme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab4_actualsz_wstg_plot/Readme -------------------------------------------------------------------------------- /ch8/slab4_actualsz_wstg_plot/graph.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab4_actualsz_wstg_plot/graph.jpg -------------------------------------------------------------------------------- /ch8/slab4_actualsz_wstg_plot/plot_graph.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab4_actualsz_wstg_plot/plot_graph.sh -------------------------------------------------------------------------------- /ch8/slab4_actualsz_wstg_plot/plotdata.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab4_actualsz_wstg_plot/plotdata.txt -------------------------------------------------------------------------------- /ch8/slab4_actualsz_wstg_plot/slab4_actualsz_wstg_plot.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/slab4_actualsz_wstg_plot/slab4_actualsz_wstg_plot.c -------------------------------------------------------------------------------- /ch8/waste_kmalloc_slabs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch8/waste_kmalloc_slabs.sh -------------------------------------------------------------------------------- /ch9-kernel_memory_allocation_for_module_authors-part2: -------------------------------------------------------------------------------- 1 | ch9/ -------------------------------------------------------------------------------- /ch9/oom_killer_try/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch9/oom_killer_try/Makefile -------------------------------------------------------------------------------- /ch9/oom_killer_try/oom_killer_try.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch9/oom_killer_try/oom_killer_try.c -------------------------------------------------------------------------------- /ch9/slab_custom/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch9/slab_custom/Makefile -------------------------------------------------------------------------------- /ch9/slab_custom/slab_custom.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch9/slab_custom/slab_custom.c -------------------------------------------------------------------------------- /ch9/vmalloc_demo/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch9/vmalloc_demo/Makefile -------------------------------------------------------------------------------- /ch9/vmalloc_demo/vmalloc_demo.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/ch9/vmalloc_demo/vmalloc_demo.c -------------------------------------------------------------------------------- /convenient.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/convenient.h -------------------------------------------------------------------------------- /klib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/klib.c -------------------------------------------------------------------------------- /klib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/klib.h -------------------------------------------------------------------------------- /lkm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/lkm -------------------------------------------------------------------------------- /questions/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/README -------------------------------------------------------------------------------- /questions/ch10_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch10_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch11_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch11_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch12_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch12_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch13_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch13_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch1_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch1_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch2_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch2_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch3_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch3_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch4_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch4_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch5_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch5_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch6_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch6_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch7_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch7_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch8_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch8_qs_assignments.txt -------------------------------------------------------------------------------- /questions/ch9_qs_assignments.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/questions/ch9_qs_assignments.txt -------------------------------------------------------------------------------- /solutions_to_assgn/ch1/solutions_ch1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch1/solutions_ch1.txt -------------------------------------------------------------------------------- /solutions_to_assgn/ch10/solutions_ch10.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch10/solutions_ch10.txt -------------------------------------------------------------------------------- /solutions_to_assgn/ch11/solutions_ch11.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch11/solutions_ch11.txt -------------------------------------------------------------------------------- /solutions_to_assgn/ch13/miscdrv_rdwr_refcount/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch13/miscdrv_rdwr_refcount/Makefile -------------------------------------------------------------------------------- /solutions_to_assgn/ch13/miscdrv_rdwr_refcount/miscdrv_rdwr_refcount.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch13/miscdrv_rdwr_refcount/miscdrv_rdwr_refcount.c -------------------------------------------------------------------------------- /solutions_to_assgn/ch3/solutions_ch3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch3/solutions_ch3.txt -------------------------------------------------------------------------------- /solutions_to_assgn/ch4/solutions_ch4.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch4/solutions_ch4.txt -------------------------------------------------------------------------------- /solutions_to_assgn/ch5/libtest/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch5/libtest/Makefile -------------------------------------------------------------------------------- /solutions_to_assgn/ch5/libtest/mycaller.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch5/libtest/mycaller.c -------------------------------------------------------------------------------- /solutions_to_assgn/ch5/libtest/mylib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch5/libtest/mylib.c -------------------------------------------------------------------------------- /solutions_to_assgn/ch5/modstacking2/core_module/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch5/modstacking2/core_module/Makefile -------------------------------------------------------------------------------- /solutions_to_assgn/ch5/modstacking2/core_module/core_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch5/modstacking2/core_module/core_module.c -------------------------------------------------------------------------------- /solutions_to_assgn/ch5/modstacking2/user_module/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch5/modstacking2/user_module/Makefile -------------------------------------------------------------------------------- /solutions_to_assgn/ch5/modstacking2/user_module/user_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch5/modstacking2/user_module/user_module.c -------------------------------------------------------------------------------- /solutions_to_assgn/ch6/solution_ch6_qs1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch6/solution_ch6_qs1.txt -------------------------------------------------------------------------------- /solutions_to_assgn/ch7/procmap_aarch32-bbb-sample-complete-VAS-of-bash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch7/procmap_aarch32-bbb-sample-complete-VAS-of-bash.png -------------------------------------------------------------------------------- /solutions_to_assgn/ch7/procmap_aarch64-rpi4-sample-complete-VAS-of-bash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch7/procmap_aarch64-rpi4-sample-complete-VAS-of-bash.png -------------------------------------------------------------------------------- /solutions_to_assgn/ch7/procmap_x86_64-sample-complete-VAS-of-bash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch7/procmap_x86_64-sample-complete-VAS-of-bash.png -------------------------------------------------------------------------------- /solutions_to_assgn/ch7/stitching-img.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch7/stitching-img.txt -------------------------------------------------------------------------------- /solutions_to_assgn/ch8/slab_ptr_array/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch8/slab_ptr_array/Makefile -------------------------------------------------------------------------------- /solutions_to_assgn/ch8/slab_ptr_array/slab_ptr_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch8/slab_ptr_array/slab_ptr_array.c -------------------------------------------------------------------------------- /solutions_to_assgn/ch8/solutions_ch8.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch8/solutions_ch8.txt -------------------------------------------------------------------------------- /solutions_to_assgn/ch9/slab_custom_mult/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch9/slab_custom_mult/Makefile -------------------------------------------------------------------------------- /solutions_to_assgn/ch9/slab_custom_mult/slab_custom_mult.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch9/slab_custom_mult/slab_custom_mult.c -------------------------------------------------------------------------------- /solutions_to_assgn/ch9/solutions_ch9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/solutions_to_assgn/ch9/solutions_ch9.txt -------------------------------------------------------------------------------- /solutions_to_assgn/convenient.h: -------------------------------------------------------------------------------- 1 | ../convenient.h -------------------------------------------------------------------------------- /test_lkm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Kernel-Programming_2E/HEAD/test_lkm --------------------------------------------------------------------------------