@@ -48,14 +48,23 @@ module_param_named(debug_mask, binder_alloc_debug_mask,
48
48
pr_info(x); \
49
49
} while (0)
50
50
51
+ static struct binder_buffer * binder_buffer_next (struct binder_buffer * buffer )
52
+ {
53
+ return list_entry (buffer -> entry .next , struct binder_buffer , entry );
54
+ }
55
+
56
+ static struct binder_buffer * binder_buffer_prev (struct binder_buffer * buffer )
57
+ {
58
+ return list_entry (buffer -> entry .prev , struct binder_buffer , entry );
59
+ }
60
+
51
61
static size_t binder_alloc_buffer_size (struct binder_alloc * alloc ,
52
62
struct binder_buffer * buffer )
53
63
{
54
64
if (list_is_last (& buffer -> entry , & alloc -> buffers ))
55
65
return alloc -> buffer +
56
66
alloc -> buffer_size - (void * )buffer -> data ;
57
- return (size_t )list_entry (buffer -> entry .next ,
58
- struct binder_buffer , entry ) - (size_t )buffer -> data ;
67
+ return (size_t )binder_buffer_next (buffer ) - (size_t )buffer -> data ;
59
68
}
60
69
61
70
static void binder_insert_free_buffer (struct binder_alloc * alloc ,
@@ -470,7 +479,7 @@ static void binder_delete_free_buffer(struct binder_alloc *alloc,
470
479
int free_page_start = 1 ;
471
480
472
481
BUG_ON (alloc -> buffers .next == & buffer -> entry );
473
- prev = list_entry (buffer -> entry . prev , struct binder_buffer , entry );
482
+ prev = binder_buffer_prev (buffer );
474
483
BUG_ON (!prev -> free );
475
484
if (buffer_end_page (prev ) == buffer_start_page (buffer )) {
476
485
free_page_start = 0 ;
@@ -482,8 +491,7 @@ static void binder_delete_free_buffer(struct binder_alloc *alloc,
482
491
}
483
492
484
493
if (!list_is_last (& buffer -> entry , & alloc -> buffers )) {
485
- next = list_entry (buffer -> entry .next ,
486
- struct binder_buffer , entry );
494
+ next = binder_buffer_next (buffer );
487
495
if (buffer_start_page (next ) == buffer_end_page (buffer )) {
488
496
free_page_end = 0 ;
489
497
if (buffer_start_page (next ) ==
@@ -544,17 +552,15 @@ static void binder_free_buf_locked(struct binder_alloc *alloc,
544
552
rb_erase (& buffer -> rb_node , & alloc -> allocated_buffers );
545
553
buffer -> free = 1 ;
546
554
if (!list_is_last (& buffer -> entry , & alloc -> buffers )) {
547
- struct binder_buffer * next = list_entry (buffer -> entry .next ,
548
- struct binder_buffer , entry );
555
+ struct binder_buffer * next = binder_buffer_next (buffer );
549
556
550
557
if (next -> free ) {
551
558
rb_erase (& next -> rb_node , & alloc -> free_buffers );
552
559
binder_delete_free_buffer (alloc , next );
553
560
}
554
561
}
555
562
if (alloc -> buffers .next != & buffer -> entry ) {
556
- struct binder_buffer * prev = list_entry (buffer -> entry .prev ,
557
- struct binder_buffer , entry );
563
+ struct binder_buffer * prev = binder_buffer_prev (buffer );
558
564
559
565
if (prev -> free ) {
560
566
binder_delete_free_buffer (alloc , buffer );
0 commit comments