summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix UNC parsing on mountSachin Prabhu2012-04-031-7/+7
| | | | | | | | | | The code cleanup of cifs_parse_mount_options resulted in a new bug being introduced in the parsing of the UNC. This results in vol->UNC being modified before vol->UNC was allocated. Reported-by: Steve French <smfrench@gmail.com> Signed-off-by: Sachin Prabhu <sprabhu@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* Remove unnecessary check for NULL in password parserSachin Prabhu2012-04-031-2/+1
| | | | | | | | | | | The password parser has an unnecessary check for a NULL value which triggers warnings in source checking tools. The code contains artifacts from the old parsing code which are no longer required. Signed-off-by: Sachin Prabhu <sprabhu@redhat.com> Reviewed-by: Jeff Layton <jlayton@redhat.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* CIFS: Fix VFS lock usage for oplocked filesPavel Shilovsky2012-04-013-2/+16
| | | | | | | | | | | | | | | | | We can deadlock if we have a write oplock and two processes use the same file handle. In this case the first process can't unlock its lock if the second process blocked on the lock in the same time. Fix it by using posix_lock_file rather than posix_lock_file_wait under cinode->lock_mutex. If we request a blocking lock and posix_lock_file indicates that there is another lock that prevents us, wait untill that lock is released and restart our call. Cc: stable@kernel.org Acked-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru> Signed-off-by: Steve French <sfrench@us.ibm.com>
* Revert "CIFS: Fix VFS lock usage for oplocked files"Steve French2012-04-011-52/+4
| | | | | | | Revert previous version of patch to incorporate feedback so that we can merge version 3 of the patch instead.w This reverts commit b5efb978469d152c2c7c0a09746fb0bfc6171868.
* cifs: writing past end of struct in cifs_convert_address()Dan Carpenter2012-03-311-2/+1
| | | | | | | | | "s6->sin6_scope_id" is an int bits but strict_strtoul() writes a long so this can corrupt memory on 64 bit systems. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* cifs: silence compiler warnings showing up with gcc-4.7.0Jeff Layton2012-03-311-12/+12
| | | | | | | | | | | | | | | | | | gcc-4.7.0 has started throwing these warnings when building cifs.ko. CC [M] fs/cifs/cifssmb.o fs/cifs/cifssmb.c: In function ‘CIFSSMBSetCIFSACL’: fs/cifs/cifssmb.c:3905:9: warning: array subscript is above array bounds [-Warray-bounds] fs/cifs/cifssmb.c: In function ‘CIFSSMBSetFileInfo’: fs/cifs/cifssmb.c:5711:8: warning: array subscript is above array bounds [-Warray-bounds] fs/cifs/cifssmb.c: In function ‘CIFSSMBUnixSetFileInfo’: fs/cifs/cifssmb.c:6001:25: warning: array subscript is above array bounds [-Warray-bounds] This patch cleans up the code a bit by using the offsetof macro instead of the funky "&pSMB->hdr.Protocol" construct. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* CIFS: Fix VFS lock usage for oplocked filesPavel Shilovsky2012-03-311-4/+52
| | | | | | | | | | | | | | | We can deadlock if we have a write oplock and two processes use the same file handle. In this case the first process can't unlock its lock if another process blocked on the lock in the same time. Fix this by removing lock_mutex protection from waiting on a blocked lock and protect only posix_lock_file call. Cc: stable@kernel.org Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru> Acked-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparcLinus Torvalds2012-03-303-0/+3
|\ | | | | | | | | | | | | Pull Sam Ravnborg's sparc32 build fixes from David Miller. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc32: fix fallout from system.h removal
| * sparc32: fix fallout from system.h removalSam Ravnborg2012-03-303-0/+3
| | | | | | | | | | | | | | Build failures for the typical configs I use Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'kbuild' of ↵Linus Torvalds2012-03-3016-72/+98
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kbuild changes from Michal Marek: - Unification of cmd_uimage among archs that use it - make headers_check tries harder before reporting a missing <linux/types.h> include - kbuild portability fix for shells that do not support echo -e - make clean descends into samples/ - setlocalversion grep fix - modpost typo fix - dtc warnings fix * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: setlocalversion: Use "grep -q" instead of piping output to "read dummy" modpost: fix ALL_INIT_DATA_SECTIONS Kbuild: centralize MKIMAGE and cmd_uimage definitions headers_check: recursively search for linux/types.h inclusion scripts/Kbuild.include: Fix portability problem of "echo -e" scripts: dtc: fix compile warnings kbuild: clean up samples directory kbuild: disable -Wmissing-field-initializers for W=1
| * | setlocalversion: Use "grep -q" instead of piping output to "read dummy"Roland Dreier2012-03-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some circumstances (eg when running a build in an emacs shell buffer), I get a spew of messages like grep: writing output: Broken pipe from setlocalversion, because the "read" subshell apparently exits as soon as it reads one line and gives EPIPE to grep. It's not clear to me why this way of writing the check was used instead of just using grep -q to suppress output, but unless there is some deep reason I don't know, this way looks cleaner to me anyway, and gets rid of the ugly message spew. (I double checked at http://pubs.opengroup.org/onlinepubs/009604499/utilities/grep.html and "grep -q" is specified in POSIX / SuS, so hopefully even people cross-compiling the kernel on some bizarre host OS can't complain about this change) Signed-off-by: Roland Dreier <roland@purestorage.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | modpost: fix ALL_INIT_DATA_SECTIONSJan Beulich2012-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This was lacking a comma between two supposed to be separate strings. Signed-off-by: Jan Beulich <jbeulich@suse.com> Cc: <stable@vger.kernel.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | Kbuild: centralize MKIMAGE and cmd_uimage definitionsStephen Warren2012-03-268-60/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib to avoid duplication. All ARCHs have similar definitions of cmd_uimage. Place a sufficiently parameterized version in Makefile.lib to avoid duplication. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Acked-by: Nicolas Pitre <nico@linaro.org> Tested-by: Mike Frysinger <vapier@gentoo.org> [Blackfin] Tested-by: Michal Simek <monstr@monstr.eu> [Microblaze] Tested-by: Guan Xuetao <gxt@mprc.pku.edu.cn> [unicore32] Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | headers_check: recursively search for linux/types.h inclusionBobby Powers2012-03-261-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | headers_check.pl currently emits some spurious warnings, especially for the drm headers, about using __[us]{8,16,32,64} types without including linux/types.h. Recursively search for types.h inclusion, avoiding circular references. Signed-off-by: Bobby Powers <bobbypowers@gmail.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Dave Airlie <airlied@linux.ie> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | scripts/Kbuild.include: Fix portability problem of "echo -e"Bernhard Walle2012-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "echo -e" is a GNU extension. When cross-compiling the kernel on a BSD-like operating system (Mac OS X in my case), this doesn't work. One could install a GNU version of echo, put that in the $PATH before the system echo and use "/usr/bin/env echo", but the solution with printf is simpler. Since it is no disadvantage on Linux, I hope that gets accepted even if cross-compiling the Linux kernel on another Unix operating system is quite a rare use case. Signed-off-by: Bernhard Walle <bernhard@bwalle.de> Andreas Bießmann <andreas@biessmann.de> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | scripts: dtc: fix compile warningsFelipe Balbi2012-03-242-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix following compile warnings: scripts/dtc/flattree.c: In function ‘flat_read_mem_reserve’: scripts/dtc/flattree.c:700:14: warning: variable ‘p’ set but not used [-Wunused-but-set-variable] scripts/dtc/dtc.c: In function ‘main’: scripts/dtc/dtc.c:104:17: warning: variable ‘check’ set but not used [-Wunused-but-set-variable] Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | kbuild: clean up samples directoryGerard Snitselaar2012-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Playing around with make randconfig I ended up with CONFIG_SAMPLES set. After cleaning up the build I noticed that git status was showing samples/hidraw/hid-example as an untracked file. Adding samples to clean-dirs seems to solve the problem, but I don't know if that is the correct way to solve the issue. Signed-off-by: Gerard Snitselaar <dev@snitselaar.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | kbuild: disable -Wmissing-field-initializers for W=1Kirill A. Shutemov2012-01-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | -Wmissing-field-initializers is too noisy to be useful on W=1. Let's move it to W=2. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
* | | Merge branch 'misc' of ↵Linus Torvalds2012-03-309-10/+687
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull non-critical part of kbuild from Michal Marek: - New semantic patches, make coccicheck M= fix - make gtags speedup - make tags/TAGS always removes struct forward declarations - make deb-pkg fixes (some patches are still pending, I know) - scripts/patch-kernel fix from the last user of this script ;) * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: scripts/patch-kernel: digest kernel.org hosted .xz patches scripts/coccinelle/api/ptr_ret.cocci: semantic patch for ptr_err scripts: refactor remove structure forward declarations kbuild: incremental tags update for GNU Global coccinelle: semantic patch for bool issues coccinelle: semantic patch to check for PTR_ERR after reassignment coccinelle: semantic patch converting 0 test to null test coccinelle: semantic patch for missing iounmap coccinelle: semantic patch for missing clk_put kbuild: Fix out-of-tree build for 'make deb-pkg' kbuild: Only build linux-image package for UML kbuild: Fix link to headers in 'make deb-pkg' coccicheck: change handling of C={1,2} when M= is set
| * | | scripts/patch-kernel: digest kernel.org hosted .xz patchesShawn Landden2012-03-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kernel.org is hosting patches and kernel compressed with xz (lzma2+). Allow scripts/patch-kernel to decompress these files. Signed-off-by: Shawn Landden <shawnlandden@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | scripts/coccinelle/api/ptr_ret.cocci: semantic patch for ptr_errJulia Lawall2012-03-261-0/+70
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | scripts: refactor remove structure forward declarationsYang Bai2012-03-261-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since now it has some problems when generate TAGS, refactor this code. Now it will not show the error message and will remove declarations using emacs etags. Signed-off-by: Yang Bai <hamo.by@gmail.com> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | kbuild: incremental tags update for GNU GlobalJianbin Kang2012-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GNU gtags support '-i' for updating tag files incrementally. It runs more quickly than generating new tags after kernel source update. Signed-off-by: Jianbin Kang <kjbmail@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | coccinelle: semantic patch for bool issuesJulia Lawall2012-02-251-0/+178
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Reviewed-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | coccinelle: semantic patch to check for PTR_ERR after reassignmentJulia Lawall2012-02-251-0/+41
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | coccinelle: semantic patch converting 0 test to null testJulia Lawall2012-02-251-0/+237
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | coccinelle: semantic patch for missing iounmapJulia Lawall2012-02-251-0/+67
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | coccinelle: semantic patch for missing clk_putJulia Lawall2012-02-251-0/+67
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | kbuild: Fix out-of-tree build for 'make deb-pkg'Joerg Roedel2012-02-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The out-of-tree build is broken in 'make deb-pkg'. The header checks and the header install works on the source and not on the object tree. While fixing this also replace the direct 'make' invocations with the $MAKE variable to be consistent within the script. Cc: maximilian attems <max@stro.at> Cc: Ben Hutchings <ben@decadent.org.uk> Cc: debian-kernel@lists.debian.org Cc: linux-kbuild@vger.kernel.org Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | kbuild: Only build linux-image package for UMLJoerg Roedel2012-02-241-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For user-mode Linux the other packages are not required. So only build the package with the linux-image in it. Cc: maximilian attems <max@stro.at> Cc: debian-kernel@lists.debian.org Cc: linux-kbuild@vger.kernel.org Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Tested-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | kbuild: Fix link to headers in 'make deb-pkg'Joerg Roedel2012-02-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Link to the kernel header files in the debian packages point to the original build directory. This is a bad choice if the packages were installed on a different machine. Fix this in by manually re-creating the link in the builddeb script. Cc: maximilian attems <max@stro.at> Cc: debian-kernel@lists.debian.org Cc: linux-kbuild@vger.kernel.org Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Reviewed-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | Merge branch 'kbuild/rc-fixes' into kbuild/miscMichal Marek2012-02-242-12/+6
| |\ \ \ | | | | | | | | | | | | | | | Reason: Serialize changes to scripts/package/builddeb
| * | | | coccicheck: change handling of C={1,2} when M= is setGreg Dietsche2012-01-261-9/+4
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch reverts a portion of d0bc1fb4 so that coccicheck will work properly when C=1 or C=2. Reported-and-tested-by: Brice Goglin <Brice.Goglin@inria.fr> Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Michal Marek <mmarek@suse.cz>
* | | | Merge branch 'kconfig' of ↵Linus Torvalds2012-03-303-22/+28
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kconfig bits from Michal Marek: "There is one fix for make oldconfig by Arnaud and updates to the merge_config.sh tool." * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: merge_config.sh: Add option to display redundant configs merge_config.sh: Set execute bit merge_config.sh: Use the first file as the initial config kconfig: fix new choices being skipped upon config update
| * | | | merge_config.sh: Add option to display redundant configsJohn Stultz2012-03-301-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a -r option to display when fragments contain redundant options. This is really useful when breaking apart a config into fragments, as well as cleaning up older fragments. Signed-off-by: John Stultz <john.stultz@linaro.org> Acked-by: Darren Hart <dvhart@linux.intel.com> Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | | merge_config.sh: Set execute bitJohn Stultz2012-03-301-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Somehow the merge_config.sh script didn't get its execute bit set when it was merged. Fix this. Signed-off-by: John Stultz <john.stultz@linaro.org> Acked-by: Darren Hart <dvhart@linux.intel.com> Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | | merge_config.sh: Use the first file as the initial configJosh Boyer2012-03-241-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Take the first config fragment and use it verbatim as the initial config set. This avoids running the verification loop for the first file, as nothing has actually been merged at this point. This significantly increases performance for large config fragments. Signed-off-by: Josh Boyer <jwboyer@redhat.com> Acked-by: John Stultz <john.stultz@linaro.org> Acked-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
| * | | | kconfig: fix new choices being skipped upon config updateArnaud Lacombe2012-01-262-21/+14
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running `oldconfig' after any of the following configuration change: either trivial addition, such as: config A bool "A" choice prompt "Choice ?" depends on A config CHOICE_B bool "Choice B" config CHOICE_C bool "Choice C" endchoice or more tricky change: OLD KCONFIG | NEW KCONFIG | | config A | bool "A" | choice | choice prompt "Choice ?" | prompt "Choice ?" | config CHOICE_C | config CHOICE_C bool "Choice C" | bool "Choice C" | config CHOICE_D | config CHOICE_D bool "Choice D" | bool "Choice D" endchoice | | config CHOICE_E | bool "Choice E" | depends on A | endchoice will not cause the choice to be considered as NEW, and thus not be asked. The cause of this behavior is that choice's novelty are computed statically right after the saved configuration has been read. At this point, the new dependency's value is still unknown and asserted to be `no'. Moreover, no update to this decision is made afterward. Correct this by dynamically evaluating a choice's novelty, and removing the static evaluation. Reported-and-tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
* | | | Merge branch 'irq-core-for-linus' of ↵Linus Torvalds2012-03-303-15/+30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull genirq updates from Thomas Gleixner. * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value genirq: Respect NUMA node affinity in setup_irq_irq affinity() genirq: Get rid of unneeded force parameter in irq_finalize_oneshot() genirq: Minor readablity improvement in irq_wake_thread()
| * | | | genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return valueJiang Liu2012-03-301-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | irq_move_masked_irq() checks the return code of chip->irq_set_affinity() only for 0, but IRQ_SET_MASK_OK_NOCOPY is also a valid return code, which is there to avoid a redundant copy of the cpumask. But in case of IRQ_SET_MASK_OK_NOCOPY we not only avoid the redundant copy, we also fail to adjust the thread affinity of an eventually threaded interrupt handler. Handle IRQ_SET_MASK_OK (==0) and IRQ_SET_MASK_OK_NOCOPY(==1) return values correctly by checking the valid return values seperately. Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Cc: Jiang Liu <liuj97@gmail.com> Cc: Keping Chen <chenkeping@huawei.com> Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/r/1333120296-13563-2-git-send-email-jiang.liu@huawei.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| * | | | genirq: Respect NUMA node affinity in setup_irq_irq affinity()Prarit Bhargava2012-03-291-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We respect node affinity of devices already in the irq descriptor allocation, but we ignore it for the initial interrupt affinity setup, so the interrupt might be routed to a different node. Restrict the default affinity mask to the node on which the irq descriptor is allocated. [ tglx: Massaged changelog ] Signed-off-by: Prarit Bhargava <prarit@redhat.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Cc: Yinghai Lu <yinghai@kernel.org> Cc: David Rientjes <rientjes@google.com> Link: http://lkml.kernel.org/r/1332788538-17425-1-git-send-email-prarit@redhat.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| * | | | genirq: Get rid of unneeded force parameter in irq_finalize_oneshot()Alexander Gordeev2012-03-291-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only place irq_finalize_oneshot() is called with force parameter set is the threaded handler error exit path. But IRQTF_RUNTHREAD is dropped at this point and irq_wake_thread() is not going to set it again, since PF_EXITING is set for this thread already. So irq_finalize_oneshot() will drop the threads bit in threads_oneshot anyway and hence the force parameter is superfluous. Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Link: http://lkml.kernel.org/r/20120321162234.GP24806@dhcp-26-207.brq.redhat.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| * | | | genirq: Minor readablity improvement in irq_wake_thread()Alexander Gordeev2012-03-291-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exit_irq_thread() clears IRQTF_RUNTHREAD flag and drops the thread's bit in desc->threads_oneshot then. The bit must not be set again in between and it does not, since irq_wake_thread() sees PF_EXITING flag first and returns. Due to above the order or checking PF_EXITING and IRQTF_RUNTHREAD flags in irq_wake_thread() is important. This change just makes it more visible in the source code. Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Link: http://lkml.kernel.org/r/20120321162212.GO24806@dhcp-26-207.brq.redhat.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | | | | Merge branch 'core-locking-for-linus' of ↵Linus Torvalds2012-03-303-46/+40
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull core locking updates from Thomas Gleixner. * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: futex: Mark get_robust_list as deprecated futex: Do not leak robust list to unprivileged process
| * | | | futex: Mark get_robust_list as deprecatedKees Cook2012-03-293-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notify get_robust_list users that the syscall is going away. Suggested-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Kees Cook <keescook@chromium.org> Cc: Randy Dunlap <rdunlap@xenotime.net> Cc: Darren Hart <dvhart@linux.intel.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: David Howells <dhowells@redhat.com> Cc: Serge E. Hallyn <serge.hallyn@canonical.com> Cc: kernel-hardening@lists.openwall.com Cc: spender@grsecurity.net Link: http://lkml.kernel.org/r/20120323190855.GA27213@www.outflux.net Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| * | | | futex: Do not leak robust list to unprivileged processKees Cook2012-03-292-46/+26
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was possible to extract the robust list head address from a setuid process if it had used set_robust_list(), allowing an ASLR info leak. This changes the permission checks to be the same as those used for similar info that comes out of /proc. Running a setuid program that uses robust futexes would have had: cred->euid != pcred->euid cred->euid == pcred->uid so the old permissions check would allow it. I'm not aware of any setuid programs that use robust futexes, so this is just a preventative measure. (This patch is based on changes from grsecurity.) Signed-off-by: Kees Cook <keescook@chromium.org> Cc: Darren Hart <dvhart@linux.intel.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: David Howells <dhowells@redhat.com> Cc: Serge E. Hallyn <serge.hallyn@canonical.com> Cc: kernel-hardening@lists.openwall.com Cc: spender@grsecurity.net Link: http://lkml.kernel.org/r/20120319231253.GA20893@www.outflux.net Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | | | Merge tag 'for-linus-3.4' of git://git.infradead.org/mtd-2.6Linus Torvalds2012-03-30152-2493/+6063
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull MTD changes from David Woodhouse: - Artem's cleanup of the MTD API continues apace. - Fixes and improvements for ST FSMC and SuperH FLCTL NAND, amongst others. - More work on DiskOnChip G3, new driver for DiskOnChip G4. - Clean up debug/warning printks in JFFS2 to use pr_<level>. Fix up various trivial conflicts, largely due to changes in calling conventions for things like dmaengine_prep_slave_sg() (new inline wrapper to hide new parameter, clashing with rewrite of previously last parameter that used to be an 'append' flag, and is now a bitmap of 'unsigned long flags'). (Also some header file fallout - like so many merges this merge window - and silly conflicts with sparse fixes) * tag 'for-linus-3.4' of git://git.infradead.org/mtd-2.6: (120 commits) mtd: docg3 add protection against concurrency mtd: docg3 refactor cascade floors structure mtd: docg3 increase write/erase timeout mtd: docg3 fix inbound calculations mtd: nand: gpmi: fix function annotations mtd: phram: fix section mismatch for phram_setup mtd: unify initialization of erase_info->fail_addr mtd: support ONFI multi lun NAND mtd: sm_ftl: fix typo in major number. mtd: add device-tree support to spear_smi mtd: spear_smi: Remove default partition information from driver mtd: Add device-tree support to fsmc_nand mtd: fix section mismatch for doc_probe_device mtd: nand/fsmc: Remove sparse warnings and errors mtd: nand/fsmc: Add DMA support mtd: nand/fsmc: Access the NAND device word by word whenever possible mtd: nand/fsmc: Use dev_err to report error scenario mtd: nand/fsmc: Use devm routines mtd: nand/fsmc: Modify fsmc driver to accept nand timing parameters via platform mtd: fsmc_nand: add pm callbacks to support hibernation ...
| * | | | mtd: docg3 add protection against concurrencyRobert Jarzmik2012-03-272-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As docg3 is intolerant against reentrancy, especially because of its weird register access (ie. a register read is performed by a first register write), each access to the docg3 IO space must be locked. Lock the IO space with a mutex, shared by all chips on the same cascade, as they all share the same IO space. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| * | | | mtd: docg3 refactor cascade floors structureRobert Jarzmik2012-03-272-45/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Group floors into a common cascade structure. This will provide a common structure to store common data to all cascaded docg3 chips, like IO addressing, locking protection. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| * | | | mtd: docg3 increase write/erase timeoutRobert Jarzmik2012-03-271-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After several tries with ubifs, it appears empirically that constructor provided figures for erase/write timeouts are underestimated. A timeout of 100ms seems to work with a 5 years worn chip, and no timeouts occur anymore. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
OpenPOWER on IntegriCloud