Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
  [S390] Update default configuration.
  [S390] arch/s390/kvm: Use GFP_ATOMIC when a lock is held
  [S390] kprobes: add parameter check to module_free()
  [S390] appldata/extmem/kvm: add missing GFP_KERNEL flag
This commit is contained in:
Linus Torvalds 2010-06-08 18:13:24 -07:00
commit fbe33a7c3f
7 changed files with 31 additions and 25 deletions

View file

@ -181,7 +181,7 @@ static int __init appldata_os_init(void)
goto out; goto out;
} }
appldata_os_data = kzalloc(max_size, GFP_DMA); appldata_os_data = kzalloc(max_size, GFP_KERNEL | GFP_DMA);
if (appldata_os_data == NULL) { if (appldata_os_data == NULL) {
rc = -ENOMEM; rc = -ENOMEM;
goto out; goto out;

View file

@ -1,7 +1,7 @@
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.34-rc3 # Linux kernel version: 2.6.35-rc1
# Fri Apr 9 09:57:10 2010 # Fri Jun 4 11:32:40 2010
# #
CONFIG_SCHED_MC=y CONFIG_SCHED_MC=y
CONFIG_MMU=y CONFIG_MMU=y
@ -35,11 +35,13 @@ CONFIG_CONSTRUCTORS=y
CONFIG_EXPERIMENTAL=y CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZMA is not set
@ -77,6 +79,7 @@ CONFIG_CGROUP_NS=y
# CONFIG_CGROUP_CPUACCT is not set # CONFIG_CGROUP_CPUACCT is not set
# CONFIG_RESOURCE_COUNTERS is not set # CONFIG_RESOURCE_COUNTERS is not set
# CONFIG_CGROUP_SCHED is not set # CONFIG_CGROUP_SCHED is not set
# CONFIG_BLK_CGROUP is not set
CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set # CONFIG_RELAY is not set
@ -157,7 +160,6 @@ CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set # CONFIG_BLK_DEV_INTEGRITY is not set
# CONFIG_BLK_CGROUP is not set
CONFIG_BLOCK_COMPAT=y CONFIG_BLOCK_COMPAT=y
# #
@ -166,7 +168,6 @@ CONFIG_BLOCK_COMPAT=y
CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_CFQ=y
# CONFIG_CFQ_GROUP_IOSCHED is not set
CONFIG_DEFAULT_DEADLINE=y CONFIG_DEFAULT_DEADLINE=y
# CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set # CONFIG_DEFAULT_NOOP is not set
@ -247,7 +248,6 @@ CONFIG_64BIT=y
CONFIG_SMP=y CONFIG_SMP=y
CONFIG_NR_CPUS=32 CONFIG_NR_CPUS=32
CONFIG_HOTPLUG_CPU=y CONFIG_HOTPLUG_CPU=y
# CONFIG_SCHED_BOOK is not set
CONFIG_COMPAT=y CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y CONFIG_SYSVIPC_COMPAT=y
CONFIG_AUDIT_ARCH=y CONFIG_AUDIT_ARCH=y
@ -320,7 +320,6 @@ CONFIG_COMPAT_BINFMT_ELF=y
# CONFIG_HAVE_AOUT is not set # CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=m CONFIG_BINFMT_MISC=m
CONFIG_FORCE_MAX_ZONEORDER=9 CONFIG_FORCE_MAX_ZONEORDER=9
# CONFIG_PROCESS_DEBUG is not set
CONFIG_PFAULT=y CONFIG_PFAULT=y
# CONFIG_SHARED_KERNEL is not set # CONFIG_SHARED_KERNEL is not set
# CONFIG_CMM is not set # CONFIG_CMM is not set
@ -457,6 +456,7 @@ CONFIG_NF_CONNTRACK=m
# CONFIG_IP6_NF_IPTABLES is not set # CONFIG_IP6_NF_IPTABLES is not set
# CONFIG_IP_DCCP is not set # CONFIG_IP_DCCP is not set
CONFIG_IP_SCTP=m CONFIG_IP_SCTP=m
# CONFIG_NET_SCTPPROBE is not set
# CONFIG_SCTP_DBG_MSG is not set # CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set # CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set # CONFIG_SCTP_HMAC_NONE is not set
@ -465,6 +465,7 @@ CONFIG_SCTP_HMAC_MD5=y
# CONFIG_RDS is not set # CONFIG_RDS is not set
# CONFIG_TIPC is not set # CONFIG_TIPC is not set
# CONFIG_ATM is not set # CONFIG_ATM is not set
# CONFIG_L2TP is not set
# CONFIG_BRIDGE is not set # CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set # CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set # CONFIG_DECNET is not set
@ -525,6 +526,7 @@ CONFIG_NET_ACT_NAT=m
# CONFIG_NET_CLS_IND is not set # CONFIG_NET_CLS_IND is not set
CONFIG_NET_SCH_FIFO=y CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set # CONFIG_DCB is not set
CONFIG_RPS=y
# #
# Network testing # Network testing
@ -546,6 +548,7 @@ CONFIG_CAN_VCAN=m
# CONFIG_WIMAX is not set # CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set # CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set # CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_PCMCIA is not set # CONFIG_PCMCIA is not set
CONFIG_CCW=y CONFIG_CCW=y
@ -728,6 +731,7 @@ CONFIG_VIRTIO_NET=m
# Character devices # Character devices
# #
CONFIG_DEVKMEM=y CONFIG_DEVKMEM=y
# CONFIG_N_GSM is not set
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTYS=y
@ -775,6 +779,7 @@ CONFIG_S390_TAPE_34XX=m
# CONFIG_MONREADER is not set # CONFIG_MONREADER is not set
CONFIG_MONWRITER=m CONFIG_MONWRITER=m
CONFIG_S390_VMUR=m CONFIG_S390_VMUR=m
# CONFIG_RAMOOPS is not set
# #
# PPS support # PPS support
@ -788,10 +793,6 @@ CONFIG_S390_VMUR=m
# CONFIG_NEW_LEDS is not set # CONFIG_NEW_LEDS is not set
CONFIG_ACCESSIBILITY=y CONFIG_ACCESSIBILITY=y
# CONFIG_AUXDISPLAY is not set # CONFIG_AUXDISPLAY is not set
#
# TI VLYNQ
#
# CONFIG_STAGING is not set # CONFIG_STAGING is not set
# #
@ -976,6 +977,7 @@ CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
# CONFIG_LKDTM is not set # CONFIG_LKDTM is not set
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
# CONFIG_FAULT_INJECTION is not set # CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set # CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y CONFIG_SYSCTL_SYSCALL_CHECK=y
@ -1010,6 +1012,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
CONFIG_KPROBE_EVENT=y CONFIG_KPROBE_EVENT=y
# CONFIG_RING_BUFFER_BENCHMARK is not set # CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_DYNAMIC_DEBUG is not set # CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
CONFIG_SAMPLES=y CONFIG_SAMPLES=y
# CONFIG_SAMPLE_TRACEPOINTS is not set # CONFIG_SAMPLE_TRACEPOINTS is not set
# CONFIG_SAMPLE_TRACE_EVENTS is not set # CONFIG_SAMPLE_TRACE_EVENTS is not set

View file

@ -55,8 +55,10 @@ void *module_alloc(unsigned long size)
/* Free memory returned from module_alloc */ /* Free memory returned from module_alloc */
void module_free(struct module *mod, void *module_region) void module_free(struct module *mod, void *module_region)
{ {
vfree(mod->arch.syminfo); if (mod) {
mod->arch.syminfo = NULL; vfree(mod->arch.syminfo);
mod->arch.syminfo = NULL;
}
vfree(module_region); vfree(module_region);
} }

View file

@ -761,7 +761,7 @@ static int __init kvm_s390_init(void)
* to hold the maximum amount of facilites. On the other hand, we * to hold the maximum amount of facilites. On the other hand, we
* only set facilities that are known to work in KVM. * only set facilities that are known to work in KVM.
*/ */
facilities = (unsigned long long *) get_zeroed_page(GFP_DMA); facilities = (unsigned long long *) get_zeroed_page(GFP_KERNEL|GFP_DMA);
if (!facilities) { if (!facilities) {
kvm_exit(); kvm_exit();
return -ENOMEM; return -ENOMEM;

View file

@ -113,7 +113,7 @@ static int __inject_sigp_stop(struct kvm_s390_local_interrupt *li, int action)
{ {
struct kvm_s390_interrupt_info *inti; struct kvm_s390_interrupt_info *inti;
inti = kzalloc(sizeof(*inti), GFP_KERNEL); inti = kzalloc(sizeof(*inti), GFP_ATOMIC);
if (!inti) if (!inti)
return -ENOMEM; return -ENOMEM;
inti->type = KVM_S390_SIGP_STOP; inti->type = KVM_S390_SIGP_STOP;

View file

@ -105,7 +105,7 @@ static int
dcss_set_subcodes(void) dcss_set_subcodes(void)
{ {
#ifdef CONFIG_64BIT #ifdef CONFIG_64BIT
char *name = kmalloc(8 * sizeof(char), GFP_DMA); char *name = kmalloc(8 * sizeof(char), GFP_KERNEL | GFP_DMA);
unsigned long rx, ry; unsigned long rx, ry;
int rc; int rc;
@ -252,12 +252,13 @@ dcss_diag_translate_rc (int vm_rc) {
static int static int
query_segment_type (struct dcss_segment *seg) query_segment_type (struct dcss_segment *seg)
{ {
struct qin64 *qin = kmalloc (sizeof(struct qin64), GFP_DMA);
struct qout64 *qout = kmalloc (sizeof(struct qout64), GFP_DMA);
int diag_cc, rc, i;
unsigned long dummy, vmrc; unsigned long dummy, vmrc;
int diag_cc, rc, i;
struct qout64 *qout;
struct qin64 *qin;
qin = kmalloc(sizeof(*qin), GFP_KERNEL | GFP_DMA);
qout = kmalloc(sizeof(*qout), GFP_KERNEL | GFP_DMA);
if ((qin == NULL) || (qout == NULL)) { if ((qin == NULL) || (qout == NULL)) {
rc = -ENOMEM; rc = -ENOMEM;
goto out_free; goto out_free;
@ -286,7 +287,7 @@ query_segment_type (struct dcss_segment *seg)
copy data for the new format. */ copy data for the new format. */
if (segext_scode == DCSS_SEGEXT) { if (segext_scode == DCSS_SEGEXT) {
struct qout64_old *qout_old; struct qout64_old *qout_old;
qout_old = kzalloc(sizeof(struct qout64_old), GFP_DMA); qout_old = kzalloc(sizeof(*qout_old), GFP_KERNEL | GFP_DMA);
if (qout_old == NULL) { if (qout_old == NULL) {
rc = -ENOMEM; rc = -ENOMEM;
goto out_free; goto out_free;
@ -407,11 +408,11 @@ segment_overlaps_others (struct dcss_segment *seg)
static int static int
__segment_load (char *name, int do_nonshared, unsigned long *addr, unsigned long *end) __segment_load (char *name, int do_nonshared, unsigned long *addr, unsigned long *end)
{ {
struct dcss_segment *seg = kmalloc(sizeof(struct dcss_segment),
GFP_DMA);
int rc, diag_cc;
unsigned long start_addr, end_addr, dummy; unsigned long start_addr, end_addr, dummy;
struct dcss_segment *seg;
int rc, diag_cc;
seg = kmalloc(sizeof(*seg), GFP_KERNEL | GFP_DMA);
if (seg == NULL) { if (seg == NULL) {
rc = -ENOMEM; rc = -ENOMEM;
goto out; goto out;

View file

@ -42,7 +42,7 @@
* size_t size; * size_t size;
* *
* size = itcw_calc_size(1, 2, 0); * size = itcw_calc_size(1, 2, 0);
* buffer = kmalloc(size, GFP_DMA); * buffer = kmalloc(size, GFP_KERNEL | GFP_DMA);
* if (!buffer) * if (!buffer)
* return -ENOMEM; * return -ENOMEM;
* itcw = itcw_init(buffer, size, ITCW_OP_READ, 1, 2, 0); * itcw = itcw_init(buffer, size, ITCW_OP_READ, 1, 2, 0);