Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 211038
b: refs/heads/master
c: c8da96e
h: refs/heads/master
v: v3
  • Loading branch information
Ben Hutchings authored and James Morris committed Sep 27, 2010
1 parent 0b8e77b commit d84e4ff
Show file tree
Hide file tree
Showing 82 changed files with 391 additions and 617 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 381ba329e578755bc974b46c6a6f2ac286e89b40
refs/heads/master: c8da96e87d349e9035345293093ecc74792fb96a
10 changes: 2 additions & 8 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2668,8 +2668,6 @@ M: Guenter Roeck <guenter.roeck@ericsson.com>
L: lm-sensors@lm-sensors.org
W: http://www.lm-sensors.org/
T: quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-hwmon/
T: quilt kernel.org/pub/linux/kernel/people/groeck/linux-staging/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
S: Maintained
F: Documentation/hwmon/
F: drivers/hwmon/
Expand Down Expand Up @@ -3925,10 +3923,8 @@ S: Supported
F: drivers/mfd/

MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
M: Chris Ball <cjb@laptop.org>
S: Orphan
L: linux-mmc@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
S: Maintained
F: drivers/mmc/
F: include/linux/mmc/

Expand Down Expand Up @@ -5099,10 +5095,8 @@ S: Maintained
F: drivers/mmc/host/sdricoh_cs.c

SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
M: Chris Ball <cjb@laptop.org>
S: Orphan
L: linux-mmc@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
S: Maintained
F: drivers/mmc/host/sdhci.*

SECURE DIGITAL HOST CONTROLLER INTERFACE, OPEN FIRMWARE BINDINGS (SDHCI-OF)
Expand Down
20 changes: 13 additions & 7 deletions trunk/arch/alpha/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@
ldq $20, HAE_REG($19); \
stq $21, HAE_CACHE($19); \
stq $21, 0($20); \
ldq $0, 0($sp); \
ldq $1, 8($sp); \
99:; \
ldq $19, 72($sp); \
ldq $20, 80($sp); \
Expand Down Expand Up @@ -314,7 +316,7 @@ ret_from_sys_call:
cmovne $26, 0, $19 /* $19 = 0 => non-restartable */
ldq $0, SP_OFF($sp)
and $0, 8, $0
beq $0, ret_to_kernel
beq $0, restore_all
ret_to_user:
/* Make sure need_resched and sigpending don't change between
sampling and the rti. */
Expand All @@ -327,11 +329,6 @@ restore_all:
RESTORE_ALL
call_pal PAL_rti

ret_to_kernel:
lda $16, 7
call_pal PAL_swpipl
br restore_all

.align 3
$syscall_error:
/*
Expand Down Expand Up @@ -660,7 +657,7 @@ kernel_thread:
/* We don't actually care for a3 success widgetry in the kernel.
Not for positive errno values. */
stq $0, 0($sp) /* $0 */
br ret_to_kernel
br restore_all
.end kernel_thread

/*
Expand Down Expand Up @@ -914,6 +911,15 @@ sys_execve:
jmp $31, do_sys_execve
.end sys_execve

.align 4
.globl osf_sigprocmask
.ent osf_sigprocmask
osf_sigprocmask:
.prologue 0
mov $sp, $18
jmp $31, sys_osf_sigprocmask
.end osf_sigprocmask

.align 4
.globl alpha_ni_syscall
.ent alpha_ni_syscall
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/alpha/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ dump_elf_thread(elf_greg_t *dest, struct pt_regs *pt, struct thread_info *ti)
dest[27] = pt->r27;
dest[28] = pt->r28;
dest[29] = pt->gp;
dest[30] = ti == current_thread_info() ? rdusp() : ti->pcb.usp;
dest[30] = rdusp();
dest[31] = pt->pc;

/* Once upon a time this was the PS value. Which is stupid
Expand Down
56 changes: 41 additions & 15 deletions trunk/arch/alpha/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,20 +41,46 @@ static void do_signal(struct pt_regs *, struct switch_stack *,
/*
* The OSF/1 sigprocmask calling sequence is different from the
* C sigprocmask() sequence..
*
* how:
* 1 - SIG_BLOCK
* 2 - SIG_UNBLOCK
* 3 - SIG_SETMASK
*
* We change the range to -1 .. 1 in order to let gcc easily
* use the conditional move instructions.
*
* Note that we don't need to acquire the kernel lock for SMP
* operation, as all of this is local to this thread.
*/
SYSCALL_DEFINE2(osf_sigprocmask, int, how, unsigned long, newmask)
SYSCALL_DEFINE3(osf_sigprocmask, int, how, unsigned long, newmask,
struct pt_regs *, regs)
{
sigset_t oldmask;
sigset_t mask;
unsigned long res;

siginitset(&mask, newmask & ~_BLOCKABLE);
res = siprocmask(how, &mask, &oldmask);
if (!res) {
force_successful_syscall_return();
res = oldmask->sig[0];
unsigned long oldmask = -EINVAL;

if ((unsigned long)how-1 <= 2) {
long sign = how-2; /* -1 .. 1 */
unsigned long block, unblock;

newmask &= _BLOCKABLE;
spin_lock_irq(&current->sighand->siglock);
oldmask = current->blocked.sig[0];

unblock = oldmask & ~newmask;
block = oldmask | newmask;
if (!sign)
block = unblock;
if (sign <= 0)
newmask = block;
if (_NSIG_WORDS > 1 && sign > 0)
sigemptyset(&current->blocked);
current->blocked.sig[0] = newmask;
recalc_sigpending();
spin_unlock_irq(&current->sighand->siglock);

regs->r0 = 0; /* special no error return */
}
return res;
return oldmask;
}

SYSCALL_DEFINE3(osf_sigaction, int, sig,
Expand All @@ -68,9 +94,9 @@ SYSCALL_DEFINE3(osf_sigaction, int, sig,
old_sigset_t mask;
if (!access_ok(VERIFY_READ, act, sizeof(*act)) ||
__get_user(new_ka.sa.sa_handler, &act->sa_handler) ||
__get_user(new_ka.sa.sa_flags, &act->sa_flags) ||
__get_user(mask, &act->sa_mask))
__get_user(new_ka.sa.sa_flags, &act->sa_flags))
return -EFAULT;
__get_user(mask, &act->sa_mask);
siginitset(&new_ka.sa.sa_mask, mask);
new_ka.ka_restorer = NULL;
}
Expand All @@ -80,9 +106,9 @@ SYSCALL_DEFINE3(osf_sigaction, int, sig,
if (!ret && oact) {
if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) ||
__put_user(old_ka.sa.sa_handler, &oact->sa_handler) ||
__put_user(old_ka.sa.sa_flags, &oact->sa_flags) ||
__put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask))
__put_user(old_ka.sa.sa_flags, &oact->sa_flags))
return -EFAULT;
__put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask);
}

return ret;
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/alpha/kernel/systbls.S
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ sys_call_table:
.quad sys_open /* 45 */
.quad alpha_ni_syscall
.quad sys_getxgid
.quad sys_osf_sigprocmask
.quad osf_sigprocmask
.quad alpha_ni_syscall
.quad alpha_ni_syscall /* 50 */
.quad sys_acct
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/m32r/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ typedef struct sigaltstack {
#undef __HAVE_ARCH_SIG_BITOPS

struct pt_regs;
extern int do_signal(struct pt_regs *regs, sigset_t *oldset);

#define ptrace_signal_deliver(regs, cookie) do { } while (0)

Expand Down
1 change: 0 additions & 1 deletion trunk/arch/m32r/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,6 @@
#define __ARCH_WANT_SYS_OLD_GETRLIMIT /*will be unused*/
#define __ARCH_WANT_SYS_OLDUMOUNT
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND

#define __IGNORE_lchown
#define __IGNORE_setuid
Expand Down
5 changes: 3 additions & 2 deletions trunk/arch/m32r/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -235,9 +235,10 @@ work_resched:
work_notifysig: ; deal with pending signals and
; notify-resume requests
mv r0, sp ; arg1 : struct pt_regs *regs
mv r1, r9 ; arg2 : __u32 thread_info_flags
ldi r1, #0 ; arg2 : sigset_t *oldset
mv r2, r9 ; arg3 : __u32 thread_info_flags
bl do_notify_resume
bra resume_userspace
bra restore_all

; perform syscall exit tracing
ALIGN
Expand Down
7 changes: 3 additions & 4 deletions trunk/arch/m32r/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -592,17 +592,16 @@ void user_enable_single_step(struct task_struct *child)

if (access_process_vm(child, pc&~3, &insn, sizeof(insn), 0)
!= sizeof(insn))
return -EIO;
break;

compute_next_pc(insn, pc, &next_pc, child);
if (next_pc & 0x80000000)
return -EIO;
break;

if (embed_debug_trap(child, next_pc))
return -EIO;
break;

invalidate_cache();
return 0;
}

void user_disable_single_step(struct task_struct *child)
Expand Down
Loading

0 comments on commit d84e4ff

Please sign in to comment.