]>
www.infradead.org Git - users/hch/block.git/log
Christoph Hellwig [Fri, 30 Oct 2020 16:51:09 +0000 (17:51 +0100)]
mm: move putting the page on error out of filemap_make_page_uptodate
Move the put_page on error from filemap_make_page_uptodate into the
callers.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Christoph Hellwig [Fri, 30 Oct 2020 16:46:34 +0000 (17:46 +0100)]
mm: move putting the page on error out of filemap_readpage
Move the put_page on error from filemap_readpage into the callers.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Christoph Hellwig [Fri, 30 Oct 2020 16:34:33 +0000 (17:34 +0100)]
mm: refactor generic_file_buffered_read_get_pages
Move the call to filemap_make_page_uptodate for a newly allocated page
into filemap_new_page, which turns the new vs lookup decision into a
plain if / else statement, rename two identifier to be more obvious
and the function itself to filemap_find_or_create_pages which describes
it a little better while being much shorter.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Christoph Hellwig [Fri, 30 Oct 2020 15:45:50 +0000 (16:45 +0100)]
mm: factor out a filemap_find_get_pages helper
Factor out a helper to lookup a range of contiguous pages from
generic_file_buffered_read_get_pages.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Christoph Hellwig [Fri, 30 Oct 2020 15:36:52 +0000 (16:36 +0100)]
mm: simplify generic_file_buffered_read_no_cached_page
Return an errno and add a new by reference argument for the allocated
page, which allows to cleanup the error unwindining in the function
and the caller. Also rename the function to filemap_new_page which is
both shorter and more descriptive.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Christoph Hellwig [Fri, 30 Oct 2020 15:15:40 +0000 (16:15 +0100)]
mm: handle readahead in generic_file_buffered_read_pagenotuptodate
Move the calculation of the per-page variables and the readahead handling
from the only caller into generic_file_buffered_read_pagenotuptodate,
which now becomes a routine to handle everything related to bringing
one page uptodate and thus is renamed to filemap_read_one_page.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Christoph Hellwig [Fri, 30 Oct 2020 15:15:09 +0000 (16:15 +0100)]
mm: lift the nowait checks into generic_file_buffered_read_pagenotuptodate
Move the checks for IOCB_NOWAIT and IOCB_WAITQ from the only caller into
generic_file_buffered_read_pagenotuptodate, which simplifies the error
unwinding.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Christoph Hellwig [Fri, 30 Oct 2020 09:07:53 +0000 (10:07 +0100)]
mm: simplify generic_file_buffered_read_pagenotuptodate
Stop passing pointless arguments, and return an int instead of a page
struct that contains either the passed in page, an ERR_PTR or NULL and
use goto labels to share common code.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Christoph Hellwig [Fri, 30 Oct 2020 08:53:34 +0000 (09:53 +0100)]
mm: simplify generic_file_buffered_read_readpage
Stop passing pointless arguments, and return an int instead of a page
struct that contains either the passed in page, an ERR_PTR or NULL and
use goto labels to share common code. Also rename the function to
filemap_readpage as it is a fairly generic wrapper around ->readpage
that isn't really specific to generic_file_buffered_read.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Stephen Rothwell [Fri, 30 Oct 2020 04:11:13 +0000 (15:11 +1100)]
Add linux-next specific files for
20201030
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Stephen Rothwell [Fri, 30 Oct 2020 03:24:10 +0000 (14:24 +1100)]
Merge branch 'akpm/master' into master
Jann Horn [Thu, 29 Oct 2020 01:10:05 +0000 (12:10 +1100)]
mm/gup: assert that the mmap lock is held in __get_user_pages()
After having cleaned up all GUP callers (except for the atomisp staging
driver, which currently gets mmap locking completely wrong [1]) to always
ensure that they hold the mmap lock when calling into GUP (unless the mm
is not yet globally visible), add an assertion to make sure it stays that
way going forward.
[1] https://lore.kernel.org/lkml/CAG48ez3tZAb9JVhw4T5e-i=h2_DUZxfNRTDsagSRCVazNXx5qA@mail.gmail.com/
Link: https://lkml.kernel.org/r/CAG48ez1GM==OnHpS=ghqZNJPn02FCDUEHc7GQmGRMXUD_aKudg@mail.gmail.com
Signed-off-by: Jann Horn <jannh@google.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Acked-by: Michel Lespinasse <walken@google.com>
Cc: "Eric W . Biederman" <ebiederm@xmission.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Jann Horn [Thu, 29 Oct 2020 01:10:05 +0000 (12:10 +1100)]
mmap locking API: don't check locking if the mm isn't live yet
In preparation for adding a mmap_assert_locked() check in
__get_user_pages(), teach the mmap_assert_*locked() helpers that it's fine
to operate on an mm without locking in the middle of execve() as long as
it hasn't been installed on a process yet.
Existing code paths that do this are (reverse callgraph):
get_user_pages_remote
get_arg_page
copy_strings
copy_string_kernel
remove_arg_zero
tomoyo_dump_page
tomoyo_print_bprm
tomoyo_scan_bprm
tomoyo_environ
Link: https://lkml.kernel.org/r/CAG48ez03YJG9JU_6tGiMcaVjuTyRE_o4LEQ7901b5ZoCnNAjcg@mail.gmail.com
Signed-off-by: Jann Horn <jannh@google.com>
Cc: "Eric W . Biederman" <ebiederm@xmission.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Michel Lespinasse <walken@google.com>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Stephen Rothwell [Fri, 30 Oct 2020 03:10:09 +0000 (14:10 +1100)]
Merge branch 'akpm-current/current' into master
Stephen Rothwell [Fri, 30 Oct 2020 02:32:17 +0000 (13:32 +1100)]
Merge remote-tracking branch 'memblock/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 02:19:51 +0000 (13:19 +1100)]
Merge remote-tracking branch 'notifications/notifications-pipe-core' into master
Stephen Rothwell [Fri, 30 Oct 2020 02:19:46 +0000 (13:19 +1100)]
Merge remote-tracking branch 'mhi/mhi-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 02:11:06 +0000 (13:11 +1100)]
Merge remote-tracking branch 'fpga/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 02:11:04 +0000 (13:11 +1100)]
Merge remote-tracking branch 'pidfd/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 02:09:24 +0000 (13:09 +1100)]
Merge remote-tracking branch 'xarray/main' into master
Stephen Rothwell [Fri, 30 Oct 2020 02:07:13 +0000 (13:07 +1100)]
Merge remote-tracking branch 'nvmem/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 02:06:01 +0000 (13:06 +1100)]
Merge remote-tracking branch 'slimbus/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:56:16 +0000 (12:56 +1100)]
Merge remote-tracking branch 'seccomp/for-next/seccomp' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:54:37 +0000 (12:54 +1100)]
Merge remote-tracking branch 'rtc/rtc-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:53:39 +0000 (12:53 +1100)]
Merge remote-tracking branch 'coresight/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:53:38 +0000 (12:53 +1100)]
Merge remote-tracking branch 'livepatching/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:52:42 +0000 (12:52 +1100)]
Merge remote-tracking branch 'kselftest/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:51:03 +0000 (12:51 +1100)]
Merge remote-tracking branch 'pinctrl-samsung/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:49:25 +0000 (12:49 +1100)]
Merge remote-tracking branch 'pinctrl-intel/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:40:06 +0000 (12:40 +1100)]
Merge remote-tracking branch 'pinctrl/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:38:27 +0000 (12:38 +1100)]
Merge remote-tracking branch 'gpio-brgl/gpio/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:36:15 +0000 (12:36 +1100)]
Merge remote-tracking branch 'gpio/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:35:03 +0000 (12:35 +1100)]
Merge remote-tracking branch 'rpmsg/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:33:33 +0000 (12:33 +1100)]
Merge remote-tracking branch 'vhost/linux-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:31:59 +0000 (12:31 +1100)]
Merge remote-tracking branch 'scsi-mkp/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:30:20 +0000 (12:30 +1100)]
Merge remote-tracking branch 'dmaengine/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:28:42 +0000 (12:28 +1100)]
Merge remote-tracking branch 'icc/icc-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:28:34 +0000 (12:28 +1100)]
Merge remote-tracking branch 'mux/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:26:35 +0000 (12:26 +1100)]
Merge remote-tracking branch 'staging/staging-next' into master
# Conflicts:
# tools/testing/selftests/android/ion/ipcsocket.c
# tools/testing/selftests/android/ion/ipcsocket.h
Stephen Rothwell [Fri, 30 Oct 2020 01:25:03 +0000 (12:25 +1100)]
Merge remote-tracking branch 'extcon/extcon-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:23:34 +0000 (12:23 +1100)]
Merge remote-tracking branch 'tty/tty-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:22:22 +0000 (12:22 +1100)]
Merge remote-tracking branch 'phy-next/next' into master
# Conflicts:
# MAINTAINERS
Stephen Rothwell [Fri, 30 Oct 2020 01:21:10 +0000 (12:21 +1100)]
Merge remote-tracking branch 'usb-chipidea-next/for-usb-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:19:57 +0000 (12:19 +1100)]
Merge remote-tracking branch 'usb-serial/usb-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:18:26 +0000 (12:18 +1100)]
Merge remote-tracking branch 'usb/usb-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:17:13 +0000 (12:17 +1100)]
Merge remote-tracking branch 'ipmi/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:16:00 +0000 (12:16 +1100)]
Merge remote-tracking branch 'leds/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:14:02 +0000 (12:14 +1100)]
Merge remote-tracking branch 'drivers-x86/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:14:01 +0000 (12:14 +1100)]
Merge remote-tracking branch 'percpu/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 01:13:04 +0000 (12:13 +1100)]
Merge remote-tracking branch 'kvm-arm/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:59:48 +0000 (11:59 +1100)]
Merge remote-tracking branch 'rcu/rcu/next' into master
# Conflicts:
# include/linux/lockdep.h
Stephen Rothwell [Fri, 30 Oct 2020 00:58:01 +0000 (11:58 +1100)]
Merge remote-tracking branch 'irqchip/irq/irqchip-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:56:48 +0000 (11:56 +1100)]
Merge remote-tracking branch 'edac/edac-for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:56:46 +0000 (11:56 +1100)]
Merge remote-tracking branch 'clockevents/timers/drivers/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:43:25 +0000 (11:43 +1100)]
Merge remote-tracking branch 'tip/auto-latest' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:41:47 +0000 (11:41 +1100)]
Merge remote-tracking branch 'spi/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:39:35 +0000 (11:39 +1100)]
Merge remote-tracking branch 'audit/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:37:57 +0000 (11:37 +1100)]
Merge remote-tracking branch 'tpmdd/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:36:19 +0000 (11:36 +1100)]
Merge remote-tracking branch 'tomoyo/master' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:34:40 +0000 (11:34 +1100)]
Merge remote-tracking branch 'selinux/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:32:58 +0000 (11:32 +1100)]
Merge remote-tracking branch 'regulator/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:30:52 +0000 (11:30 +1100)]
Merge remote-tracking branch 'mmc/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:17:29 +0000 (11:17 +1100)]
Merge remote-tracking branch 'block/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:15:52 +0000 (11:15 +1100)]
Merge remote-tracking branch 'modules/modules-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:14:05 +0000 (11:14 +1100)]
Merge remote-tracking branch 'sound-asoc/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:12:52 +0000 (11:12 +1100)]
Merge remote-tracking branch 'sound/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:10:07 +0000 (11:10 +1100)]
Merge remote-tracking branch 'regmap/for-next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:08:54 +0000 (11:08 +1100)]
Merge remote-tracking branch 'etnaviv/etnaviv/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:07:24 +0000 (11:07 +1100)]
Merge remote-tracking branch 'imx-drm/imx-drm/next' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:07:08 +0000 (11:07 +1100)]
Merge remote-tracking branch 'mali-dp/for-upstream/mali-dp' into master
Stephen Rothwell [Fri, 30 Oct 2020 00:04:47 +0000 (11:04 +1100)]
Stephen Rothwell [Thu, 29 Oct 2020 23:54:12 +0000 (10:54 +1100)]
Merge remote-tracking branch 'drm-intel/for-linux-next' into master
# Conflicts:
# drivers/gpu/drm/i915/display/intel_ddi.c
# drivers/gpu/drm/i915/display/intel_display.c
Stephen Rothwell [Thu, 29 Oct 2020 23:52:01 +0000 (10:52 +1100)]
Merge remote-tracking branch 'amdgpu/drm-next' into master
# Conflicts:
# drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
# drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
# drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
# drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c
# drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
Stephen Rothwell [Thu, 29 Oct 2020 23:50:47 +0000 (10:50 +1100)]
Merge remote-tracking branch 'mtd/mtd/next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:49:34 +0000 (10:49 +1100)]
Merge remote-tracking branch 'gfs2/for-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:48:21 +0000 (10:48 +1100)]
Merge remote-tracking branch 'bluetooth/master' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:46:42 +0000 (10:46 +1100)]
Merge remote-tracking branch 'net-next/master' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:44:25 +0000 (10:44 +1100)]
Merge remote-tracking branch 'rdma/for-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:42:53 +0000 (10:42 +1100)]
Merge remote-tracking branch 'ieee1394/for-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:41:13 +0000 (10:41 +1100)]
Merge remote-tracking branch 'thermal/thermal/linux-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:39:19 +0000 (10:39 +1100)]
Merge remote-tracking branch 'opp/opp/linux-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:37:21 +0000 (10:37 +1100)]
Merge remote-tracking branch 'devfreq/devfreq-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:36:26 +0000 (10:36 +1100)]
Merge remote-tracking branch 'cpupower/cpupower' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:34:47 +0000 (10:34 +1100)]
Merge remote-tracking branch 'cpufreq-arm/cpufreq/arm/linux-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:32:42 +0000 (10:32 +1100)]
Merge remote-tracking branch 'pm/linux-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:32:41 +0000 (10:32 +1100)]
Merge remote-tracking branch 'v4l-dvb-next/master' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:19:26 +0000 (10:19 +1100)]
Merge remote-tracking branch 'v4l-dvb/master' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:06:07 +0000 (10:06 +1100)]
Merge remote-tracking branch 'jc_docs/docs-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:04:55 +0000 (10:04 +1100)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:03:17 +0000 (10:03 +1100)]
Merge remote-tracking branch 'dmi/dmi-for-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:01:42 +0000 (10:01 +1100)]
Merge remote-tracking branch 'hid/for-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 23:01:42 +0000 (10:01 +1100)]
Merge remote-tracking branch 'pstore/for-next/pstore' into master
# Conflicts:
# .mailmap
Stephen Rothwell [Thu, 29 Oct 2020 23:01:40 +0000 (10:01 +1100)]
Merge remote-tracking branch 'printk/for-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 22:49:11 +0000 (09:49 +1100)]
Merge remote-tracking branch 'vfs/for-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 22:47:33 +0000 (09:47 +1100)]
Merge remote-tracking branch 'file-locks/locks-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 22:46:16 +0000 (09:46 +1100)]
Merge remote-tracking branch 'xfs/for-next' into master
Stephen Rothwell [Thu, 29 Oct 2020 22:45:03 +0000 (09:45 +1100)]
Merge remote-tracking branch 'f2fs/dev' into master
Stephen Rothwell [Thu, 29 Oct 2020 22:45:02 +0000 (09:45 +1100)]
Merge remote-tracking branch 'ext4/dev' into master
Stephen Rothwell [Thu, 29 Oct 2020 22:45:02 +0000 (09:45 +1100)]
Merge remote-tracking branch 'ext3/for_next' into master
Stephen Rothwell [Thu, 29 Oct 2020 22:45:01 +0000 (09:45 +1100)]
Merge remote-tracking branch 'btrfs/for-next' into master