aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-02-25 18:38:13 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-02-25 18:38:13 -0500
commitd2a0476307e67a6e6a293563a4f4ad4ec79ac0e5 (patch)
tree45abc67e451fae6c0c4403014bb1cda4d2a1fe3a
parent6dba6ecba7d937e9b04b46f6cdff25e574f64857 (diff)
parent61bd0943bc410c9f0daf0965535cb92ce76e1e8a (diff)
Merge branch 'akpm' (patches from Andrew Morton)
Merge misc fixes from Andrew Morton. * emailed patches from Andrew Morton akpm@linux-foundation.org>: MAINTAINERS: change mailing list address for Altera UART drivers Makefile: fix build with make 3.80 again MAINTAINERS: update L: misuses Makefile: fix extra parenthesis typo when CC_STACKPROTECTOR_REGULAR is enabled ipc,mqueue: remove limits for the amount of system-wide queues memcg: change oom_info_lock to mutex mm, thp: fix infinite loop on memcg OOM drivers/fmc/fmc-write-eeprom.c: fix decimal permissions drivers/iommu/omap-iommu-debug.c: fix decimal permissions mm, hwpoison: release page on PageHWPoison() in __do_fault()
-rw-r--r--MAINTAINERS8
-rw-r--r--Makefile8
-rw-r--r--drivers/fmc/fmc-write-eeprom.c2
-rw-r--r--drivers/iommu/omap-iommu-debug.c4
-rw-r--r--include/linux/ipc_namespace.h2
-rw-r--r--ipc/mq_sysctl.c18
-rw-r--r--ipc/mqueue.c6
-rw-r--r--mm/huge_memory.c9
-rw-r--r--mm/memcontrol.c6
-rw-r--r--mm/memory.c15
10 files changed, 40 insertions, 38 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 85b3dd8008b7..df8869d49c3f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -538,7 +538,7 @@ F: arch/alpha/
538ALTERA UART/JTAG UART SERIAL DRIVERS 538ALTERA UART/JTAG UART SERIAL DRIVERS
539M: Tobias Klauser <tklauser@distanz.ch> 539M: Tobias Klauser <tklauser@distanz.ch>
540L: linux-serial@vger.kernel.org 540L: linux-serial@vger.kernel.org
541L: nios2-dev@sopc.et.ntust.edu.tw (moderated for non-subscribers) 541L: nios2-dev@lists.rocketboards.org (moderated for non-subscribers)
542S: Maintained 542S: Maintained
543F: drivers/tty/serial/altera_uart.c 543F: drivers/tty/serial/altera_uart.c
544F: drivers/tty/serial/altera_jtaguart.c 544F: drivers/tty/serial/altera_jtaguart.c
@@ -2611,9 +2611,9 @@ DC395x SCSI driver
2611M: Oliver Neukum <oliver@neukum.org> 2611M: Oliver Neukum <oliver@neukum.org>
2612M: Ali Akcaagac <aliakc@web.de> 2612M: Ali Akcaagac <aliakc@web.de>
2613M: Jamie Lenehan <lenehan@twibble.org> 2613M: Jamie Lenehan <lenehan@twibble.org>
2614W: http://twibble.org/dist/dc395x/
2615L: dc395x@twibble.org 2614L: dc395x@twibble.org
2616L: http://lists.twibble.org/mailman/listinfo/dc395x/ 2615W: http://twibble.org/dist/dc395x/
2616W: http://lists.twibble.org/mailman/listinfo/dc395x/
2617S: Maintained 2617S: Maintained
2618F: Documentation/scsi/dc395x.txt 2618F: Documentation/scsi/dc395x.txt
2619F: drivers/scsi/dc395x.* 2619F: drivers/scsi/dc395x.*
@@ -8443,8 +8443,8 @@ TARGET SUBSYSTEM
8443M: Nicholas A. Bellinger <nab@linux-iscsi.org> 8443M: Nicholas A. Bellinger <nab@linux-iscsi.org>
8444L: linux-scsi@vger.kernel.org 8444L: linux-scsi@vger.kernel.org
8445L: target-devel@vger.kernel.org 8445L: target-devel@vger.kernel.org
8446L: http://groups.google.com/group/linux-iscsi-target-dev
8447W: http://www.linux-iscsi.org 8446W: http://www.linux-iscsi.org
8447W: http://groups.google.com/group/linux-iscsi-target-dev
8448T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git master 8448T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git master
8449S: Supported 8449S: Supported
8450F: drivers/target/ 8450F: drivers/target/
diff --git a/Makefile b/Makefile
index 831b36a6b0a1..81f1bf390310 100644
--- a/Makefile
+++ b/Makefile
@@ -605,10 +605,11 @@ endif
605ifdef CONFIG_CC_STACKPROTECTOR_REGULAR 605ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
606 stackp-flag := -fstack-protector 606 stackp-flag := -fstack-protector
607 ifeq ($(call cc-option, $(stackp-flag)),) 607 ifeq ($(call cc-option, $(stackp-flag)),)
608 $(warning Cannot use CONFIG_CC_STACKPROTECTOR: \ 608 $(warning Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: \
609 -fstack-protector not supported by compiler)) 609 -fstack-protector not supported by compiler)
610 endif 610 endif
611else ifdef CONFIG_CC_STACKPROTECTOR_STRONG 611else
612ifdef CONFIG_CC_STACKPROTECTOR_STRONG
612 stackp-flag := -fstack-protector-strong 613 stackp-flag := -fstack-protector-strong
613 ifeq ($(call cc-option, $(stackp-flag)),) 614 ifeq ($(call cc-option, $(stackp-flag)),)
614 $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \ 615 $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
@@ -618,6 +619,7 @@ else
618 # Force off for distro compilers that enable stack protector by default. 619 # Force off for distro compilers that enable stack protector by default.
619 stackp-flag := $(call cc-option, -fno-stack-protector) 620 stackp-flag := $(call cc-option, -fno-stack-protector)
620endif 621endif
622endif
621KBUILD_CFLAGS += $(stackp-flag) 623KBUILD_CFLAGS += $(stackp-flag)
622 624
623# This warning generated too much noise in a regular build. 625# This warning generated too much noise in a regular build.
diff --git a/drivers/fmc/fmc-write-eeprom.c b/drivers/fmc/fmc-write-eeprom.c
index ee5b47904130..9bb2cbd5c9f2 100644
--- a/drivers/fmc/fmc-write-eeprom.c
+++ b/drivers/fmc/fmc-write-eeprom.c
@@ -27,7 +27,7 @@ FMC_PARAM_BUSID(fwe_drv);
27/* The "file=" is like the generic "gateware=" used elsewhere */ 27/* The "file=" is like the generic "gateware=" used elsewhere */
28static char *fwe_file[FMC_MAX_CARDS]; 28static char *fwe_file[FMC_MAX_CARDS];
29static int fwe_file_n; 29static int fwe_file_n;
30module_param_array_named(file, fwe_file, charp, &fwe_file_n, 444); 30module_param_array_named(file, fwe_file, charp, &fwe_file_n, 0444);
31 31
32static int fwe_run_tlv(struct fmc_device *fmc, const struct firmware *fw, 32static int fwe_run_tlv(struct fmc_device *fmc, const struct firmware *fw,
33 int write) 33 int write)
diff --git a/drivers/iommu/omap-iommu-debug.c b/drivers/iommu/omap-iommu-debug.c
index d97fbe4fb9b1..80fffba7f12d 100644
--- a/drivers/iommu/omap-iommu-debug.c
+++ b/drivers/iommu/omap-iommu-debug.c
@@ -354,8 +354,8 @@ DEBUG_FOPS(mem);
354 return -ENOMEM; \ 354 return -ENOMEM; \
355 } 355 }
356 356
357#define DEBUG_ADD_FILE(name) __DEBUG_ADD_FILE(name, 600) 357#define DEBUG_ADD_FILE(name) __DEBUG_ADD_FILE(name, 0600)
358#define DEBUG_ADD_FILE_RO(name) __DEBUG_ADD_FILE(name, 400) 358#define DEBUG_ADD_FILE_RO(name) __DEBUG_ADD_FILE(name, 0400)
359 359
360static int iommu_debug_register(struct device *dev, void *data) 360static int iommu_debug_register(struct device *dev, void *data)
361{ 361{
diff --git a/include/linux/ipc_namespace.h b/include/linux/ipc_namespace.h
index e7831d203737..35e7eca4e33b 100644
--- a/include/linux/ipc_namespace.h
+++ b/include/linux/ipc_namespace.h
@@ -118,9 +118,7 @@ extern int mq_init_ns(struct ipc_namespace *ns);
118 * the new maximum will handle anyone else. I may have to revisit this 118 * the new maximum will handle anyone else. I may have to revisit this
119 * in the future. 119 * in the future.
120 */ 120 */
121#define MIN_QUEUESMAX 1
122#define DFLT_QUEUESMAX 256 121#define DFLT_QUEUESMAX 256
123#define HARD_QUEUESMAX 1024
124#define MIN_MSGMAX 1 122#define MIN_MSGMAX 1
125#define DFLT_MSG 10U 123#define DFLT_MSG 10U
126#define DFLT_MSGMAX 10 124#define DFLT_MSGMAX 10
diff --git a/ipc/mq_sysctl.c b/ipc/mq_sysctl.c
index 383d638340b8..5bb8bfe67149 100644
--- a/ipc/mq_sysctl.c
+++ b/ipc/mq_sysctl.c
@@ -22,6 +22,16 @@ static void *get_mq(ctl_table *table)
22 return which; 22 return which;
23} 23}
24 24
25static int proc_mq_dointvec(ctl_table *table, int write,
26 void __user *buffer, size_t *lenp, loff_t *ppos)
27{
28 struct ctl_table mq_table;
29 memcpy(&mq_table, table, sizeof(mq_table));
30 mq_table.data = get_mq(table);
31
32 return proc_dointvec(&mq_table, write, buffer, lenp, ppos);
33}
34
25static int proc_mq_dointvec_minmax(ctl_table *table, int write, 35static int proc_mq_dointvec_minmax(ctl_table *table, int write,
26 void __user *buffer, size_t *lenp, loff_t *ppos) 36 void __user *buffer, size_t *lenp, loff_t *ppos)
27{ 37{
@@ -33,12 +43,10 @@ static int proc_mq_dointvec_minmax(ctl_table *table, int write,
33 lenp, ppos); 43 lenp, ppos);
34} 44}
35#else 45#else
46#define proc_mq_dointvec NULL
36#define proc_mq_dointvec_minmax NULL 47#define proc_mq_dointvec_minmax NULL
37#endif 48#endif
38 49
39static int msg_queues_limit_min = MIN_QUEUESMAX;
40static int msg_queues_limit_max = HARD_QUEUESMAX;
41
42static int msg_max_limit_min = MIN_MSGMAX; 50static int msg_max_limit_min = MIN_MSGMAX;
43static int msg_max_limit_max = HARD_MSGMAX; 51static int msg_max_limit_max = HARD_MSGMAX;
44 52
@@ -51,9 +59,7 @@ static ctl_table mq_sysctls[] = {
51 .data = &init_ipc_ns.mq_queues_max, 59 .data = &init_ipc_ns.mq_queues_max,
52 .maxlen = sizeof(int), 60 .maxlen = sizeof(int),
53 .mode = 0644, 61 .mode = 0644,
54 .proc_handler = proc_mq_dointvec_minmax, 62 .proc_handler = proc_mq_dointvec,
55 .extra1 = &msg_queues_limit_min,
56 .extra2 = &msg_queues_limit_max,
57 }, 63 },
58 { 64 {
59 .procname = "msg_max", 65 .procname = "msg_max",
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index ccf1f9fd263a..c3b31179122c 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -433,9 +433,9 @@ static int mqueue_create(struct inode *dir, struct dentry *dentry,
433 error = -EACCES; 433 error = -EACCES;
434 goto out_unlock; 434 goto out_unlock;
435 } 435 }
436 if (ipc_ns->mq_queues_count >= HARD_QUEUESMAX || 436
437 (ipc_ns->mq_queues_count >= ipc_ns->mq_queues_max && 437 if (ipc_ns->mq_queues_count >= ipc_ns->mq_queues_max &&
438 !capable(CAP_SYS_RESOURCE))) { 438 !capable(CAP_SYS_RESOURCE)) {
439 error = -ENOSPC; 439 error = -ENOSPC;
440 goto out_unlock; 440 goto out_unlock;
441 }