Commit Graph
825885 Commits
Author SHA1 Message Date
Al Viro bef252fa19 rpcpipe: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:26 -04:00
Al Viro 524845ff9c bpf: switch to ->free_inode()
Acked-by: Alexei Starovoitov <[email protected]>
Acked-by: Song Liu <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:26 -04:00
Al Viro 015d795618 mqueue: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:26 -04:00
Al Viro 98835e884c ufs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:26 -04:00
Al Viro d984892bd7 coda: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:26 -04:00
Al Viro 6becf8edf1 sysv: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro a78bb3838d udf: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro dc43175996 ubifs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro 56b5af1931 squashfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro bcb8d71bda romfs: convert to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro a5a8cbea63 reiserfs: convert to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro 45c2a3ff3a qnx6: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro bc40ddd12c qnx4: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro 4aa6b55c05 procfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro 363db959ae openpromfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro e91b9194bc ocfs2: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro 9fbc000786 dlmfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro 977c3d1894 nilfs2: switch to ->free_inode()
kill an extern that went stale 9 years ago, while we are at it...

Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro ca1a199e3b nfs{,4}: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro d67a398a5f minix: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro db0bd7b719 jffs2: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:25 -04:00
Al Viro 07b0120710 isofs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro 4d436d5cd5 hpfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro 08ccfc5c36 hostfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro 08ab229393 hfsplus: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro 6d845e2286 hfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro 784494e1d7 gfs2: switch to ->free_inode()
... and use GFS2_I() to get the containing gfs2_inode by inode;
yes, we can feed the address of the first member of structure
to kmem_cache_free(), but let's do it in an obviously safe way.

Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro 9f179271e7 freevxfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro f9ec991d41 fat: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro d01718a050 f2fs: switch to ->free_inode()
Acked-by: Chao Yu <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro a2d1b88bec ext2: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro f415c51123 efs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro 6234ddf429 debugfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro c2e6802e7b cifs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro 41149cb08a bdev: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro 8d8fc9cbc7 bfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:24 -04:00
Al Viro 49f82a808b befs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:23 -04:00
Al Viro 312a679183 affs: switch to ->free_inode()
Acked-by: David Sterba <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:23 -04:00
Al Viro 8f05a79535 adfs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:23 -04:00
Al Viro 5e8a0770c0 9p: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:23 -04:00
Al Viro 25af6c4a4a erofs: switch to ->free_inode()
Acked-by: Gao Xiang <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:23 -04:00
Al Viro 6d0e0d0bb8 spufs: switch to ->free_inode()
Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:43:23 -04:00
Al Viro fdb0da89f4 new inode method: ->free_inode()
A lot of ->destroy_inode() instances end with call_rcu() of a callback
that does RCU-delayed part of freeing.  Introduce a new method for
doing just that, with saner signature.

Rules:
->destroy_inode		->free_inode
	f			g		immediate call of f(),
						RCU-delayed call of g()
	f			NULL		immediate call of f(),
						no RCU-delayed calls
	NULL			g		RCU-delayed call of g()
	NULL			NULL		RCU-delayed default freeing

IOW, NULL ->free_inode gives the same behaviour as now.

Note that NULL, NULL is equivalent to NULL, free_inode_nonrcu; we could
mandate the latter form, but that would have very little benefit beyond
making rules a bit more symmetric.  It would break backwards compatibility,
require extra boilerplate and expected semantics for (NULL, NULL) pair
would have no use whatsoever...

Signed-off-by: Al Viro <[email protected]>
2019-05-01 22:37:39 -04:00
Al Viro ad7999cd70 Merge branch 'fixes' into work.icache 2019-04-10 14:12:44 -04:00
Al Viro f51dcd0f62 apparmorfs: fix use-after-free on symlink traversal
symlink body shouldn't be freed without an RCU delay.  Switch apparmorfs
to ->destroy_inode() and use of call_rcu(); free both the inode and symlink
body in the callback.

Signed-off-by: Al Viro <[email protected]>
2019-04-10 14:04:34 -04:00
Al Viro 46c8744196 securityfs: fix use-after-free on symlink traversal
symlink body shouldn't be freed without an RCU delay.  Switch securityfs
to ->destroy_inode() and use of call_rcu(); free both the inode and symlink
body in the callback.

Signed-off-by: Al Viro <[email protected]>
2019-04-10 14:03:45 -04:00
Linus Torvalds 15ade5d2e7 Linux 5.1-rc4 v5.1-rc4 2019-04-07 14:09:59 -10:00
Linus Torvalds d8491223bc Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull ARM SoC fixes from Olof Johansson:
 "A collection of fixes from the last few weeks. Most of them are
  smaller tweaks and fixes to DT and hardware descriptions for boards.
  Some of the more significant ones are:

   - eMMC and RGMII stability tweaks for rk3288

   - DDC fixes for Rock PI 4

   - Audio fixes for two TI am335x eval boards

   - D_CAN clock fix for am335x

   - Compilation fixes for clang

   - !HOTPLUG_CPU compilation fix for one of the new platforms this
     release (milbeaut)

   - A revert of a gpio fix for nomadik that instead was fixed in the
     gpio subsystem

   - Whitespace fix for the DT JSON schema (no tabs allowed)"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (25 commits)
  ARM: milbeaut: fix build with !CONFIG_HOTPLUG_CPU
  ARM: iop: don't use using 64-bit DMA masks
  ARM: orion: don't use using 64-bit DMA masks
  Revert "ARM: dts: nomadik: Fix polarity of SPI CS"
  dt-bindings: cpu: Fix JSON schema
  arm/mach-at91/pm : fix possible object reference leak
  ARM: dts: at91: Fix typo in ISC_D0 on PC9
  ARM: dts: Fix dcan clkctrl clock for am3
  reset: meson-audio-arb: Fix missing .owner setting of reset_controller_dev
  dt-bindings: reset: meson-g12a: Add missing USB2 PHY resets
  ARM: dts: rockchip: Remove #address/#size-cells from rk3288-veyron gpio-keys
  ARM: dts: rockchip: Remove #address/#size-cells from rk3288 mipi_dsi
  ARM: dts: rockchip: Fix gpu opp node names for rk3288
  ARM: dts: am335x-evmsk: Correct the regulators for the audio codec
  ARM: dts: am335x-evm: Correct the regulators for the audio codec
  ARM: OMAP2+: add missing of_node_put after of_device_is_available
  ARM: OMAP1: ams-delta: Fix broken GPIO ID allocation
  arm64: dts: stratix10: add the sysmgr-syscon property from the gmac's
  arm64: dts: rockchip: fix rk3328 sdmmc0 write errors
  arm64: dts: rockchip: fix rk3328 rgmii high tx error rate
  ...
2019-04-07 13:46:17 -10:00
Linus Torvalds 429fba106e Merge tag 'for-linus-20190407' of git://git.kernel.dk/linux-block
Pull block fixes from Jens Axboe:

 - Fixups for the pf/pcd queue handling (YueHaibing)

 - Revert of the three direct issue changes as they have been proven to
   cause an issue with dm-mpath (Bart)

 - Plug rq_count reset fix (Dongli)

 - io_uring double free in fileset registration error handling (me)

 - Make null_blk handle bad numa node passed in (John)

 - BFQ ifdef fix (Konstantin)

 - Flush queue leak fix (Shenghui)

 - Plug trace fix (Yufen)

* tag 'for-linus-20190407' of git://git.kernel.dk/linux-block:
  xsysace: Fix error handling in ace_setup
  null_blk: prevent crash from bad home_node value
  block: Revert v5.0 blk_mq_request_issue_directly() changes
  paride/pcd: Fix potential NULL pointer dereference and mem leak
  blk-mq: do not reset plug->rq_count before the list is sorted
  paride/pf: Fix potential NULL pointer dereference
  io_uring: fix double free in case of fileset regitration failure
  blk-mq: add trace block plug and unplug for multiple queues
  block: use blk_free_flush_queue() to free hctx->fq in blk_mq_init_hctx
  block/bfq: fix ifdef for CONFIG_BFQ_GROUP_IOSCHED=y
2019-04-07 13:28:36 -10:00
Arnd Bergmann 9a8f32038a ARM: milbeaut: fix build with !CONFIG_HOTPLUG_CPU
When HOTPLUG_CPU is disabled, some fields in the smp operations
are not available or needed:

arch/arm/mach-milbeaut/platsmp.c:90:3: error: field designator 'cpu_die' does not refer to any field in type
      'struct smp_operations'
        .cpu_die                = m10v_cpu_die,
         ^
arch/arm/mach-milbeaut/platsmp.c:91:3: error: field designator 'cpu_kill' does not refer to any field in type
      'struct smp_operations'
        .cpu_kill               = m10v_cpu_kill,
         ^

Hide them in an #ifdef like the other platforms do.

Fixes: 9fb29c734f ("ARM: milbeaut: Add basic support for Milbeaut m10v SoC")
Signed-off-by: Arnd Bergmann <[email protected]>
Signed-off-by: Olof Johansson <[email protected]>
2019-04-07 15:29:55 -07:00