0

文字列 c を buf にコピーする前に、このユーザー空間バッファーをゼロにする必要があります。バッファーをゼロに初期化する方法。

static ssize_t myread(struct file *file,char __user *buf,size_t len, loff_t  *fops)
{
    printk(KERN_INFO"My read with length %d \n",len);
    len = strlen(c);

    if(copy_to_user(buf,c,len) != 0)
        return -EFAULT;
    else if (*fops > 0)
        return 0;
        else
            *fops += len;
            return len;
}
4

1 に答える 1

2

memsetを使用する

使用法についてはマンページを参照してください。定数バイトが連続するbufアドレスの範囲に設定されます。

于 2013-01-29T18:57:46.707 に答える