Is it possible to read from a device in a kernel module? For example if I wanted to read from /dev/sda how would I go about doing that (I picked /dev/sda just as an example, in my exact scenario I need to read from a character device)? I know user space functions aren't available in kernel modules so I assume the open function for opening a device file is not available, plus I would assume that since the code is already being executed in kernel space there's probably a way to bypass the dev filesystem and access the device directly. Also, if it's not possible to read from it, is it at least possible to check if it exists?
Read From A Device in Kernel Module
356 Views Asked by Harry Muscle At
0
There are 0 best solutions below
Related Questions in LINUX-KERNEL
- Android kernel error: undefined reference to `get_hw_version_platform'
- Is there a need for BPF Linux namespace?
- Facing fatal errors while running "yum update" command on CentOS 7/Cloudlinux 7
- crash utility itself crashes while decoding kdump generated from null pointer dereference in kernel module
- How to compile the Linux kernel with -O0 for more detailed debug?
- Linux support for parallel Pixel data Image sensor
- Can't upgrade to newest version of linux-image-6.5.0-26-generic
- How to protect a page so that it cannot be write in mips arch?
- How to extract the .img file into normal kernel source file in the linux?
- Storage size of struct hash_desc desc; isn't known
- How can I intercept failed file openning calls?
- struct nameidata-Linux Kernel Module
- How to modify a 'struct msghdr' in Linux Kernel Module?
- How to allocate 500MB+ physically contiguous memory in a Linux kernel module and copy data to that memory from a userspace process?
- Hyper Threading: nosmt in grub configuration
Related Questions in LINUX-DEVICE-DRIVER
- Linux support for parallel Pixel data Image sensor
- Linux to QNX USB driver convert
- IRQ interrupt obtaining abnormal possibilities
- Error compiling dts (Device Tree source) file for dtb
- How to write the external interrupt callback function of Linux kernel v3.10?
- Does traffic control (tc) command have a rate limit?
- The module first installed the alarm when it started
- How does the Linux kernel now what to put in platform_data?
- How to reduce cached memory used by Linux kernel on embedded linux platform
- Notifying Linux MMC subsystem about power loss
- Linux kernel 6.6 from block_device how to find out if it has mounted file system
- Linux SPI read and write may occasionally be slow?
- gettimeofday calculates the runtime, with occasional significant deviations?
- uImage is not supported in kexec_file
- Linux of_platform_depopulate() does not remove drivers
Related Questions in KERNEL-MODULE
- crash utility itself crashes while decoding kdump generated from null pointer dereference in kernel module
- How to modify a 'struct msghdr' in Linux Kernel Module?
- How to allocate 500MB+ physically contiguous memory in a Linux kernel module and copy data to that memory from a userspace process?
- Something's wrong with the makefile indentation? (Makefile:x: *** missing separator. Stop.)
- How to setup configfs for a custom Linux kernel module
- How to reduce reserved memory allocated by Linux kernel during boot time
- How do I use RDMA in the kernel so that I can communicate with user-space RDMA?
- How to get full mountpoint path name by the sturct fc_context
- Do kernel and kernel modules have their own task_struct?
- How external kernel module look for exported symbol during modpost
- kernel log trace file entries issue
- memcpy() - unable to handle kernel NULL pointer dereference
- Making a few charecter device in linux
- insmod fails - module does not seem to match running kernel but I cannot figure out why
- Can't get vermagic to match on Linux NVMe driver
Related Questions in USERSPACE
- Identical C code using identical user-space bluetooth library works fine on one Ubuntu 22.04 laptop and fails on another
- How do I use RDMA in the kernel so that I can communicate with user-space RDMA?
- fgets that doesn't stop at spaces or linebreaks
- How to implement syscall in XV6
- Non-root access to a wifi adapter via ioctl in Linux app - how to grant?
- Using I2C or SPI device via Linux Userspace I/O driver?
- I2C device drivers in userspace : mutex on ioctl and smbus address
- Userspace use Generic Netlink Library pass NLA_NESTED data to kernel error
- How to detect if `struct page` is backed by a file on a filesystem in Linux?
- AES-GCM with the Kernel Crypto API from Userspace
- how pass data from kernel space to user space - copy_to_user()
- How to send data from kernel to userspace through signals (send_sig_info)?
- UDP packet re-ordering in linux
- enable Dpdk application talk to Linux process
- kubernetes kube proxy mode(which one IPVS,iptables or userspace)
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?