KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Revision 4 as of 2006-08-01 20:39:05
KernelNewbies:
  • FAQ
  • WhyWritingFilesFromKernelIsBad

Why writing files from the kernel is bad ?

Reasons

The question "how to I open/read/write files from the kernel ?" is often asked on the kernelnewbies mailing list. However, the question cannot really be answered: opening, reading and writing files from within the kernel is usually a bad idea. Generally speaking, trying to use any of the sys_*() functions from the kernel itself is a bad idea.

For several reasons:

  • it is not the role of the kernel

== The good ways ===

There are several ways to exchange informations between userspace and the kernel, and the one to use really depends on what you want to do:

  • kernel module parameters are useful to set general configuration options for your modules
  • [http://sosdg.org/~coywolf/lxr/source/Documentation/filesystems/sysfs.txt sysfs] is useful to get/set attributes to devices

  • [http://lwn.net/Articles/115405/ debugfs]

  • [http://sosdg.org/~coywolf/lxr/source/Documentation/filesystems/relayfs.txt relayfs]

  • netlink sockets

Using /proc is not anymore a good idea these days, except if you want to export information related to processes.

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01