diff options
author | Jens Axboe <axboe@kernel.dk> | 2024-09-11 19:42:37 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2024-09-11 19:42:37 +0300 |
commit | 318ad4283a6efea8ce5ec2b3c65b6cb19df6b07e (patch) | |
tree | 52b9f63840ae2202cf40c444de0de8e9ce29cc14 /mm | |
parent | bc83b4d1f08695e85e85d36f7b803da58010161d (diff) | |
parent | eb1d46fcd5d672c9da84925ec38f1aca35d40940 (diff) | |
download | linux-318ad4283a6efea8ce5ec2b3c65b6cb19df6b07e.tar.xz |
Merge branch 'for-6.12/block' into for-6.12/io_uring-discard
* for-6.12/block: (115 commits)
block: unpin user pages belonging to a folio at once
mm: release number of pages of a folio
block: introduce folio awareness and add a bigger size from folio
block: Added folio-ized version of bio_add_hw_page()
block, bfq: factor out a helper to split bfqq in bfq_init_rq()
block, bfq: remove local variable 'bfqq_already_existing' in bfq_init_rq()
block, bfq: remove local variable 'split' in bfq_init_rq()
block, bfq: remove bfq_log_bfqg()
block, bfq: merge bfq_release_process_ref() into bfq_put_cooperator()
block, bfq: fix procress reference leakage for bfqq in merge chain
block, bfq: fix uaf for accessing waker_bfqq after splitting
blk-throttle: support prioritized processing of metadata
blk-throttle: remove last_low_overflow_time
drbd: Add NULL check for net_conf to prevent dereference in state validation
blk-mq: add missing unplug trace event
mtip32xx: Remove redundant null pointer checks in mtip_hw_debugfs_init()
md: Add new_level sysfs interface
zram: Shrink zram_table_entry::flags.
zram: Remove ZRAM_LOCK
zram: Replace bit spinlocks with a spinlock_t.
...
Diffstat (limited to 'mm')
-rw-r--r-- | mm/gup.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -416,6 +416,19 @@ void unpin_user_pages(struct page **pages, unsigned long npages) EXPORT_SYMBOL(unpin_user_pages); /** + * unpin_user_folio() - release pages of a folio + * @folio: pointer to folio to be released + * @npages: number of pages of same folio + * + * Release npages of the folio + */ +void unpin_user_folio(struct folio *folio, unsigned long npages) +{ + gup_put_folio(folio, npages, FOLL_PIN); +} +EXPORT_SYMBOL(unpin_user_folio); + +/** * unpin_folios() - release an array of gup-pinned folios. * @folios: array of folios to be marked dirty and released. * @nfolios: number of folios in the @folios array. |