[PATCH] knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix default ace
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54c044094947826105317dadd01deca083627ea1 Commit: 54c044094947826105317dadd01deca083627ea1 Parent: 598b9a56373f0596ed48f7af730706aaee998d5f Author: Bruce Fields [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:09 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:14 2007 -0700 [PATCH] knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix default ace A regression introduced in the last set of acl patches removed the INHERIT_ONLY flag from aces derived from the posix acl. Fix. Signed-off-by: J. Bruce Fields [EMAIL PROTECTED] Signed-off-by: Neil Brown [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- fs/nfsd/nfs4acl.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/nfsd/nfs4acl.c b/fs/nfsd/nfs4acl.c index 832673b..673a53c 100644 --- a/fs/nfsd/nfs4acl.c +++ b/fs/nfsd/nfs4acl.c @@ -228,7 +228,7 @@ _posix_to_nfsv4_one(struct posix_acl *pacl, struct nfs4_acl *acl, struct posix_acl_summary pas; unsigned short deny; int eflag = ((flags NFS4_ACL_TYPE_DEFAULT) ? - NFS4_INHERITANCE_FLAGS : 0); + NFS4_INHERITANCE_FLAGS | NFS4_ACE_INHERIT_ONLY_ACE : 0); BUG_ON(pacl-a_count 3); summarize_posix_acl(pacl, pas); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] correct slow acpi_pm rating
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ff100d76ff76477a2ead3aac94d04f2e891f44e Commit: 1ff100d76ff76477a2ead3aac94d04f2e891f44e Parent: d340d89087534e8b12e1b6ed1c1569dd892b5465 Author: john stultz [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:19 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:15 2007 -0700 [PATCH] correct slow acpi_pm rating On Bob's machine clocksource is selecting PIT over the ACPI PM timer, because he has the PIIX4 bug. That bug drops the ACPI PM timers rating to the same as the PIT, so that's why you're getting the PIT. Realistically, the PIT is much slower then even the triple read ACPI PM, so the de-ranking code is probably dropping it too far. So don't drop ACPI PM quite so low if we see the PIIX4 bug. Signed-off-by: John Stultz [EMAIL PROTECTED] Cc: Bob Tracy [EMAIL PROTECTED] Cc: Ingo Molnar [EMAIL PROTECTED] Cc: Thomas Gleixner [EMAIL PROTECTED] Cc: Andi Kleen [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/clocksource/acpi_pm.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/clocksource/acpi_pm.c b/drivers/clocksource/acpi_pm.c index d42060e..5ac309e 100644 --- a/drivers/clocksource/acpi_pm.c +++ b/drivers/clocksource/acpi_pm.c @@ -90,7 +90,7 @@ __setup(acpi_pm_good, acpi_pm_good_setup); static inline void acpi_pm_need_workaround(void) { clocksource_acpi_pm.read = acpi_pm_read_slow; - clocksource_acpi_pm.rating = 110; + clocksource_acpi_pm.rating = 120; } /* - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] uml: fix epoll
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d75e26a8298f84bca66374e98fa69049f26083ba Commit: d75e26a8298f84bca66374e98fa69049f26083ba Parent: 3899210ad9850e3b8909674c92dccbd3caaf9750 Author: Jeff Dike [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:20 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:15 2007 -0700 [PATCH] uml: fix epoll UML/x86_64 needs the same packing of struct epoll_event as x86_64. Signed-off-by: Jeff Dike [EMAIL PROTECTED] Cc: Davide Libenzi davidel@xmailserver.org Cc: [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- include/linux/eventpoll.h |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/include/linux/eventpoll.h b/include/linux/eventpoll.h index 84cfa8b..d2a96cb 100644 --- a/include/linux/eventpoll.h +++ b/include/linux/eventpoll.h @@ -31,12 +31,19 @@ /* * On x86-64 make the 64bit structure have the same alignment as the * 32bit structure. This makes 32bit emulation easier. + * + * UML/x86_64 needs the same packing as x86_64 - UML + UML_X86 + + * 64_BIT adds up to UML/x86_64. */ #ifdef __x86_64__ #define EPOLL_PACKED __attribute__((packed)) #else +#if defined(CONFIG_UML) defined(CONFIG_UML_X86) defined(CONFIG_64BIT) +#define EPOLL_PACKED __attribute__((packed)) +#else #define EPOLL_PACKED #endif +#endif struct epoll_event { __u32 events; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] tty: minor merge correction
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=62b3e920ed7612f318126f9c9b37c6a8dcd4199e Commit: 62b3e920ed7612f318126f9c9b37c6a8dcd4199e Parent: d75e26a8298f84bca66374e98fa69049f26083ba Author: Alan Cox [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:21 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:15 2007 -0700 [PATCH] tty: minor merge correction Its now used.. because we added the new definitions so enabled all the goodies on i386 Signed-off-by: Alan Cox [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- include/asm-i386/termbits.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/asm-i386/termbits.h b/include/asm-i386/termbits.h index 12baf1d..2e62376 100644 --- a/include/asm-i386/termbits.h +++ b/include/asm-i386/termbits.h @@ -144,7 +144,7 @@ struct ktermios { #define B300 0010015 #define B350 0010016 #define B400 0010017 -#define CIBAUD 00200360 /* input baud rate (not used) */ +#define CIBAUD 00200360 #define CMSPAR 0100 /* mark or space (stick) parity */ #define CRTSCTS 0200 /* flow control */ - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] utsns: fix !CONFIG_UTS_NS behavior
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78d832f62643ac6209beccbfb29228314423935e Commit: 78d832f62643ac6209beccbfb29228314423935e Parent: 62b3e920ed7612f318126f9c9b37c6a8dcd4199e Author: Serge E. Hallyn [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:22 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:15 2007 -0700 [PATCH] utsns: fix !CONFIG_UTS_NS behavior When CONFIG_UTS_NS=n, clone(CLONE_NEWUTS) quietly refuses. So correctly does not unshare a new uts namespace, but also does not return -EINVAL. Fix this to return -EINVAL so the caller knows his request was denied. Signed-off-by: Serge E. Hallyn [EMAIL PROTECTED] Cc: Eric W. Biederman [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- include/linux/utsname.h |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/include/linux/utsname.h b/include/linux/utsname.h index a4555fe..e10267d 100644 --- a/include/linux/utsname.h +++ b/include/linux/utsname.h @@ -70,6 +70,8 @@ static inline int unshare_utsname(unsigned long unshare_flags, static inline int copy_utsname(int flags, struct task_struct *tsk) { + if (flags CLONE_NEWUTS) + return -EINVAL; return 0; } static inline void put_uts_ns(struct uts_namespace *ns) - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] uml: fix static linking
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7632fc8f809a97f9d82ce125e8e3e579390ce2e5 Commit: 7632fc8f809a97f9d82ce125e8e3e579390ce2e5 Parent: e9d5a461157c1244475bc400fcac7f871608715e Author: Jeff Dike [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:24 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:15 2007 -0700 [PATCH] uml: fix static linking During a static link, ld has started putting a .note section in the .uml.setup.init section. This has the result that the UML setups begin with 32 bytes of garbage and UML crashes immediately on boot. This patch creates a specific .note section for ld to drop this stuff into. Signed-off-by: Jeff Dike [EMAIL PROTECTED] Cc: Paolo 'Blaisorblade' Giarrusso [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- include/asm-um/common.lds.S |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/asm-um/common.lds.S b/include/asm-um/common.lds.S index f045451..b16222b 100644 --- a/include/asm-um/common.lds.S +++ b/include/asm-um/common.lds.S @@ -15,6 +15,7 @@ PROVIDE (_unprotected_end = .); . = ALIGN(4096); + .note : { *(note.*) } __start___ex_table = .; __ex_table : { *(__ex_table) } __stop___ex_table = .; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] uml: use correct register file size everywhere
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b92c4f922b2e8c70f8790d42e45bb9401c57be63 Commit: b92c4f922b2e8c70f8790d42e45bb9401c57be63 Parent: 7632fc8f809a97f9d82ce125e8e3e579390ce2e5 Author: Jeff Dike [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:25 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:15 2007 -0700 [PATCH] uml: use correct register file size everywhere This patch uses MAX_REG_NR consistently to refer to the register file size. FRAME_SIZE isn't sufficient because on x86_64, it is smaller than the ptrace register file size. MAX_REG_NR was introduced as a consistent way to get the number of registers, but wasn't used everywhere it should be. When this causes a problem, it makes PTRACE_SETREGS fail on x86_64 because of a corrupted segment register value in the known-good register file. The patch also adds a register dump at that point in case there are any future problems here. Signed-off-by: Jeff Dike [EMAIL PROTECTED] Cc: Paolo 'Blaisorblade' Giarrusso [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/um/include/sysdep-x86_64/ptrace.h |4 arch/um/os-Linux/skas/mem.c | 10 +++--- arch/um/os-Linux/skas/process.c |6 +++--- arch/um/os-Linux/sys-i386/registers.c |5 +++-- arch/um/os-Linux/sys-x86_64/registers.c |4 ++-- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/arch/um/include/sysdep-x86_64/ptrace.h b/arch/um/include/sysdep-x86_64/ptrace.h index 66cb400..62403bd 100644 --- a/arch/um/include/sysdep-x86_64/ptrace.h +++ b/arch/um/include/sysdep-x86_64/ptrace.h @@ -104,10 +104,6 @@ union uml_pt_regs { #endif #ifdef UML_CONFIG_MODE_SKAS struct skas_regs { - /* x86_64 ptrace uses sizeof(user_regs_struct) as its register -* file size, while i386 uses FRAME_SIZE. Therefore, we need -* to use UM_FRAME_SIZE here instead of HOST_FRAME_SIZE. -*/ unsigned long regs[MAX_REG_NR]; unsigned long fp[HOST_FP_SIZE]; struct faultinfo faultinfo; diff --git a/arch/um/os-Linux/skas/mem.c b/arch/um/os-Linux/skas/mem.c index b3c11cf..9383e87 100644 --- a/arch/um/os-Linux/skas/mem.c +++ b/arch/um/os-Linux/skas/mem.c @@ -48,7 +48,7 @@ int multi_op_count = 0; static inline long do_syscall_stub(struct mm_id * mm_idp, void **addr) { unsigned long regs[MAX_REG_NR]; - int n; + int n, i; long ret, offset; unsigned long * data; unsigned long * syscall; @@ -66,9 +66,13 @@ static inline long do_syscall_stub(struct mm_id * mm_idp, void **addr) (unsigned long) __syscall_stub_start); n = ptrace_setregs(pid, regs); - if(n 0) + if(n 0){ + printk(Registers - \n); + for(i = 0; i MAX_REG_NR; i++) + printk(\t%d\t0x%lx\n, i, regs[i]); panic(do_syscall_stub : PTRACE_SETREGS failed, errno = %d\n, - n); + -n); + } wait_stub_done(pid, 0, do_syscall_stub); diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c index dda0678..0564422 100644 --- a/arch/um/os-Linux/skas/process.c +++ b/arch/um/os-Linux/skas/process.c @@ -67,7 +67,7 @@ void wait_stub_done(int pid, int sig, char * fname) if((n 0) || !WIFSTOPPED(status) || (WSTOPSIG(status) != SIGUSR1 WSTOPSIG(status) != SIGTRAP)){ - unsigned long regs[HOST_FRAME_SIZE]; + unsigned long regs[MAX_REG_NR]; if(ptrace(PTRACE_GETREGS, pid, 0, regs) 0) printk(Failed to get registers from stub, @@ -76,7 +76,7 @@ void wait_stub_done(int pid, int sig, char * fname) int i; printk(Stub registers -\n); - for(i = 0; i HOST_FRAME_SIZE; i++) + for(i = 0; i ARRAY_SIZE(regs); i++) printk(\t%d - %lx\n, i, regs[i]); } panic(%s : failed to wait for SIGUSR1/SIGTRAP, @@ -328,7 +328,7 @@ void userspace(union uml_pt_regs *regs) int copy_context_skas0(unsigned long new_stack, int pid) { int err; - unsigned long regs[HOST_FRAME_SIZE]; + unsigned long regs[MAX_REG_NR]; unsigned long fp_regs[HOST_FP_SIZE]; unsigned long current_stack = current_stub_stack(); struct stub_data *data = (struct stub_data *) current_stack; diff --git a/arch/um/os-Linux/sys-i386/registers.c b/arch/um/os-Linux/sys-i386/registers.c index 79cd93c..84b44f9 100644 --- a/arch/um/os-Linux/sys-i386/registers.c +++ b/arch/um/os-Linux/sys-i386/registers.c @@ -15,7 +15,7 @@ /*
[PATCH] ntp: avoid time_offset overflows
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d62ac21aa075c8ddf3d02a98d28afce635e77e8e Commit: d62ac21aa075c8ddf3d02a98d28afce635e77e8e Parent: b92c4f922b2e8c70f8790d42e45bb9401c57be63 Author: john stultz [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:26 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:15 2007 -0700 [PATCH] ntp: avoid time_offset overflows I've been seeing some odd NTP behavior recently on a few boxes and finally narrowed it down to time_offset overflowing when converted to SHIFT_UPDATE units (which was a side effect from my HZfreeNTP patch). This patch converts time_offset from a long to a s64 which resolves the issue. [EMAIL PROTECTED]: signedness fixes] Signed-off-by: John Stultz [EMAIL PROTECTED] Cc: Roman Zippel [EMAIL PROTECTED] Cc: john stultz [EMAIL PROTECTED] Cc: Ingo Molnar [EMAIL PROTECTED] Cc: Thomas Gleixner [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- kernel/time/ntp.c | 30 -- 1 files changed, 16 insertions(+), 14 deletions(-) diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c index eb12509..cb25649 100644 --- a/kernel/time/ntp.c +++ b/kernel/time/ntp.c @@ -32,7 +32,7 @@ static u64 tick_length, tick_length_base; /* TIME_ERROR prevents overwriting the CMOS clock */ static int time_state = TIME_OK; /* clock synchronization status */ int time_status = STA_UNSYNC; /* clock status bits*/ -static long time_offset; /* time adjustment (ns) */ +static s64 time_offset;/* time adjustment (ns) */ static long time_constant = 2; /* pll time constant*/ long time_maxerror = NTP_PHASE_LIMIT; /* maximum error (us) */ long time_esterror = NTP_PHASE_LIMIT; /* estimated error (us) */ @@ -196,7 +196,7 @@ void __attribute__ ((weak)) notify_arch_cmos_timer(void) */ int do_adjtimex(struct timex *txc) { - long ltemp, mtemp, save_adjust; + long mtemp, save_adjust, rem; s64 freq_adj, temp64; int result; @@ -277,14 +277,14 @@ int do_adjtimex(struct timex *txc) time_adjust = txc-offset; } else if (time_status STA_PLL) { - ltemp = txc-offset * NSEC_PER_USEC; + time_offset = txc-offset * NSEC_PER_USEC; /* * Scale the phase adjustment and * clamp to the operating range. */ - time_offset = min(ltemp, MAXPHASE * NSEC_PER_USEC); - time_offset = max(time_offset, -MAXPHASE * NSEC_PER_USEC); + time_offset = min(time_offset, (s64)MAXPHASE * NSEC_PER_USEC); + time_offset = max(time_offset, (s64)-MAXPHASE * NSEC_PER_USEC); /* * Select whether the frequency is to be controlled @@ -297,11 +297,11 @@ int do_adjtimex(struct timex *txc) mtemp = xtime.tv_sec - time_reftime; time_reftime = xtime.tv_sec; - freq_adj = (s64)time_offset * mtemp; + freq_adj = time_offset * mtemp; freq_adj = shift_right(freq_adj, time_constant * 2 + (SHIFT_PLL + 2) * 2 - SHIFT_NSEC); if (mtemp = MINSEC (time_status STA_FLL || mtemp MAXSEC)) { - temp64 = (s64)time_offset (SHIFT_NSEC - SHIFT_FLL); + temp64 = time_offset (SHIFT_NSEC - SHIFT_FLL); if (time_offset 0) { temp64 = -temp64; do_div(temp64, mtemp); @@ -314,8 +314,10 @@ int do_adjtimex(struct timex *txc) freq_adj += time_freq; freq_adj = min(freq_adj, (s64)MAXFREQ_NSEC); time_freq = max(freq_adj, (s64)-MAXFREQ_NSEC); - time_offset = (time_offset / NTP_INTERVAL_FREQ) -SHIFT_UPDATE; + time_offset = div_long_long_rem_signed(time_offset, + NTP_INTERVAL_FREQ, + rem); + time_offset = SHIFT_UPDATE; } /* STA_PLL */ } /* txc-modes ADJ_OFFSET */ if (txc-modes ADJ_TICK) @@ -328,12 +330,12 @@ leave:if ((time_status (STA_UNSYNC|STA_CLOCKERR)) != 0) result = TIME_ERROR; if ((txc-modes ADJ_OFFSET_SINGLESHOT) == ADJ_OFFSET_SINGLESHOT) - txc-offset= save_adjust; + txc-offset = save_adjust; else - txc-offset= shift_right(time_offset,
[PATCH] drivers/eisa/pci_eisa.c:pci_eisa_init() should be init
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=74b9a297866d0416edd0be5014cb0810de049c6a Commit: 74b9a297866d0416edd0be5014cb0810de049c6a Parent: d62ac21aa075c8ddf3d02a98d28afce635e77e8e Author: Adrian Bunk [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:27 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:15 2007 -0700 [PATCH] drivers/eisa/pci_eisa.c:pci_eisa_init() should be init WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:eisa_root_register from .text between 'pci_eisa_init' (at offset 0xabf670) and 'virtual_eisa_release' AFAIK a PCI to EISA bridge isn't anything hotpluggable, so pci_eisa_init() can become __init. Signed-off-by: Adrian Bunk [EMAIL PROTECTED] Cc: Greg KH [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/eisa/pci_eisa.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/eisa/pci_eisa.c b/drivers/eisa/pci_eisa.c index 9e91362..74edb1d 100644 --- a/drivers/eisa/pci_eisa.c +++ b/drivers/eisa/pci_eisa.c @@ -19,8 +19,8 @@ /* There is only *one* pci_eisa device per machine, right ? */ static struct eisa_root_device pci_eisa_root; -static int __devinit pci_eisa_init (struct pci_dev *pdev, - const struct pci_device_id *ent) +static int __init pci_eisa_init(struct pci_dev *pdev, + const struct pci_device_id *ent) { int rc; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] Fix struct device member name in PCMCIA au1000_generic
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88f45005ce8ec97fc3a2aac3c0e9e645ed83a64a Commit: 88f45005ce8ec97fc3a2aac3c0e9e645ed83a64a Parent: 74b9a297866d0416edd0be5014cb0810de049c6a Author: Yoichi Yuasa [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:28 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:16 2007 -0700 [PATCH] Fix struct device member name in PCMCIA au1000_generic drivers/pcmcia/au1000_generic.c: In function 'au1x00_pcmcia_socket_probe': drivers/pcmcia/au1000_generic.c:375: error: 'struct device' has no member named 'dev' Signed-off-by: Yoichi Yuasa [EMAIL PROTECTED] Cc: Ralf Baechle [EMAIL PROTECTED] Cc: Jaroslav Kysela [EMAIL PROTECTED] Cc: Takashi Iwai [EMAIL PROTECTED] Cc: Greg KH [EMAIL PROTECTED] Cc: Dominik Brodowski [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/pcmcia/au1000_generic.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/pcmcia/au1000_generic.c b/drivers/pcmcia/au1000_generic.c index 551bde5..b693367 100644 --- a/drivers/pcmcia/au1000_generic.c +++ b/drivers/pcmcia/au1000_generic.c @@ -372,7 +372,7 @@ int au1x00_pcmcia_socket_probe(struct device *dev, struct pcmcia_low_level *ops, skt-socket.resource_ops = pccard_static_ops; skt-socket.ops = au1x00_pcmcia_operations; skt-socket.owner = ops-owner; - skt-socket.dev.dev = dev; + skt-socket.dev.parent = dev; init_timer(skt-poll_timer); skt-poll_timer.function = au1x00_pcmcia_poll_event; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] i2o: block IO errors on i2o disk
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1985ad1da28eac507d855af8099f6010c51b167 Commit: d1985ad1da28eac507d855af8099f6010c51b167 Parent: 88f45005ce8ec97fc3a2aac3c0e9e645ed83a64a Author: Vasily Averin [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:30 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:16 2007 -0700 [PATCH] i2o: block IO errors on i2o disk I2O subsystem has been broken in mainstream several months ago (after 2.6.18). Commit 4aff5e2333c9a1609662f2091f55c3f6fffdad36 from Jens Axboe split struct request -flags into two parts: cmd_type and cmd_flags. In i2o layer this patch has replaced flag REQ_SPECIAL by the according cmd_type. However i2o has used REQ_SPECIAL not as command type but as driver-specific flag for the debug purposes. As result all i2o requests have type special now, are not processed to the hardware and fail with I/O error: i2o/hda:3Buffer I/O error on device i2o/hda, logical block 0 Buffer I/O error on device i2o/hda, logical block 0 Buffer I/O error on device i2o/hda, logical block 0 unable to read partition table block-osm: device added (TID: 207): i2o/hda The following patch removes the extra debug checks without any drawbacks and restores the normal driver's work. Signed-off-by: Vasily Averin [EMAIL PROTECTED] Acked-by: Markus Lidel [EMAIL PROTECTED] Cc: Jens Axboe [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/message/i2o/i2o_block.c | 12 +--- 1 files changed, 1 insertions(+), 11 deletions(-) diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c index da9859f..b17c4b2 100644 --- a/drivers/message/i2o/i2o_block.c +++ b/drivers/message/i2o/i2o_block.c @@ -390,13 +390,6 @@ static int i2o_block_prep_req_fn(struct request_queue *q, struct request *req) return BLKPREP_KILL; } - /* request is already processed by us, so return */ - if (blk_special_request(req)) { - osm_debug(REQ_SPECIAL already set!\n); - req-cmd_flags |= REQ_DONTPREP; - return BLKPREP_OK; - } - /* connect the i2o_block_request to the request */ if (!req-special) { ireq = i2o_block_request_alloc(); @@ -408,11 +401,8 @@ static int i2o_block_prep_req_fn(struct request_queue *q, struct request *req) ireq-i2o_blk_dev = i2o_blk_dev; req-special = ireq; ireq-req = req; - } else - ireq = req-special; - + } /* do not come back here */ - req-cmd_type = REQ_TYPE_SPECIAL; req-cmd_flags |= REQ_DONTPREP; return BLKPREP_OK; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] ipcns: fix !CONFIG_IPC_NS behavior
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a28d193cbf01375974683c13e99a52ef489e5eb0 Commit: a28d193cbf01375974683c13e99a52ef489e5eb0 Parent: d1985ad1da28eac507d855af8099f6010c51b167 Author: Serge E. Hallyn [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:31 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:16 2007 -0700 [PATCH] ipcns: fix !CONFIG_IPC_NS behavior When CONFIG_IPC_NS=n, clone(CLONE_NEWIPC) claims success, but did not actually clone a new IPC namespace. Fix this to return -EINVAL so the caller knows his request was denied. Signed-off-by: Serge E. Hallyn [EMAIL PROTECTED] Cc: Eric W. Biederman [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- include/linux/ipc.h |9 +++-- ipc/util.c |7 +++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/include/linux/ipc.h b/include/linux/ipc.h index 636094c..6da6772 100644 --- a/include/linux/ipc.h +++ b/include/linux/ipc.h @@ -92,19 +92,16 @@ extern struct ipc_namespace init_ipc_ns; #ifdef CONFIG_SYSVIPC #define INIT_IPC_NS(ns).ns = init_ipc_ns, +extern int copy_ipcs(unsigned long flags, struct task_struct *tsk); #else #define INIT_IPC_NS(ns) +static inline int copy_ipcs(unsigned long flags, struct task_struct *tsk) +{ return 0; } #endif #ifdef CONFIG_IPC_NS extern void free_ipc_ns(struct kref *kref); -extern int copy_ipcs(unsigned long flags, struct task_struct *tsk); extern int unshare_ipcs(unsigned long flags, struct ipc_namespace **ns); -#else -static inline int copy_ipcs(unsigned long flags, struct task_struct *tsk) -{ - return 0; -} #endif static inline struct ipc_namespace *get_ipc_ns(struct ipc_namespace *ns) diff --git a/ipc/util.c b/ipc/util.c index 08a6479..0b65238 100644 --- a/ipc/util.c +++ b/ipc/util.c @@ -144,6 +144,13 @@ void free_ipc_ns(struct kref *kref) shm_exit_ns(ns); kfree(ns); } +#else +int copy_ipcs(unsigned long flags, struct task_struct *tsk) +{ + if (flags CLONE_NEWIPC) + return -EINVAL; + return 0; +} #endif /** - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] Fix kernel build with EMBEDDED PROC_FS !PROC_SYSCTL
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c46010af210712c8a390c7fe50ff05448983061 Commit: 5c46010af210712c8a390c7fe50ff05448983061 Parent: b8f2f5165c3eb22d7b19405d80fd82339507a950 Author: Mika Kukkonen [EMAIL PROTECTED] AuthorDate: Mon Mar 26 21:32:33 2007 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:05:16 2007 -0700 [PATCH] Fix kernel build with EMBEDDED PROC_FS !PROC_SYSCTL Without attached patch against current -git I get following with !PROC_SYSCTL (with EMBEDDED and PROC_FS set): CC init/version.o LD init/built-in.o LD vmlinux fs/built-in.o: In function `do_proc_sys_lookup': proc_sysctl.c:(.text+0x26583): undefined reference to `sysctl_head_next' fs/built-in.o: In function `proc_sys_revalidate': proc_sysctl.c:(.text+0x265bb): undefined reference to `sysctl_head_finish' fs/built-in.o: In function `proc_sys_readdir': proc_sysctl.c:(.text+0x26720): undefined reference to `sysctl_head_next' proc_sysctl.c:(.text+0x267d8): undefined reference to `sysctl_head_finish' proc_sysctl.c:(.text+0x268e7): undefined reference to `sysctl_head_next' proc_sysctl.c:(.text+0x26910): undefined reference to `sysctl_head_finish' fs/built-in.o: In function `proc_sys_write': proc_sysctl.c:(.text+0x2695d): undefined reference to `sysctl_perm' proc_sysctl.c:(.text+0x2699c): undefined reference to `sysctl_head_finish' fs/built-in.o: In function `proc_sys_read': proc_sysctl.c:(.text+0x269e9): undefined reference to `sysctl_perm' proc_sysctl.c:(.text+0x26a25): undefined reference to `sysctl_head_finish' fs/built-in.o: In function `proc_sys_permission': proc_sysctl.c:(.text+0x26ad1): undefined reference to `sysctl_perm' proc_sysctl.c:(.text+0x26adb): undefined reference to `sysctl_head_finish' fs/built-in.o: In function `proc_sys_lookup': proc_sysctl.c:(.text+0x26b39): undefined reference to `sysctl_head_finish' make: *** [vmlinux] Virhe 1 All those functions are in fs/proc/proc_sysctl.c, which has no CONFIG_ #define's in it, so the patch makes the compilation of that file to depend on CONFIG_PROC_SYSCTL (the simplest choice). Acked-by: Eric W. Biederman [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- fs/proc/Makefile |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/fs/proc/Makefile b/fs/proc/Makefile index a6b3a8f..bce38e3 100644 --- a/fs/proc/Makefile +++ b/fs/proc/Makefile @@ -8,8 +8,9 @@ proc-y := nommu.o task_nommu.o proc-$(CONFIG_MMU) := mmu.o task_mmu.o proc-y += inode.o root.o base.o generic.o array.o \ - proc_tty.o proc_misc.o proc_sysctl.o + proc_tty.o proc_misc.o +proc-$(CONFIG_PROC_SYSCTL) += proc_sysctl.o proc-$(CONFIG_PROC_KCORE) += kcore.o proc-$(CONFIG_PROC_VMCORE) += vmcore.o proc-$(CONFIG_PROC_DEVICETREE) += proc_devtree.o - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
block: blk_max_pfn is somtimes wrong
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f772b3d9ca135087a70406d8466e57d1cf29237e Commit: f772b3d9ca135087a70406d8466e57d1cf29237e Parent: 703071b5b93d88d5acb0edd5b9dd86c69ad970f2 Author: Vasily Tarasov [EMAIL PROTECTED] AuthorDate: Tue Mar 27 08:52:47 2007 +0200 Committer: Jens Axboe [EMAIL PROTECTED] CommitDate: Tue Mar 27 08:52:47 2007 +0200 block: blk_max_pfn is somtimes wrong There is a small problem in handling page bounce. At the moment blk_max_pfn equals max_pfn, which is in fact not maximum possible _number_ of a page frame, but the _amount_ of page frames. For example for the 32bit x86 node with 4Gb RAM, max_pfn = 0x10, but not 0x. request_queue structure has a member q-bounce_pfn and queue needs bounce pages for the pages _above_ this limit. This routine is handled by blk_queue_bounce(), where the following check is produced: if (q-bounce_pfn = blk_max_pfn) return; Assume, that a driver has set q-bounce_pfn to 0x, but blk_max_pfn equals 0x1. In such situation the check above fails and for each bio we always fall down for iterating over pages tied to the bio. I want to notice, that for quite a big range of device drivers (ide, md, ...) such problem doesn't happen because they use BLK_BOUNCE_ANY for bounce_pfn. BLK_BOUNCE_ANY is defined as blk_max_pfn PAGE_SHIFT, and then the check above doesn't fail. But for other drivers, which obtain reuired value from drivers, it fails. For example sata_nv uses ATA_DMA_MASK or dev-dma_mask. I propose to use (max_pfn - 1) for blk_max_pfn. And the same for blk_max_low_pfn. The patch also cleanses some checks related with bounce_pfn. Signed-off-by: Vasily Tarasov [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Jens Axboe [EMAIL PROTECTED] --- block/ll_rw_blk.c |6 +++--- mm/bounce.c |2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 38c293b..3de0695 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c @@ -1221,7 +1221,7 @@ void blk_recount_segments(request_queue_t *q, struct bio *bio) * considered part of another segment, since that might * change with the bounce page. */ - high = page_to_pfn(bv-bv_page) = q-bounce_pfn; + high = page_to_pfn(bv-bv_page) q-bounce_pfn; if (high || highprv) goto new_hw_segment; if (cluster) { @@ -3658,8 +3658,8 @@ int __init blk_dev_init(void) open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL); register_hotcpu_notifier(blk_cpu_notifier); - blk_max_low_pfn = max_low_pfn; - blk_max_pfn = max_pfn; + blk_max_low_pfn = max_low_pfn - 1; + blk_max_pfn = max_pfn - 1; return 0; } diff --git a/mm/bounce.c b/mm/bounce.c index 643efbe..ad401fc 100644 --- a/mm/bounce.c +++ b/mm/bounce.c @@ -204,7 +204,7 @@ static void __blk_queue_bounce(request_queue_t *q, struct bio **bio_orig, /* * is destination page below bounce pfn? */ - if (page_to_pfn(page) q-bounce_pfn) + if (page_to_pfn(page) = q-bounce_pfn) continue; /* - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
make elv_register() output atomic
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ffb96c587fa2af0d690dc3548a4a781c477bfb7 Commit: 1ffb96c587fa2af0d690dc3548a4a781c477bfb7 Parent: f772b3d9ca135087a70406d8466e57d1cf29237e Author: Thibaut VARENE [EMAIL PROTECTED] AuthorDate: Thu Mar 15 12:59:19 2007 +0100 Committer: Jens Axboe [EMAIL PROTECTED] CommitDate: Tue Mar 27 08:53:04 2007 +0200 make elv_register() output atomic Booting 2.6.21-rc3-g45592145 I noticed the following on one of my machines in the bootlog: io scheduler noop registered6Time: jiffies clocksource has been installed. io scheduler deadline registered (default) Looking at block/elevator.c, it appears that elv_register() uses two consecutive printks in a non-atomic way, leading to the above glitch. The attached trivial patch fixes this issue, by using a single printk. Signed-off-by: Thibaut VARENE [EMAIL PROTECTED] Signed-off-by: Jens Axboe [EMAIL PROTECTED] --- block/elevator.c |7 --- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/block/elevator.c b/block/elevator.c index 25f6ef2..96a00c8 100644 --- a/block/elevator.c +++ b/block/elevator.c @@ -964,17 +964,18 @@ void elv_unregister_queue(struct request_queue *q) int elv_register(struct elevator_type *e) { + char *def = ; spin_lock_irq(elv_list_lock); BUG_ON(elevator_find(e-elevator_name)); list_add_tail(e-list, elv_list); spin_unlock_irq(elv_list_lock); - printk(KERN_INFO io scheduler %s registered, e-elevator_name); if (!strcmp(e-elevator_name, chosen_elevator) || (!*chosen_elevator !strcmp(e-elevator_name, CONFIG_DEFAULT_IOSCHED))) - printk( (default)); - printk(\n); + def = (default); + + printk(KERN_INFO io scheduler %s registered%s\n, e-elevator_name, def); return 0; } EXPORT_SYMBOL_GPL(elv_register); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
2/2 splice: dont readpage
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c72591636829d40bd695d43ec6d2a8191b668b Commit: 08c72591636829d40bd695d43ec6d2a8191b668b Parent: 485ddb4b9741bafb70b22e5c1f9b4f37dc3e85bd Author: Nick Piggin [EMAIL PROTECTED] AuthorDate: Tue Mar 27 08:55:39 2007 +0200 Committer: Jens Axboe [EMAIL PROTECTED] CommitDate: Tue Mar 27 08:55:39 2007 +0200 2/2 splice: dont readpage Splice does not need to readpage to bring the page uptodate before writing to it, because prepare_write will take care of that for us. Splice is also wrong to SetPageUptodate before the page is actually uptodate. This results in the old uninitialised memory leak. This gets fixed as a matter of course when removing the readpage logic. Signed-off-by: Nick Piggin [EMAIL PROTECTED] Signed-off-by: Jens Axboe [EMAIL PROTECTED] --- fs/splice.c | 30 -- 1 files changed, 0 insertions(+), 30 deletions(-) diff --git a/fs/splice.c b/fs/splice.c index badc78f..ae50208 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -593,36 +593,6 @@ find_page: goto out; } - /* -* We get here with the page locked. If the page is also -* uptodate, we don't need to do more. If it isn't, we -* may need to bring it in if we are not going to overwrite -* the full page. -*/ - if (!PageUptodate(page)) { - if (this_len PAGE_CACHE_SIZE) { - ret = mapping-a_ops-readpage(file, page); - if (unlikely(ret)) - goto out; - - lock_page(page); - - if (!PageUptodate(page)) { - /* -* Page got invalidated, repeat. -*/ - if (!page-mapping) { - unlock_page(page); - page_cache_release(page); - goto find_page; - } - ret = -EIO; - goto out; - } - } else - SetPageUptodate(page); - } - ret = mapping-a_ops-prepare_write(file, page, offset, offset+this_len); if (unlikely(ret)) { loff_t isize = i_size_read(mapping-host); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] i386: Fix bogus return value in hpet_next_event()
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7f6d15ff2664467a2cb669abcabb5ffaf719b2d Commit: c7f6d15ff2664467a2cb669abcabb5ffaf719b2d Parent: e0ab0bb6d2b77917f4c31f157b2690602a5608f9 Author: Thomas Gleixner [EMAIL PROTECTED] AuthorDate: Tue Mar 27 09:08:26 2007 +0200 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:08:08 2007 -0700 [PATCH] i386: Fix bogus return value in hpet_next_event() The clockevents / tick management code expects an error value, when the event is already expired. hpet_next_event() returns 1 in that case. Fix it to return the proper -ETIME error code. Signed-off-by: Thomas Gleixner [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/i386/kernel/hpet.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/i386/kernel/hpet.c b/arch/i386/kernel/hpet.c index f3ab61e..76afea6 100644 --- a/arch/i386/kernel/hpet.c +++ b/arch/i386/kernel/hpet.c @@ -197,7 +197,7 @@ static int hpet_next_event(unsigned long delta, cnt += delta; hpet_writel(cnt, HPET_T0_CMP); - return ((long)(hpet_readl(HPET_COUNTER) - cnt ) 0); + return ((long)(hpet_readl(HPET_COUNTER) - cnt ) 0) ? -ETIME : 0; } /* - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] Revert swsusp: disable nonboot CPUs before entering platform suspend
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=436ce71638eceb0f9dd7608157807c37b29c3db7 Commit: 436ce71638eceb0f9dd7608157807c37b29c3db7 Parent: c7f6d15ff2664467a2cb669abcabb5ffaf719b2d Author: Rafael J. Wysocki [EMAIL PROTECTED] AuthorDate: Tue Mar 27 12:09:13 2007 +0200 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Mar 27 09:20:03 2007 -0700 [PATCH] Revert swsusp: disable nonboot CPUs before entering platform suspend This reverts commit 94985134b7b46848267ed6b734320db01c974e72 and insteads removes the WARN_ON() that caused that commit in the first place. The problem is that we call disable_nonboot_cpus() in swsusp before powering down the system in order to avoid triggering the WARN_ON() in arch/x86_64/kernel/acpi/sleep.c:init_low_mapping() and this doesn't work well on Thomas' system. So instead, remove the WARN_ON() in arch/x86_64/kernel/acpi/sleep.c: init_low_mapping(), which triggers every time during the suspend to disk in the platform mode, as the potential problem it is related to doesn't seem to occur in practice. [ I think we might want to disallow the case of multiple users of that mm, or something. Normally, playing with the current process page tables on the current CPU should be fine as long as we don't have other threads using those tables at the same time.. Anyway, not pretty, but better than the warning or the lockup - Linus ] Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/x86_64/kernel/acpi/sleep.c |4 +++- kernel/power/disk.c |1 - kernel/power/user.c |3 +-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/x86_64/kernel/acpi/sleep.c b/arch/x86_64/kernel/acpi/sleep.c index 23178ce..e1548fb 100644 --- a/arch/x86_64/kernel/acpi/sleep.c +++ b/arch/x86_64/kernel/acpi/sleep.c @@ -66,8 +66,10 @@ static void init_low_mapping(void) { pgd_t *slot0 = pgd_offset(current-mm, 0UL); low_ptr = *slot0; + /* FIXME: We're playing with the current task's page tables here, which +* is potentially dangerous on SMP systems. +*/ set_pgd(slot0, *pgd_offset(current-mm, PAGE_OFFSET)); - WARN_ON(num_online_cpus() != 1); local_flush_tlb(); } diff --git a/kernel/power/disk.c b/kernel/power/disk.c index dee0ff4..aec19b0 100644 --- a/kernel/power/disk.c +++ b/kernel/power/disk.c @@ -58,7 +58,6 @@ static inline int platform_prepare(void) static void power_down(suspend_disk_method_t mode) { - disable_nonboot_cpus(); switch(mode) { case PM_DISK_PLATFORM: if (pm_ops pm_ops-enter) { diff --git a/kernel/power/user.c b/kernel/power/user.c index bf211fe..7cf6713 100644 --- a/kernel/power/user.c +++ b/kernel/power/user.c @@ -401,10 +401,9 @@ static int snapshot_ioctl(struct inode *inode, struct file *filp, case PMOPS_ENTER: if (data-platform_suspend) { - disable_nonboot_cpus(); kernel_shutdown_prepare(SYSTEM_SUSPEND_DISK); error = pm_ops-enter(PM_SUSPEND_DISK); - enable_nonboot_cpus(); + error = 0; } break; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
V4L/DVB (5332): Ir_rc5_timer_end decoder lockup fix
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=726cf56f24cbadaad1719724a30c29eb92911524 Commit: 726cf56f24cbadaad1719724a30c29eb92911524 Parent: 703071b5b93d88d5acb0edd5b9dd86c69ad970f2 Author: Vincent Penne [EMAIL PROTECTED] AuthorDate: Sun Mar 25 11:58:23 2007 -0300 Committer: Mauro Carvalho Chehab [EMAIL PROTECTED] CommitDate: Tue Mar 27 08:45:53 2007 -0300 V4L/DVB (5332): Ir_rc5_timer_end decoder lockup fix ir_rc5_timer_end decoder lockup fix Signed-off-by: Vincent Penne [EMAIL PROTECTED] Signed-off-by: Hermann Pitton [EMAIL PROTECTED] Signed-off-by: Hartmut Hackmann [EMAIL PROTECTED] Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED] --- drivers/media/common/ir-functions.c |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/media/common/ir-functions.c b/drivers/media/common/ir-functions.c index cbf7c05..fcb1941 100644 --- a/drivers/media/common/ir-functions.c +++ b/drivers/media/common/ir-functions.c @@ -310,13 +310,15 @@ void ir_rc5_timer_end(unsigned long data) tv.tv_usec - ir-base_time.tv_usec; } - /* Allow some timmer jitter (RC5 is ~24ms anyway so this is ok) */ + /* signal we're ready to start a new code */ + ir-active = 0; + + /* Allow some timer jitter (RC5 is ~24ms anyway so this is ok) */ if (gap 28000) { dprintk(1, ir-common: spurious timer_end\n); return; } - ir-active = 0; if (ir-last_bit 20) { /* ignore spurious codes (caused by light/other remotes) */ dprintk(1, ir-common: short code: %x\n, ir-code); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
V4L/DVB (5390): Radio: Fix error in Kbuild file
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b10fece583fdfdb3d2f29b0da3896ec58b8fe122 Commit: b10fece583fdfdb3d2f29b0da3896ec58b8fe122 Parent: 726cf56f24cbadaad1719724a30c29eb92911524 Author: Trent Piepho [EMAIL PROTECTED] AuthorDate: Wed Mar 7 18:19:46 2007 -0300 Committer: Mauro Carvalho Chehab [EMAIL PROTECTED] CommitDate: Tue Mar 27 08:45:53 2007 -0300 V4L/DVB (5390): Radio: Fix error in Kbuild file All the radio drivers need video_dev, but they were depending on VIDEO_DEV!=n. That meant that one could try to compile the driver into the kernel when VIDEO_DEV=m, which will not work. If video_dev is a module, then the radio drivers must be modules too. Signed-off-by: Trent Piepho [EMAIL PROTECTED] Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED] --- drivers/media/radio/Kconfig |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig index 920b63f..af66a5d 100644 --- a/drivers/media/radio/Kconfig +++ b/drivers/media/radio/Kconfig @@ -3,7 +3,7 @@ # menu Radio Adapters - depends on VIDEO_DEV!=n + depends on VIDEO_DEV config RADIO_CADET tristate ADS Cadet AM/FM Tuner - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
V4L/DVB (5408): Fix SECAM handling on saa7115
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a9aaec4e83e687d23b78b38e331bbd6a10b96380 Commit: a9aaec4e83e687d23b78b38e331bbd6a10b96380 Parent: c278850206fd9df0bb62a72ca0b277fe20c5a452 Author: Mauro Carvalho Chehab [EMAIL PROTECTED] AuthorDate: Tue Mar 13 13:41:49 2007 -0300 Committer: Mauro Carvalho Chehab [EMAIL PROTECTED] CommitDate: Tue Mar 27 08:45:54 2007 -0300 V4L/DVB (5408): Fix SECAM handling on saa7115 Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED] --- drivers/media/video/saa7115.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/media/video/saa7115.c b/drivers/media/video/saa7115.c index 7735b67..4d5bbd8 100644 --- a/drivers/media/video/saa7115.c +++ b/drivers/media/video/saa7115.c @@ -961,7 +961,7 @@ static void saa711x_set_v4lstd(struct i2c_client *client, v4l2_std_id std) reg |= 0x10; } else if (std == V4L2_STD_NTSC_M_JP) { reg |= 0x40; - } else if (std == V4L2_STD_SECAM) { + } else if (std V4L2_STD_SECAM) { reg |= 0x50; } saa711x_write(client, R_0E_CHROMA_CNTL_1, reg); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
V4L/DVB (5415): Msp_attach must return 0 if no msp3400 was found.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3284b4e077cb2322754ea7455b8f8af7ce3777b8 Commit: 3284b4e077cb2322754ea7455b8f8af7ce3777b8 Parent: a9aaec4e83e687d23b78b38e331bbd6a10b96380 Author: Hans Verkuil [EMAIL PROTECTED] AuthorDate: Sat Mar 10 20:21:07 2007 -0300 Committer: Mauro Carvalho Chehab [EMAIL PROTECTED] CommitDate: Tue Mar 27 08:45:55 2007 -0300 V4L/DVB (5415): Msp_attach must return 0 if no msp3400 was found. Returning -1 causes the probe to stop, but it should just continue instead. Signed-off-by: Hans Verkuil [EMAIL PROTECTED] Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED] --- drivers/media/video/msp3400-driver.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/video/msp3400-driver.c b/drivers/media/video/msp3400-driver.c index 2fb9fe6..91078c0 100644 --- a/drivers/media/video/msp3400-driver.c +++ b/drivers/media/video/msp3400-driver.c @@ -825,7 +825,7 @@ static int msp_attach(struct i2c_adapter *adapter, int address, int kind) if (msp_reset(client) == -1) { v4l_dbg(1, msp_debug, client, msp3400 not found\n); kfree(client); - return -1; + return 0; } state = kmalloc(sizeof(*state), GFP_KERNEL); @@ -859,7 +859,7 @@ static int msp_attach(struct i2c_adapter *adapter, int address, int kind) v4l_dbg(1, msp_debug, client, not an msp3400 (cannot read chip version)\n); kfree(state); kfree(client); - return -1; + return 0; } msp_set_audio(client); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
V4L/DVB (5441): Saa7146: Fix allocation of clipping memory
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a7cd1920969dd9da4e0d99aab573b3eba24c799 Commit: 7a7cd1920969dd9da4e0d99aab573b3eba24c799 Parent: 21b48a70f7e26906d522c81b8b375b450a8f Author: Oliver Endriss [EMAIL PROTECTED] AuthorDate: Tue Mar 13 23:44:57 2007 -0300 Committer: Mauro Carvalho Chehab [EMAIL PROTECTED] CommitDate: Tue Mar 27 08:45:56 2007 -0300 V4L/DVB (5441): Saa7146: Fix allocation of clipping memory Olaf Hering pointed out that SAA7146_CLIPPING_MEM would become very large for PAGE_SIZE 4K. In fact, the number of clipping windows is limited to 16, and calculate_clipping_registers_rect() does not use more than 256 bytes. SAA7146_CLIPPING_MEM adjusted accordingly. Thanks-to: Olaf Hering [EMAIL PROTECTED] Acked-by: Michael Hunold [EMAIL PROTECTED] Signed-off-by: Oliver Endriss [EMAIL PROTECTED] Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED] --- include/media/saa7146_vv.h |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/include/media/saa7146_vv.h b/include/media/saa7146_vv.h index 83fe2e3..50e33b0 100644 --- a/include/media/saa7146_vv.h +++ b/include/media/saa7146_vv.h @@ -239,7 +239,8 @@ void saa7146_res_free(struct saa7146_fh *fh, unsigned int bits); #define SAA7146_HPS_SYNC_PORT_B0x01 /* some memory sizes */ -#define SAA7146_CLIPPING_MEM (14*PAGE_SIZE) +/* max. 16 clipping rectangles */ +#define SAA7146_CLIPPING_MEM (16 * 4 * sizeof(u32)) /* some defines for the various clipping-modes */ #define SAA7146_CLIPPING_RECT 0x4 - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
V4L/DVB (5472): Isl6421: don't reference freed memory
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09d4895488d4df5c58b739573846f514ceabc911 Commit: 09d4895488d4df5c58b739573846f514ceabc911 Parent: 7a7cd1920969dd9da4e0d99aab573b3eba24c799 Author: Thomas Viehweger [EMAIL PROTECTED] AuthorDate: Thu Mar 22 11:20:32 2007 -0300 Committer: Mauro Carvalho Chehab [EMAIL PROTECTED] CommitDate: Tue Mar 27 08:45:56 2007 -0300 V4L/DVB (5472): Isl6421: don't reference freed memory After freeing a block there should be no reference to this block. Signed-off-by: Thomas Viehweger [EMAIL PROTECTED] Signed-off-by: Michael Krufky [EMAIL PROTECTED] Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED] --- drivers/media/dvb/frontends/isl6421.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/media/dvb/frontends/isl6421.c b/drivers/media/dvb/frontends/isl6421.c index ef31936..c967148 100644 --- a/drivers/media/dvb/frontends/isl6421.c +++ b/drivers/media/dvb/frontends/isl6421.c @@ -122,6 +122,7 @@ struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter /* detect if it is present or not */ if (isl6421_set_voltage(fe, SEC_VOLTAGE_OFF)) { kfree(isl6421); + fe-sec_priv = NULL; return NULL; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[SCSI] lpfc: avoid double-free during PCI error failure
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5daa49ef05c44ce94bed0bab0f9ba4a9e952863b Commit: 5daa49ef05c44ce94bed0bab0f9ba4a9e952863b Parent: be521466feb3bb1cd89de82a2b1d080e9ebd3cb6 Author: Linas Vepstas [EMAIL PROTECTED] AuthorDate: Thu Mar 8 16:19:11 2007 -0600 Committer: James Bottomley [EMAIL PROTECTED] CommitDate: Sun Mar 11 10:42:17 2007 -0500 [SCSI] lpfc: avoid double-free during PCI error failure If a PCI error is detected that cannot be recovered from, there will be a double call of lpfc_pci_remove_one(), with the second call resulting in a null-pointer dereference. The first call occurs in lpfc_io_error_detected(), and the second call during pci device remove. This patch eliminates the first call; its un-needed. Signed-off-by: Linas Vepstas [EMAIL PROTECTED] Acked-by: James Smart [EMAIL PROTECTED] Signed-off-by: James Bottomley [EMAIL PROTECTED] --- drivers/scsi/lpfc/lpfc_init.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 9d014e5..057fd7e 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -1817,10 +1817,9 @@ static pci_ers_result_t lpfc_io_error_detected(struct pci_dev *pdev, struct lpfc_sli *psli = phba-sli; struct lpfc_sli_ring *pring; - if (state == pci_channel_io_perm_failure) { - lpfc_pci_remove_one(pdev); + if (state == pci_channel_io_perm_failure) return PCI_ERS_RESULT_DISCONNECT; - } + pci_disable_device(pdev); /* * There may be I/Os dropped by the firmware. - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html