powerpc/fsl-pci: don't unmap the PCI SoC controller registers in setup_pci_atmu

In patch 34642bbb (powerpc/fsl-pci: Keep PCI SoC controller registers in
pci_controller) we choose to keep the map of the PCI SoC controller
registers. But we missed to delete the unmap in setup_pci_atmu
function. This will cause the following call trace once we access
the PCI SoC controller registers later.

Unable to handle kernel paging request for data at address 0x8000080080040f14
Faulting instruction address: 0xc00000000002ea58
Oops: Kernel access of bad area, sig: 11 [#1]
SMP NR_CPUS=24 T4240 QDS
Modules linked in:
NIP: c00000000002ea58 LR: c00000000002eaf4 CTR: c00000000002eac0
REGS: c00000017e10b4a0 TRAP: 0300   Not tainted  (3.9.0-rc1-00052-gfa3529f-dirty)
MSR: 0000000080029000 <CE,EE,ME>  CR: 28adbe22  XER: 00000000
SOFTE: 0
DEAR: 8000080080040f14, ESR: 0000000000000000
TASK = c00000017e100000[1] 'swapper/0' THREAD: c00000017e108000 CPU: 2
GPR00: 0000000000000000 c00000017e10b720 c0000000009928d8 c00000017e578e00
GPR04: 0000000000000000 000000000000000c 0000000000000001 c00000017e10bb40
GPR08: 0000000000000000 8000080080040000 0000000000000000 0000000000000016
GPR12: 0000000088adbe22 c00000000fffa800 c000000000001ba0 0000000000000000
GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR20: 0000000000000000 0000000000000000 0000000000000000 c0000000008a5b70
GPR24: c0000000008af938 c0000000009a28d8 c0000000009bb5dc c00000017e10bb40
GPR28: c00000017e32a400 c00000017e10bc00 c00000017e32a400 c00000017e578e00
NIP [c00000000002ea58] .fsl_pcie_check_link+0x88/0xf0
LR [c00000000002eaf4] .fsl_indirect_read_config+0x34/0xb0
Call Trace:
[c00000017e10b720] [c00000017e10b7a0] 0xc00000017e10b7a0 (unreliable)
[c00000017e10ba30] [c00000000002eaf4] .fsl_indirect_read_config+0x34/0xb0
[c00000017e10bad0] [c00000000033aa08] .pci_bus_read_config_byte+0x88/0xd0
[c00000017e10bb90] [c00000000088d708] .pci_apply_final_quirks+0x9c/0x18c
[c00000017e10bc40] [c0000000000013dc] .do_one_initcall+0x5c/0x1f0
[c00000017e10bcf0] [c00000000086ebac] .kernel_init_freeable+0x180/0x26c
[c00000017e10bdb0] [c000000000001bbc] .kernel_init+0x1c/0x460
[c00000017e10be30] [c000000000000880] .ret_from_kernel_thread+0x64/0xe4
Instruction dump:
38210310 2b800015 4fdde842 7c600026 5463fffe e8010010 7c0803a6 4e800020
60000000 60000000 e92301d0 7c0004ac <80690f14> 0c030000 4c00012c 38210310
---[ end trace 7a8fe0cbccb7d992 ]---

Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

Signed-off-by: Kevin Hao <haokexin@gmail.com>
Acked-by: Roy Zang <tie-fei.zang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
new helper: read_code()

switch binfmts that use ->read() to that (and to kernel_read()
in several cases in binfmt_flat - sure, it's nommu, but still,
doing ->read() into kmalloc'ed buffer...)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
hppfs: fix the leaks on close()

we need to close the underlying procfs file and free ->private_data

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
hppfs: get rid of ->fsync()

it has grown by accident - directories there do *not* use page cache, so
there's nothing to write.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
dmasound_core: saner arguments for sq_fsync()

it is not (and it has never been) an ->fsync() instance...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
tomoyo_close_control: don't bother with return value

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
sock_close() couldn't have been called with NULL inode since at least 2.1.early

... if not since 0.99 or so.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fanotify: don't wank with FASYNC on ->release()

... it's done already by __fput()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
yurex: don't wank with fasync on ->release()...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
lpfc: fix races for miscdevice open vs. rmmod

mind you, I'm not sure WTF would anybody _need_ that miscdevice
at all - no IO is possible for it, opening it only pins the module
down and is seriously racy, at that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mptctl: don't wank with fasync in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
pmcraid: don't wank with fasync in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fix a leak in /proc/schedstats

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mpt2sas: don't wank with fasync on ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mpt3sas: don't wank with fasync on ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
lis3lv02d: don't wank with fasync() on ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
dvb_net: don't mess with ->f_op in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
dvb_frontend: don't mess with ->f_op in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mISDN: fix the races with timers going off just as they are deleted

timer callback in timerdev.c both accesses struct mISDNtimer it's
called for *and* moves it to dev->expired.  We need del_timer_sync(),
or we risk kfree() freeing it right under dev_expire_timer() *and*
dev->expired getting corrupted.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mISDN: fix races between misdn_del_timer() and timer callback

mark the victim with negative ->id if misdn_del_timer() finds it on
the list, have timer callback *not* move ones so marked to dev->expired

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>