mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 13:14:07 +08:00
zsmalloc: use correct types in _first_obj_offset functions
Since commitffedd09fa9
("zsmalloc: Stop using slab fields in struct page") we are using page->page_type (unsigned int) field instead of page->units (int) as first object offset in a subpage of zspage. So get_first_obj_offset() and set_first_obj_offset() functions should work with unsigned int type. Link: https://lkml.kernel.org/r/20220909083722.85024-1-avromanov@sberdevices.ru Fixes:ffedd09fa9
("zsmalloc: Stop using slab fields in struct page") Signed-off-by: Alexey Romanov <avromanov@sberdevices.ru> Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org> Cc: Alexey Romanov <avromanov@sberdevices.ru> Cc: Minchan Kim <minchan@kernel.org> Cc: Nitin Gupta <ngupta@vflare.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
85a34107eb
commit
671f2fa8a2
@ -472,12 +472,12 @@ static inline struct page *get_first_page(struct zspage *zspage)
|
||||
return first_page;
|
||||
}
|
||||
|
||||
static inline int get_first_obj_offset(struct page *page)
|
||||
static inline unsigned int get_first_obj_offset(struct page *page)
|
||||
{
|
||||
return page->page_type;
|
||||
}
|
||||
|
||||
static inline void set_first_obj_offset(struct page *page, int offset)
|
||||
static inline void set_first_obj_offset(struct page *page, unsigned int offset)
|
||||
{
|
||||
page->page_type = offset;
|
||||
}
|
||||
@ -1592,7 +1592,7 @@ static void zs_object_copy(struct size_class *class, unsigned long dst,
|
||||
static unsigned long find_alloced_obj(struct size_class *class,
|
||||
struct page *page, int *obj_idx)
|
||||
{
|
||||
int offset = 0;
|
||||
unsigned int offset;
|
||||
int index = *obj_idx;
|
||||
unsigned long handle = 0;
|
||||
void *addr = kmap_atomic(page);
|
||||
@ -1846,7 +1846,7 @@ static int zs_page_migrate(struct page *newpage, struct page *page,
|
||||
struct zspage *zspage;
|
||||
struct page *dummy;
|
||||
void *s_addr, *d_addr, *addr;
|
||||
int offset;
|
||||
unsigned int offset;
|
||||
unsigned long handle;
|
||||
unsigned long old_obj, new_obj;
|
||||
unsigned int obj_idx;
|
||||
|
Loading…
Reference in New Issue
Block a user