/* * Copy user data from/to a page which is mapped into a different processes * address space. Really, we want to allow our "user space" model to handle * this.
*/ void copy_to_user_page(struct vm_area_struct *vma, struct page *page, unsignedlong uaddr, void *dst, constvoid *src, unsignedlong len)
{
memcpy(dst, src, len);
flush_ptrace_access(vma, (unsignedlong)dst, (unsignedlong)dst + len);
}
/* * This function is called when a page has been modified by the kernel. Mark * it as dirty for later flushing when mapped in user space (if executable, * see __sync_icache_dcache).
*/ void flush_dcache_folio(struct folio *folio)
{ if (test_bit(PG_dcache_clean, &folio->flags))
clear_bit(PG_dcache_clean, &folio->flags);
}
EXPORT_SYMBOL(flush_dcache_folio);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.