Re: [問題] block type driver利用kmalloc

看板LinuxDev作者 (醒醒吧!!宅宅)時間18年前 (2007/03/30 13:15), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《fish39 (醒醒吧!!宅宅)》之銘言: : 首先 : 在驅動程式方面 : #define b_data (8) : //先取得一塊記憶空間 : data=kmalloc(b_data* sizeof(short int),GFP_KERNEL); : //ioctl : static int blk_ioctl(struct inode* inode, struct file* filp, : unsigned int cmd,unsigned long arg) : switch (cmd) : AAA: copy_from_user(&data,(short int *)arg,16); : break; : 在應用程式方面 : //準備一些資料 : short int BB[8]={12217,2490 ,-1277,-58,882,-36,-304,78}; : //想利用ioctl 將資料傳送到驅動程式的data裡面 : ioctl(devfp,AAA,&BB,16); : 但是執行後,把data[]裡面的值輸出,卻不是我要的 : 請問哪邊有錯呢? : 我懷疑是ioctl那邊有錯,但又不知道哪邊 : 請高手指點一下吧,THX@@ 感謝roylee17網友 copy_from_user(&data,(short int *)arg,16); ^^ 正確應該是 copy_from_user(data,(short int *)arg,16); 就可以正確儲存資料了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.108.99
文章代碼(AID): #1639q8N7 (LinuxDev)
討論串 (同標題文章)
文章代碼(AID): #1639q8N7 (LinuxDev)