Ext2: Device Driver Development [part 4] | Linux Today

Ext2: Device Driver Development [part 4]

Written By
Web Webster
Web Webster
Nov 23, 1999

[ Thanks to Rob
Kennedy
for this link. ]

“In the previous installments of this article, there have been
some inaccuracies, workarounds, ugly hacks, and other code which
should never have been written. Fortunately, some readers have
pointed this out to me, so I can learn, as can you.”

The code I’ll base this article on is similar in
functionality to that shown in the second installment of this
article. This has been done so that you can compare the differences
between them, and hopefully learn what not to do.

“The first big mistake in the earlier article, was that I was
dereferencing a pointer to user space from within kernel space.
This is not allowed, as the kernel will not know which segment the
offset refers to, and use the current one instead. It’s remarkable
that this code ever worked! The corrected code should use the
copy_from_user() function instead of a loop dereferencing to user
space. The TEST_write_proc subroutine now gets a lot shorter, as we
do away with the memory copying loop. All we have to do, is null
terminate the string, and then copy_from_user() it.”

Complete
Story

Web Webster

Web Webster

Web Webster has more than 20 years of writing and editorial experience in the tech sector. He’s written and edited news, demand generation, user-focused, and thought leadership content for business software solutions, consumer tech, and Linux Today, he edits and writes for a portfolio of tech industry news and analysis websites including webopedia.com, and DatabaseJournal.com.

Linux Today Logo

LinuxToday is a trusted, contributor-driven news resource supporting all types of Linux users. Our thriving international community engages with us through social media and frequent content contributions aimed at solving problems ranging from personal computing to enterprise-level IT operations. LinuxToday serves as a home for a community that struggles to find comparable information elsewhere on the web.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.