Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'fixes-for-3.9-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux

Pull second round of PARISC updates from Helge Deller:
"The most important fix in this branch is the switch of io_setup,
io_getevents and io_submit syscalls to use the available compat
syscalls when running 32bit userspace on 64bit kernel. Other than
that it's mostly removal of compile warnings."

* 'fixes-for-3.9-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
parisc: fix redefinition of SET_PERSONALITY
parisc: do not install modules when installing kernel
parisc: fix compile warnings triggered by atomic_sub(sizeof(),v)
parisc: check return value of down_interruptible() in hp_sdc_rtc.c
parisc: avoid unitialized variable warning in pa_memcpy()
parisc: remove unused variable 'compat_val'
parisc: switch to compat_functions of io_setup, io_getevents and io_submit
parisc: select ARCH_WANT_FRAME_POINTERS

+21 -13
+1
arch/parisc/Kconfig
··· 5 5 select HAVE_FUNCTION_TRACER if 64BIT 6 6 select HAVE_FUNCTION_GRAPH_TRACER if 64BIT 7 7 select HAVE_FUNCTION_TRACE_MCOUNT_TEST if 64BIT 8 + select ARCH_WANT_FRAME_POINTERS 8 9 select RTC_CLASS 9 10 select RTC_DRV_GENERIC 10 11 select INIT_ALL_POSSIBLE
+1 -3
arch/parisc/Makefile
··· 113 113 # Shorthands for known targets not supported by parisc, use vmlinux as default 114 114 Image zImage bzImage: vmlinux 115 115 116 - kernel_install: vmlinux 116 + install: vmlinux 117 117 sh $(src)/arch/parisc/install.sh \ 118 118 $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)" 119 - 120 - install: kernel_install modules_install 121 119 122 120 CLEAN_FILES += lifimage 123 121 MRPROPER_FILES += palo.conf
+2 -2
arch/parisc/include/asm/atomic.h
··· 115 115 } 116 116 117 117 118 - #define atomic_add(i,v) ((void)(__atomic_add_return( (i),(v)))) 119 - #define atomic_sub(i,v) ((void)(__atomic_add_return(-(i),(v)))) 118 + #define atomic_add(i,v) ((void)(__atomic_add_return( (i),(v)))) 119 + #define atomic_sub(i,v) ((void)(__atomic_add_return(-((int) (i)),(v)))) 120 120 #define atomic_inc(v) ((void)(__atomic_add_return( 1,(v)))) 121 121 #define atomic_dec(v) ((void)(__atomic_add_return( -1,(v)))) 122 122
+1
arch/parisc/kernel/binfmt_elf32.c
··· 85 85 * could set a processor dependent flag in the thread_struct. 86 86 */ 87 87 88 + #undef SET_PERSONALITY 88 89 #define SET_PERSONALITY(ex) \ 89 90 set_thread_flag(TIF_32BIT); \ 90 91 current->thread.map_base = DEFAULT_MAP_BASE32; \
-1
arch/parisc/kernel/signal.c
··· 242 242 unsigned long haddr, sigframe_size; 243 243 int err = 0; 244 244 #ifdef CONFIG_64BIT 245 - compat_int_t compat_val; 246 245 struct compat_rt_sigframe __user * compat_frame; 247 246 compat_sigset_t compat_set; 248 247 #endif
+3 -3
arch/parisc/kernel/syscall_table.S
··· 310 310 ENTRY_COMP(sched_getaffinity) 311 311 ENTRY_SAME(ni_syscall) /* set_thread_area */ 312 312 ENTRY_SAME(ni_syscall) /* get_thread_area */ 313 - ENTRY_SAME(io_setup) /* 215 */ 313 + ENTRY_COMP(io_setup) /* 215 */ 314 314 ENTRY_SAME(io_destroy) 315 - ENTRY_SAME(io_getevents) 316 - ENTRY_SAME(io_submit) 315 + ENTRY_COMP(io_getevents) 316 + ENTRY_COMP(io_submit) 317 317 ENTRY_SAME(io_cancel) 318 318 ENTRY_SAME(alloc_hugepages) /* 220 */ 319 319 ENTRY_SAME(free_hugepages)
+1 -1
arch/parisc/lib/memcpy.c
··· 68 68 DECLARE_PER_CPU(struct exception_data, exception_data); 69 69 70 70 #define preserve_branch(label) do { \ 71 - volatile int dummy; \ 71 + volatile int dummy = 0; \ 72 72 /* The following branch is never taken, it's just here to */ \ 73 73 /* prevent gcc from optimizing away our exception code. */ \ 74 74 if (unlikely(dummy != dummy)) \
+12 -3
drivers/input/misc/hp_sdc_rtc.c
··· 109 109 110 110 if (hp_sdc_enqueue_transaction(&t)) return -1; 111 111 112 - down_interruptible(&tsem); /* Put ourselves to sleep for results. */ 112 + /* Put ourselves to sleep for results. */ 113 + if (WARN_ON(down_interruptible(&tsem))) 114 + return -1; 113 115 114 116 /* Check for nonpresence of BBRTC */ 115 117 if (!((tseq[83] | tseq[90] | tseq[69] | tseq[76] | ··· 178 176 t.seq = tseq; 179 177 t.act.semaphore = &i8042tregs; 180 178 181 - down_interruptible(&i8042tregs); /* Sleep if output regs in use. */ 179 + /* Sleep if output regs in use. */ 180 + if (WARN_ON(down_interruptible(&i8042tregs))) 181 + return -1; 182 182 183 183 if (hp_sdc_enqueue_transaction(&t)) return -1; 184 184 185 - down_interruptible(&i8042tregs); /* Sleep until results come back. */ 185 + /* Sleep until results come back. */ 186 + if (WARN_ON(down_interruptible(&i8042tregs))) 187 + return -1; 188 + 186 189 up(&i8042tregs); 187 190 188 191 return (tseq[5] | ··· 283 276 } 284 277 285 278 279 + #if 0 /* not used yet */ 286 280 /* Set the i8042 real-time clock */ 287 281 static int hp_sdc_rtc_set_rt (struct timeval *setto) 288 282 { ··· 394 386 } 395 387 return 0; 396 388 } 389 + #endif 397 390 398 391 static ssize_t hp_sdc_rtc_read(struct file *file, char __user *buf, 399 392 size_t count, loff_t *ppos) {