Kullanıcı alanı modunda bir veri arabelleği için bir işaretçim var ve şimdi "copy_from_user" işleviyle bu verilerin değerini çekirdek moduna kopyalamak istiyorum.copy_from_user çağrısında hedef parametresine ilişkin bildirim ve bellek ayırma
Veri işaretçimin "data.ptr.buffer" olduğunu ve boyutunun "data_size" olduğunu varsayalım. "data.ptr.buffer" bildirimi şöyledir: const void *buffer;
Şimdi, çekirdek modunda veri arabelleği değerini almak için, çekirdek modunda belleğe nasıl bildirip nasıl ayırabiliyorum? Ben data_value parametreyi beyan ve buna bellek ayırabilir nasıl bilmek istiyorum Başka bir deyişle
copy_from_user(data_value, data.ptr.buffer, data_size)
(örn kzalloc, ...): my "copy_from_user" çağrısı gibi bir şey mi? Veri boyutunuzun küçük, yani 100 bayt olduğunu biliyorsanız, bir char dizisi bildirebilirseniz,
Bazı * isteğe bağlı bellekler * kullanmak istiyorsanız doğru olan kmalloc() 'içine bakmak isteyebilirsiniz. – tofro