/* Returns 0 for success, otherwise, returns number of bytes not transferred. */ externunsignedlong pa_memcpy(void *dst, constvoid *src, unsignedlong len);
/* Check region is user accessible */ while (start < end) { if (!prober_user(SR_TEMP1, start)) {
newlen = (start - (unsignedlong) src); break;
}
start += PAGE_SIZE; /* align to page boundry which may have different permission */
start = PAGE_ALIGN_DOWN(start);
} return len - newlen + pa_memcpy(dst, (void __force *)src, newlen);
}
EXPORT_SYMBOL(raw_copy_from_user);
bool copy_from_kernel_nofault_allowed(constvoid *unsafe_src, size_t size)
{ if ((unsignedlong)unsafe_src < PAGE_SIZE) returnfalse; /* check for I/O space F_EXTEND(0xfff00000) access as well? */ returntrue;
}
Messung V0.5 in Prozent
¤ 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.0.19Bemerkung:
(vorverarbeitet am 2026-06-08)
¤
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.