/* 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);
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.