mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
media: atomisp: fix __user annotations
There are lots of troubles with atomisp __user annotations. Fix them. drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c:357:49: warning: incorrect type in argument 2 (different address spaces) drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c:357:49: expected void *userptr drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c:357:49: got void [noderef] <asn:1>*user_ptr drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:3302:43: warning: incorrect type in argument 2 (different address spaces) drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:3302:43: expected void const [noderef] <asn:1>*from drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:3302:43: got void const *from drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4070:58: warning: incorrect type in argument 2 (different address spaces) drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4070:58: expected void const *from drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4070:58: got unsigned short [noderef] <asn:1>*<noident> drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4082:58: warning: incorrect type in argument 2 (different address spaces) drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4082:58: expected void const *from drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4082:58: got unsigned short [noderef] <asn:1>*<noident> drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:6179:62: warning: incorrect type in argument 2 (different address spaces) drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:6179:62: expected void const [noderef] <asn:1>*from drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:6179:62: got unsigned short [usertype] *<noident> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
3204043fcf
commit
90d53d199a
@ -353,8 +353,8 @@ int atomisp_acc_map(struct atomisp_sub_device *asd, struct atomisp_acc_map *map)
|
||||
}
|
||||
|
||||
pgnr = DIV_ROUND_UP(map->length, PAGE_SIZE);
|
||||
cssptr = hrt_isp_css_mm_alloc_user_ptr(
|
||||
map->length, map->user_ptr,
|
||||
cssptr = hrt_isp_css_mm_alloc_user_ptr(map->length,
|
||||
map->user_ptr,
|
||||
pgnr, HRT_USR_PTR,
|
||||
(map->flags & ATOMISP_MAP_FLAG_CACHED));
|
||||
} else {
|
||||
|
@ -3299,7 +3299,7 @@ static unsigned int long copy_from_compatible(void *to, const void *from,
|
||||
unsigned long n, bool from_user)
|
||||
{
|
||||
if (from_user)
|
||||
return copy_from_user(to, from, n);
|
||||
return copy_from_user(to, (void __user *)from, n);
|
||||
else
|
||||
memcpy(to, from, n);
|
||||
return 0;
|
||||
@ -4067,7 +4067,7 @@ int atomisp_cp_morph_table(struct atomisp_sub_device *asd,
|
||||
|
||||
for (i = 0; i < CSS_MORPH_TABLE_NUM_PLANES; i++) {
|
||||
if (copy_from_compatible(morph_table->coordinates_x[i],
|
||||
source_morph_table->coordinates_x[i],
|
||||
(__force void *)source_morph_table->coordinates_x[i],
|
||||
#ifndef ISP2401
|
||||
source_morph_table->height * source_morph_table->width *
|
||||
sizeof(*source_morph_table->coordinates_x[i]),
|
||||
@ -4079,7 +4079,7 @@ int atomisp_cp_morph_table(struct atomisp_sub_device *asd,
|
||||
goto error;
|
||||
|
||||
if (copy_from_compatible(morph_table->coordinates_y[i],
|
||||
source_morph_table->coordinates_y[i],
|
||||
(__force void *)source_morph_table->coordinates_y[i],
|
||||
#ifndef ISP2401
|
||||
source_morph_table->height * source_morph_table->width *
|
||||
sizeof(*source_morph_table->coordinates_y[i]),
|
||||
@ -6176,7 +6176,8 @@ int atomisp_set_shading_table(struct atomisp_sub_device *asd,
|
||||
ATOMISP_SC_TYPE_SIZE;
|
||||
for (i = 0; i < ATOMISP_NUM_SC_COLORS; i++) {
|
||||
ret = copy_from_user(shading_table->data[i],
|
||||
user_shading_table->data[i], len_table);
|
||||
(void __user *)user_shading_table->data[i],
|
||||
len_table);
|
||||
if (ret) {
|
||||
free_table = shading_table;
|
||||
ret = -EFAULT;
|
||||
|
@ -353,7 +353,7 @@ void atomisp_css_frame_free(struct atomisp_css_frame *frame);
|
||||
|
||||
int atomisp_css_frame_map(struct atomisp_css_frame **frame,
|
||||
const struct atomisp_css_frame_info *info,
|
||||
const void *data, uint16_t attribute,
|
||||
const void __user *data, uint16_t attribute,
|
||||
void *context);
|
||||
|
||||
int atomisp_css_set_black_frame(struct atomisp_sub_device *asd,
|
||||
|
@ -2189,7 +2189,7 @@ void atomisp_css_frame_free(struct atomisp_css_frame *frame)
|
||||
|
||||
int atomisp_css_frame_map(struct atomisp_css_frame **frame,
|
||||
const struct atomisp_css_frame_info *info,
|
||||
const void *data, uint16_t attribute,
|
||||
const void __user *data, uint16_t attribute,
|
||||
void *context)
|
||||
{
|
||||
if (ia_css_frame_map(frame, info, data, attribute, context)
|
||||
|
@ -1253,7 +1253,7 @@ static int atomisp_qbuf(struct file *file, void *fh, struct v4l2_buffer *buf)
|
||||
attributes.type = HRT_USR_PTR;
|
||||
#endif
|
||||
ret = atomisp_css_frame_map(&handle, &frame_info,
|
||||
(void *)buf->m.userptr,
|
||||
(void __user *)buf->m.userptr,
|
||||
0, &attributes);
|
||||
if (ret) {
|
||||
dev_err(isp->dev, "Failed to map user buffer\n");
|
||||
|
@ -137,7 +137,7 @@ extern hrt_vaddress mmgr_alloc_attr(const size_t size, const uint16_t attribute)
|
||||
\return vaddress
|
||||
*/
|
||||
extern hrt_vaddress mmgr_mmap(
|
||||
const void *ptr,
|
||||
const void __user *ptr,
|
||||
const size_t size,
|
||||
uint16_t attribute,
|
||||
void *context);
|
||||
|
@ -333,7 +333,7 @@ ia_css_frame_set_data(struct ia_css_frame *frame,
|
||||
enum ia_css_err
|
||||
ia_css_frame_map(struct ia_css_frame **frame,
|
||||
const struct ia_css_frame_info *info,
|
||||
const void *data,
|
||||
const void __user *data,
|
||||
uint16_t attribute,
|
||||
void *context);
|
||||
|
||||
|
@ -72,12 +72,12 @@ mmgr_store(const hrt_vaddress vaddr, const void *data, const size_t size)
|
||||
}
|
||||
|
||||
hrt_vaddress
|
||||
mmgr_mmap(const void *ptr, const size_t size,
|
||||
mmgr_mmap(const void __user *ptr, const size_t size,
|
||||
uint16_t attribute, void *context)
|
||||
{
|
||||
struct hrt_userbuffer_attr *userbuffer_attr = context;
|
||||
return hrt_isp_css_mm_alloc_user_ptr(
|
||||
size, (void *)ptr, userbuffer_attr->pgnr,
|
||||
size, ptr, userbuffer_attr->pgnr,
|
||||
userbuffer_attr->type,
|
||||
attribute & HRT_BUF_FLAG_CACHED);
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ enum ia_css_err ia_css_frame_allocate(struct ia_css_frame **frame,
|
||||
|
||||
enum ia_css_err ia_css_frame_map(struct ia_css_frame **frame,
|
||||
const struct ia_css_frame_info *info,
|
||||
const void *data,
|
||||
const void __user *data,
|
||||
uint16_t attribute,
|
||||
void *context)
|
||||
{
|
||||
|
@ -219,7 +219,7 @@ void hmm_cleanup(void)
|
||||
}
|
||||
|
||||
ia_css_ptr hmm_alloc(size_t bytes, enum hmm_bo_type type,
|
||||
int from_highmem, void *userptr, bool cached)
|
||||
int from_highmem, const void __user *userptr, bool cached)
|
||||
{
|
||||
unsigned int pgnr;
|
||||
struct hmm_buffer_object *bo;
|
||||
|
@ -977,7 +977,7 @@ static int get_pfnmap_pages(struct task_struct *tsk, struct mm_struct *mm,
|
||||
* Convert user space virtual address into pages list
|
||||
*/
|
||||
static int alloc_user_pages(struct hmm_buffer_object *bo,
|
||||
void *userptr, bool cached)
|
||||
const void __user *userptr, bool cached)
|
||||
{
|
||||
int page_nr;
|
||||
int i;
|
||||
@ -1081,7 +1081,7 @@ static void free_user_pages(struct hmm_buffer_object *bo)
|
||||
*/
|
||||
int hmm_bo_alloc_pages(struct hmm_buffer_object *bo,
|
||||
enum hmm_bo_type type, int from_highmem,
|
||||
void *userptr, bool cached)
|
||||
const void __user *userptr, bool cached)
|
||||
{
|
||||
int ret = -EINVAL;
|
||||
|
||||
|
@ -24,11 +24,11 @@
|
||||
|
||||
#define __page_align(size) (((size) + (PAGE_SIZE-1)) & (~(PAGE_SIZE-1)))
|
||||
|
||||
static void *my_userptr;
|
||||
static void __user *my_userptr;
|
||||
static unsigned my_num_pages;
|
||||
static enum hrt_userptr_type my_usr_type;
|
||||
|
||||
void hrt_isp_css_mm_set_user_ptr(void *userptr,
|
||||
void hrt_isp_css_mm_set_user_ptr(void __user *userptr,
|
||||
unsigned int num_pages,
|
||||
enum hrt_userptr_type type)
|
||||
{
|
||||
@ -37,7 +37,8 @@ void hrt_isp_css_mm_set_user_ptr(void *userptr,
|
||||
my_usr_type = type;
|
||||
}
|
||||
|
||||
static ia_css_ptr __hrt_isp_css_mm_alloc(size_t bytes, void *userptr,
|
||||
static ia_css_ptr __hrt_isp_css_mm_alloc(size_t bytes,
|
||||
const void __user *userptr,
|
||||
unsigned int num_pages,
|
||||
enum hrt_userptr_type type,
|
||||
bool cached)
|
||||
@ -78,7 +79,8 @@ ia_css_ptr hrt_isp_css_mm_alloc(size_t bytes)
|
||||
my_num_pages, my_usr_type, false);
|
||||
}
|
||||
|
||||
ia_css_ptr hrt_isp_css_mm_alloc_user_ptr(size_t bytes, void *userptr,
|
||||
ia_css_ptr hrt_isp_css_mm_alloc_user_ptr(size_t bytes,
|
||||
const void __user *userptr,
|
||||
unsigned int num_pages,
|
||||
enum hrt_userptr_type type,
|
||||
bool cached)
|
||||
|
@ -37,12 +37,13 @@ struct hrt_userbuffer_attr {
|
||||
unsigned int pgnr;
|
||||
};
|
||||
|
||||
void hrt_isp_css_mm_set_user_ptr(void *userptr,
|
||||
void hrt_isp_css_mm_set_user_ptr(void __user *userptr,
|
||||
unsigned int num_pages, enum hrt_userptr_type);
|
||||
|
||||
/* Allocate memory, returns a virtual address */
|
||||
ia_css_ptr hrt_isp_css_mm_alloc(size_t bytes);
|
||||
ia_css_ptr hrt_isp_css_mm_alloc_user_ptr(size_t bytes, void *userptr,
|
||||
ia_css_ptr hrt_isp_css_mm_alloc_user_ptr(size_t bytes,
|
||||
const void __user *userptr,
|
||||
unsigned int num_pages,
|
||||
enum hrt_userptr_type,
|
||||
bool cached);
|
||||
|
@ -38,7 +38,7 @@ int hmm_init(void);
|
||||
void hmm_cleanup(void);
|
||||
|
||||
ia_css_ptr hmm_alloc(size_t bytes, enum hmm_bo_type type,
|
||||
int from_highmem, void *userptr, bool cached);
|
||||
int from_highmem, const void __user *userptr, bool cached);
|
||||
void hmm_free(ia_css_ptr ptr);
|
||||
int hmm_load(ia_css_ptr virt, void *data, unsigned int bytes);
|
||||
int hmm_store(ia_css_ptr virt, const void *data, unsigned int bytes);
|
||||
|
@ -244,7 +244,7 @@ int hmm_bo_allocated(struct hmm_buffer_object *bo);
|
||||
*/
|
||||
int hmm_bo_alloc_pages(struct hmm_buffer_object *bo,
|
||||
enum hmm_bo_type type, int from_highmem,
|
||||
void *userptr, bool cached);
|
||||
const void __user *userptr, bool cached);
|
||||
void hmm_bo_free_pages(struct hmm_buffer_object *bo);
|
||||
int hmm_bo_page_allocated(struct hmm_buffer_object *bo);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user