Linux Today: Linux News On Internet Time.
Search Linux Today
Linux News Sections:  Developer -  High Performance -  Infrastructure -  IT Management -  Security -  Storage -
Linux Today Navigation
LT Home
Contribute
Contribute
Link to Us
Linux Jobs


Top White Papers

  • While virtual desktop infrastructure (VDI) comes with many potential advantages, adoption of VDI has been slow. The reality is that the path to achieving...
    Download

  • Today's marketers need to rethink how they connect and engage with their customers. They must market with speed and agility, proactively providing innovative...
    Download

More on LinuxToday


Ext2: Device Driver Development [part 4]

Nov 23, 1999, 16:09 (0 Talkback[s])
(Other stories by Dave Jones)

[ 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

Related Stories: