summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-07-24fs/dcache.c: avoid soft-lockup in dput()Wei Fang
We triggered soft-lockup under stress test which open/access/write/close one file concurrently on more than five different CPUs: WARN: soft lockup - CPU#0 stuck for 11s! [who:30631] ... [<ffffffc0003986f8>] dput+0x100/0x298 [<ffffffc00038c2dc>] terminate_walk+0x4c/0x60 [<ffffffc00038f56c>] path_lookupat+0x5cc/0x7a8 [<ffffffc00038f780>] filename_lookup+0x38/0xf0 [<ffffffc000391180>] user_path_at_empty+0x78/0xd0 [<ffffffc0003911f4>] user_path_at+0x1c/0x28 [<ffffffc00037d4fc>] SyS_faccessat+0xb4/0x230 ->d_lock trylock may failed many times because of concurrently operations, and dput() may execute a long time. Fix this by replacing cpu_relax() with cond_resched(). dput() used to be sleepable, so make it sleepable again should be safe. Cc: <stable@vger.kernel.org> Signed-off-by: Wei Fang <fangwei1@huawei.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-07-24vfs: new d_init methodMiklos Szeredi
Allow filesystem to initialize dentry at allocation time. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-07-24Merge branch 'test.d_iput' into work.miscAl Viro
2016-07-24vfs: Update lookup_dcache() commentOleg Drokin
commit 6c51e513a3aa ("lookup_dcache(): lift d_alloc() into callers") removed the need_lookup argument from lookup_dcache(), but the comment was forgotten. Also it no longer allocates a new dentry if nothing was found. Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-07-24Linux 4.7Linus Torvalds
2016-07-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller
Just several instances of overlapping changes. Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-24Merge tag 'ceph-for-4.7-rc8' of git://github.com/ceph/ceph-clientLinus Torvalds
Pull ceph fix from Ilya Dryomov: "A fix for a long-standing bug in the incremental osdmap handling code that caused misdirected requests, tagged for stable" The tag is signed with a brand new key - Sage is on vacation and I didn't anticipate this" * tag 'ceph-for-4.7-rc8' of git://github.com/ceph/ceph-client: libceph: apply new_state before new_up_client on incrementals
2016-07-23Documentation: i2c: slave: give proper example for pm usageWolfram Sang
pm_runtime_forbid was the wrong knob, this is the better one. Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-23Documentation: i2c: slave: describe buffer problems a bit betterWolfram Sang
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-23x86/mm/cpa: Add missing comment in populate_pdg()Andy Lutomirski
In commit: 21cbc2822aa1 ("x86/mm/cpa: Unbreak populate_pgd(): stop trying to deallocate failed PUDs") I intended to add this comment, but I failed at using git. Signed-off-by: Andy Lutomirski <luto@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/242baf8612394f4e31216f96d13c4d2e9b90d1b7.1469293159.git.luto@kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-07-23x86/mm/cpa: Fix populate_pgd(): Stop trying to deallocate failed PUDsAndy Lutomirski
Valdis Kletnieks bisected a boot failure back to this recent commit: 360cb4d15567 ("x86/mm/cpa: In populate_pgd(), don't set the PGD entry until it's populated") I broke the case where a PUD table got allocated -- populate_pud() would wander off a pgd_none entry and get lost. I'm not sure how this survived my testing. Fix the original issue in a much simpler way. The problem was that, if we allocated a PUD table, failed to populate it, and freed it, another CPU could potentially keep using the PGD entry we installed (either by copying it via vmalloc_fault or by speculatively caching it). There's a straightforward fix: simply leave the top-level entry in place if this happens. This can't waste any significant amount of memory -- there are at most 256 entries like this systemwide and, as a practical matter, if we hit this failure path repeatedly, we're likely to reuse the same page anyway. For context, this is a reversion with this hunk added in: if (ret < 0) { + /* + * Leave the PUD page in place in case some other CPU or thread + * already found it, but remove any useless entries we just + * added to it. + */ - unmap_pgd_range(cpa->pgd, addr, + unmap_pud_range(pgd_entry, addr, addr + (cpa->numpages << PAGE_SHIFT)); return ret; } This effectively open-codes what the now-deleted unmap_pgd_range() function used to do except that unmap_pgd_range() used to try to free the page as well. Reported-by: Valdis Kletnieks <Valdis.Kletnieks@vt.edu> Signed-off-by: Andy Lutomirski <luto@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Luis R. Rodriguez <mcgrof@suse.com> Cc: Mike Krinkin <krinkin.m.u@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Toshi Kani <toshi.kani@hp.com> Link: http://lkml.kernel.org/r/21cbc2822aa18aa812c0215f4231dbf5f65afa7f.1469249789.git.luto@kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-07-23arm64: KVM: VHE: Context switch MDSCR_EL1Marc Zyngier
The kprobe enablement work has uncovered that changes made by a guest to MDSCR_EL1 were propagated to the host when VHE was enabled, leading to unexpected exception being delivered. Moving this register to the list of registers that are always context-switched fixes the issue. Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host") Cc: stable@vger.kernel.org #4.6 Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com> Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
2016-07-23[media] cx23885-cardlist.rst: add a new cardMauro Carvalho Chehab
add card Hauppauge WinTV-QuadHD-DVB to the list. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] doc-rst: add some needed escape codesMauro Carvalho Chehab
Some extra escape codes are needed to avoid Sphinx to not identify the tags. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] doc-rst: kapi: use :c:func: instead of :cpp:funcMauro Carvalho Chehab
References at the rst files for C functions generated via kernel-doc should use :c:func:. Fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23doc-rst: kernel-doc: fix a change introduced by mistakeMauro Carvalho Chehab
changeset b7e67f6c1bf7 ("doc-rst: linux_tv: supress lots of warnings") were meant to touch only on media files, but it also touched at this script by mistake. Revert such change. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-ioctl.h add debug info for struct v4l2_ioctl_opsMauro Carvalho Chehab
This struct is mentioned at the kAPI docbook. So, let's document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] dvb_ringbuffer.h: some documentation improvementsMauro Carvalho Chehab
Better document a note on this header. While here, better format dvb_ringbuffer_pkt_read_user() to adjust it to CodingStyle. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-ctrls.h: fully document the header fileMauro Carvalho Chehab
There are lots of undocumented stuff on this header. Document them. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] doc-rst: Fix some typedef ugly warningsMauro Carvalho Chehab
Sphinx can't handle well typedefs. Change two typedef occurrences, in order to cleanup some of such warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] doc-rst: reorganize the kAPI v4l2 chaptersMauro Carvalho Chehab
Reorganize the order of the document, putting the chapters on a more logical order and renaming some sections. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] rename v4l2-framework.rst to v4l2-intro.rstMauro Carvalho Chehab
Now that the only remaining chapters at v4l2-framework are the introduction ones, let' s rename the file. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] move V4L2 clocks to a separate .rst fileMauro Carvalho Chehab
Move the v4l2 clocks stuff from v4l2-framework to a separate file and adds an attention that came from the v4l2-clk.h. Note: as this is meant to be a temporary kAPI, and it is used only by two drivers (soc_camera and em28xx), where the first one is in deprecation process, it probably not a worth effort to document its header. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-fh.rst: add cross references and markupsMauro Carvalho Chehab
Add cross-references with the kernel-doc functions/structs and improve the markups. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-fh.rst: add fh contents from v4l2-framework.rstMauro Carvalho Chehab
Move the v4l2_fh specific content from v4l2-framework.rst to v4l2-fh.rst. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-fh.h: add documentation for itMauro Carvalho Chehab
This header file was undocumented. Add documentation for it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-event.rst: add cross-references and markupsMauro Carvalho Chehab
Improve events documentation by adding cross references, sub-titles and other markup elements. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-event.h: document all functionsMauro Carvalho Chehab
Several functions weren't documented. Document them all. While here, makes checkpatch.pl happy. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-event.rst: add text from v4l2-framework.rstMauro Carvalho Chehab
Move the v4l2 event-specific text from v4l2-framework.rst to v4l2-event.rst. That helps to keep the text together with the functions it describes, and makes easier to identify documentation gaps. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-framework.rst: remove videobuf quick chapterMauro Carvalho Chehab
As we merged the videobuf chapter at the kABI section, and it is a way more complete, just remove the small videobuf chapter that came from framework.txt. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-dev: add cross-references and improve markupMauro Carvalho Chehab
Add cross-references for the functions/structs and add the markup tags to improve its display. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] doc-rst: move v4l2-dev doc to a separate fileMauro Carvalho Chehab
Move the documentation for video device node creation to a separate file. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] doc-rst: document v4l2-dev.hMauro Carvalho Chehab
Add documentation for v4l2-dev.h, and put it at v4l2-framework.rst, where struct video_device is currently documented. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] mc-core: Fix a cross-referenceMauro Carvalho Chehab
The v4l2_subdev reference was using the wrong tag. Fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-common.h: Add documentation for other functionsMauro Carvalho Chehab
Not all functions at v4l2-common.h are documented. Add documentation for some other ones. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-common.h: document the subdev functionsMauro Carvalho Chehab
There are some subdev-specific functions at v4l2-common.h that are mentioned at v4l2-subdev.rst. Document them. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-subdev.rst: add cross references to new sectionsMauro Carvalho Chehab
The two new sections were missing cross-references, and had some other minor issues with the markups. Add such things. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-subdev.rst: add two sections from v4l2-framework.rstMauro Carvalho Chehab
There are two additional subdev-specific sections at the v4l2-framework file. Move them to the subdev chapter, in order to better organize the book. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-async: document the remaining stuffMauro Carvalho Chehab
There are one enum and 4 functions undocumented there. Document them. That will fix the broken links at the v4l2-subdev.rst file. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] doc-rst: merge v4l2-async.rst with v4l2-subdev.rstMauro Carvalho Chehab
The Async API is actually part of the v4l2 subdev. Move its declarations to it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-subdev.rst: add cross-referencesMauro Carvalho Chehab
Enrich the subdevice description by linking it to the functions and structs from v4l2-subdev.h. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-subdev.h: Improve documentationMauro Carvalho Chehab
This header were poorly documented, and weren't using the kernel-doc format. Document everything but the macros using the right format. While here, also fix the other comments to match the Linux CodingStyle. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-subdev.rst: add documentation from v4l2-framework.rstMauro Carvalho Chehab
There are lots of documentation about V4L2 subdevices at v4l2-framework.rst. Move them to its specific chapter at v4l2-subdev.rst. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-device.rst: do cross references with kernel-docMauro Carvalho Chehab
This document describes the main kAPI interfaces for the v4l2-device.h header. Add cross references to the documentation produced via kernel-doc. While here, also use monotonic font for constants. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-device.rst: add contents from v4l2-frameworkMauro Carvalho Chehab
Part of the contents of v4l2-framework is related to the kAPI defined by v4l2-device. Move such contents to the v4l2-device.rst. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] doc-rst: Split v4l-core into one file per kAPIMauro Carvalho Chehab
Sphinx produce a 1:1 mapping between a rst file and an html file. So, we need to split the kernel-doc tags on multiple documents. A side effect is that we're now having a better name for each section of the kAPI documentation. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] v4l2-device.h: document functionsMauro Carvalho Chehab
The functions at v4l2-device.h are not using the proper markups. Add it, and include at the v4l2-core.rst. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] doc-rst: Fix license for the media booksMauro Carvalho Chehab
The kAPI, v4l-drivers and dvb-drivers never used the GNU FDL license. The addition of such license header were just due to copy-and-paste. So, let's fix it. As the media_kapi were part of device-drivers.tmp, it is under GPL v2+. The other two books is an agregation of files without any license explicitly specified. So, they're all bound to the Kernel's COPYING license. So, they're GPL v2 only. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] media-entry.h: Fix a note markupMauro Carvalho Chehab
The Sphinx note markup for media_remove_intf_links() is wrong: there's a missing space. While here, let's auto-numerate the two notes. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-23[media] doc-rst: better organize the media booksMauro Carvalho Chehab
The uAPI book has 5 parts, but they lost numeration after conversion to rst. Manually number those parts, and make the main index with 1 depth, to only show the parts and the annexes. At each part, use :maxwidth: 5, in order to show a more complete index. While here, fix the cross-references between different books. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>