lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon,  4 Feb 2008 18:54:30 +0900 (JST)
From:	ohyama_sec@...el-networks.com
To:	linux-kernel@...r.kernel.org
Subject: [QUESTION] I have a question about making device driver

I have a question about device driver.

I'm writing device driver for parallel port on Linux.

In initial function which is argument of module_init() in my device driver, I reserved I/O address region, 0x378-0x37a, with using request_region() and regist my charactor device driver calling register_chrdev().

After I compile and link it. I insert this module and I can confirm that I obtaind the range of I/O address at /proc/ioports.
But I cannot write data on I/O address line, It means that following check program shows "false".

--- check program ---
#include <linux/types.h>
#include <asm/io.h>
#include <stdio.h>

int main(void){
    int base = 0x378;
    char read, write;

    ioperm(base, 1, 1);

    write = 0xa;
    outb(write, base);
    read = inb(base);

    if((read & 0xf) == write){
        printf("true\n");
    }else{
        printf("false\n");    
    }
    return 0;
}
---

At this time, I unloaded kernel modules which are related to parallel port. they are 'ppdev', 'lp', 'parport_pc' and 'parport'.

What should I do at initial funtion in my module to do I/O.
(The version of kernel that I use is 2.6.19-7.)


===
by Hiroyasu Ohyama

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ