From 99b78e1c3b224ae644c20e2057325c8ae55b89cc Mon Sep 17 00:00:00 2001 From: Ankit Date: Wed, 24 Jun 2026 15:38:20 +0530 Subject: [PATCH 1/2] Fix count calculation for user copy in fops.c --- eg_03_scull_basic/fops.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eg_03_scull_basic/fops.c b/eg_03_scull_basic/fops.c index 7832265..56a0f4a 100644 --- a/eg_03_scull_basic/fops.c +++ b/eg_03_scull_basic/fops.c @@ -69,8 +69,8 @@ ssize_t scull_read(struct file *filp, char __user *buff, size_t count, goto end_of_file; } - if (count > pblock->offset) - count = pblock->offset; + if (count > pblock->offset - toffset) + count = pblock->offset - toffset; if (copy_to_user(buff, pblock->data, count)) { retval = -EFAULT; From 0705f94f3f59493dbfe1ebe653ebadbe3d584dcf Mon Sep 17 00:00:00 2001 From: Ankit Khushwaha Date: Wed, 1 Jul 2026 12:48:47 +0530 Subject: [PATCH 2/2] Replace remove_proc_entry with remove_proc_subtree --- eg_04_proc_fs_basic/main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eg_04_proc_fs_basic/main.c b/eg_04_proc_fs_basic/main.c index 536305e..e1f1f84 100644 --- a/eg_04_proc_fs_basic/main.c +++ b/eg_04_proc_fs_basic/main.c @@ -70,8 +70,7 @@ void __exit m_exit(void) { printk(KERN_WARNING MODULE_NAME " unloaded\n"); - remove_proc_entry(PROC_FS_NAME, parent); - remove_proc_entry(SUB_DIR_NAME, NULL); + remove_proc_subtree(SUB_DIR_NAME, NULL); } module_init(m_init);