11 Jan, 2006

40 commits

  • The comment in compat.c is wrong, every architecture provides a
    get_compat_sigevent() for the IPC compat code already.

    This basically moves the x86_64 version to common code and removes all the
    others.

    Signed-off-by: Christoph Hellwig
    Acked-by: Paul Mackerras
    Cc: Arnd Bergmann
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Acked-by: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • The only own ioctl, TAPE390_DISPLAY, is compat_clean, everything else is
    routed through common translation code.

    Signed-off-by: Christoph Hellwig
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • These ioctls are definitely not compat clean, but we already have a proper
    handler in common code, over-riding it in architecture code is
    counter-productive.

    Signed-off-by: Christoph Hellwig
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Again easy because all ioctls are compat clean.

    Signed-off-by: Christoph Hellwig
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • This patch __deprecated_for_modules the lookup_hash() prototype.

    Signed-off-by: Adrian Bunk
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • All callers use touch_atime now which takes a vfsmount and allows us to
    implement per-mount noatime.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • After my lookup_hash patch ->d_revalidate always gets a valid struct nameidata
    passed (unless you use lookup_one_len which autofs4 doesn't), so we can switch
    it from update_atime to touch_atime. This is a bit of an academic excercise
    because autofs has a 1:1 vfsmount superblock relation, but I want to get rid
    of update_atime so filesystems authors can't easily screw up per-mountpoint
    noatime support.

    Signed-off-by: Christoph Hellwig
    Cc: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • To allow various options to work per-mount instead of per-sb we need a
    struct vfsmount when updating ctime and mtime. This preparation patch
    replaces the inode_update_time routine with a file_update_atime routine so
    we can easily get at the vfsmount. (and the file makes more sense in this
    context anyway). Also get rid of the unused second argument - we always
    want to update the ctime when calling this routine.

    Signed-off-by: Christoph Hellwig
    Cc: Al Viro
    Cc: Anton Altaparmakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • remove checks now in the VFS

    XFS has an additional xattr interface through obscure ioctl. it requires
    raised capabilities but we need to add some read-only/immutable checks anyway

    Signed-off-by: Christoph Hellwig
    Cc: Nathan Scott
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • remove checks now in the VFS

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • )

    From: Christoph Hellwig

    remove checks now in the VFS

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • )

    From: Christoph Hellwig

    remove checks now in the VFS

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • remove checks now in the VFS

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • )

    From: Christoph Hellwig

    The xattr code has rather complex permission checks because the rules are very
    different for different attribute namespaces. This patch moves as much as we
    can into the generic code. Currently all the major disk based filesystems
    duplicate these checks, while many minor filesystems or network filesystems
    lack some or all of them.

    To do this we need defines for the extended attribute names in common code, I
    moved them up from JFS which had the nicest defintions.

    Signed-off-by: Christoph Hellwig
    Acked-by: Dave Kleikamp
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • Add vfs_getxattr, vfs_setxattr and vfs_removexattr helpers for common checks
    around invocation of the xattr methods. NFSD already was missing some of the
    checks and there will be more soon.

    Signed-off-by: Christoph Hellwig
    Cc: James Morris

    (James, I haven't touched selinux yet because it's doing various odd things
    and I'm not sure how it would interact with the security attribute fallbacks
    you added. Could you investigate whether it could use vfs_getxattr or if not
    add a __vfs_getxattr helper to share the bits it is fine with?)

    For NFSv4: instead of just converting it add an nfsd_getxattr helper for the
    code shared by NFSv2/3 and NFSv4 ACLs. In fact that code isn't even
    NFS-specific, but I'll wait for more users to pop up first before moving it to
    common code.

    Signed-off-by: Christoph Hellwig
    Acked-by: Dave Kleikamp
    Signed-off-by: Adrian Bunk
    Signed-off-by: Neil Brown
    Cc: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Update the kdump documentation to reflect the changes due to recent kernel
    config option changes for kexec and kdump.

    Signed-off-by: Maneesh Soni
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maneesh Soni
     
  • I have heard some complaints about people not finding CONFIG_CRASH_DUMP
    option and also some objections about its dependency on CONFIG_EMBEDDED.
    The following patch ends that dependency. I thought of hiding it under
    CONFIG_KEXEC, but CONFIG_PHYSICAL_START could also be used for some reasons
    other than kexec/kdump and hence left it visible. I will also update the
    documentation accordingly.

    o Following patch removes the config dependency of CONFIG_PHYSICAL_START
    on CONFIG_EMBEDDED. The reason being CONFIG_CRASH_DUMP option for
    kdump needs CONFIG_PHYSICAL_START which makes CONFIG_CRASH_DUMP depend
    on CONFIG_EMBEDDED. It is not always obvious for kdump users to choose
    CONFIG_EMBEDDED.

    o It also shifts the palce where this option appears, to make it closer
    to kexec and kdump options.

    Signed-off-by: Maneesh Soni
    Cc: "Eric W. Biederman"
    Cc: Haren Myneni
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maneesh Soni
     
  • )

    From: Vivek Goyal

    - In some cases, the number of segments, on a kexec load, exceeds the
    existing cap of 8. This patch increases the KEXEC_SEGMENT_MAX limit from 8
    to 16.

    Signed-off-by: Rachita Kothiyal
    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • - Moving the crash_dump.c file to arch dependent part as kmap_atomic_pfn is
    specific to i386 and highmem may not exist in other archs.

    - Use ioremap for x86_64 to map the previous kernel memory.

    - In copy_oldmem_page(), we now directly copy to the user/kernel buffer and
    avoid the unneccesary copy to a kmalloc'd page.

    Signed-off-by: Rachita Kothiyal
    Signed-off-by: Vivek Goyal
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • - Saving the cpu registers of all cpus before booting in to the crash
    kernel.

    - crash_setup_regs will save the registers of the cpu on which panic has
    occured. One of the concerns ppc64 folks raised is that after capturing the
    register states, one should not pop the current call frame and push new one.
    Hence it has been inlined. More call frames later get pushed on to stack
    (machine_crash_shutdown() and machine_kexec()), but one will not want to
    backtrace those.

    - Not very sure about the CFI annotations. With this patch I am getting
    decent backtrace with gdb. Assuming, compiler has generated enough
    debugging information for crash_kexec(). Coding crash_setup_regs() in pure
    assembly makes it tricky because then it can not be inlined and we don't
    want to return back after capturing register states we don't want to pop
    this call frame.

    - Saving the non-panicing cpus registers will be done in the NMI handler
    while shooting down them in machine_crash_shutdown.

    - Introducing CRASH_DUMP option in Kconfig for x86_64.

    Signed-off-by: Murali M Chakravarthy
    Signed-off-by: Vivek Goyal
    Cc: Andi Kleen
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • )

    From: Vivek Goyal

    - Implementing the machine_crash_shutdown for x86_64 which will be called by
    crash_kexec (called in case of a panic, sysrq etc.). Here we do things
    similar to i386. Disable the interrupts, shootdown the cpus and shutdown
    LAPIC and IOAPIC.

    Changes in this version:

    - As the Eric's APIC initialization patches are reverted back, reintroducing
    LAPIC and IOAPIC shutdown.

    - Added some comments on CPU hotplug, modified code as suggested by Andi
    kleen.

    Signed-off-by: Murali M Chakravarthy
    Signed-off-by: Vivek Goyal
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • - elfcorehdr= specifies the location of elf core header stored by the
    crashed kernel. This command line option will be passed by the kexec-tools
    to capture kernel.

    Changes in this version :

    - Added more comments in kernel-parameters.txt and in code.

    Signed-off-by: Murali M Chakravarthy
    Signed-off-by: Vivek Goyal
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • )

    From: Vivek Goyal

    - This patch introduces the memmap option for x86_64 similar to i386.

    - memmap=exactmap enables setting of an exact E820 memory map, as specified
    by the user.

    Changes in this version:

    - Used e820_end_of_ram() to find the max_pfn as suggested by Andi kleen.

    - removed PFN_UP & PFN_DOWN macros

    - Printing the user defined map also.

    Signed-off-by: Murali M Chakravarthy
    Signed-off-by: Hariprasad Nellitheertha
    Signed-off-by: Vivek Goyal
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • )

    From: Vivek Goyal

    crash_setup_regs() is an architecture dependent function which is called in
    architecture independent section. So every architecture supporting kexec
    should at least provide a dummy definition of crash_setup_regs() even if
    crash dumping is not implemented yet, to avoid build failures.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • Fixes a compilation warning message in i386

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • - If system panics then cpu register states are captured through funciton
    crash_get_current_regs(). This is not a inline function hence a stack frame
    is pushed on to the stack and then cpu register state is captured. Later
    this frame is popped and new frames are pushed (machine_kexec).

    - In theory this is not very right as we are capturing register states for a
    frame and that frame is no more valid. This seems to have created back
    trace problems for ppc64.

    - This patch fixes it up. The very first thing it does after entering
    crash_kexec() is to capture the register states. Anyway we don't want the
    back trace beyond crash_kexec(). crash_get_current_regs() has been made
    inline

    - crash_setup_regs() is the top architecture dependent function which should
    be responsible for capturing the register states as well as to do some
    architecture dependent tricks. For ex. fixing up ss and esp for i386.
    crash_setup_regs() has also been made inline to ensure no new call frame is
    pushed onto stack.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • Removes the call to get_cpu() and put_cpu() as it is not required.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • - Kexec on panic functionality allocates memory for saving cpu registers in
    case of system crash event. Address of this allocated memory needs to be
    exported to user space, which is used by kexec-tools.

    - Previously, a single /sys/kernel/crash_notes entry was being exported as
    memory allocated was a single continuous array. Now memory allocation being
    dyanmic and per cpu based, address of per cpu buffer is exported through
    "/sys/devices/system/cpu/cpuX/crash_notes"

    Signed-off-by: Vivek Goyal
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • - In case of system crash, current state of cpu registers is saved in memory
    in elf note format. So far memory for storing elf notes was being allocated
    statically for NR_CPUS.

    - This patch introduces dynamic allocation of memory for storing elf notes.
    It uses alloc_percpu() interface. This should lead to better memory usage.

    - Introduced based on Andi Kleen's and Eric W. Biederman's suggestions.

    - This patch also moves memory allocation for elf notes from architecture
    dependent portion to architecture independent portion. Now crash_notes is
    architecture independent. The whole idea is that size of memory to be
    allocated per cpu (MAX_NOTE_BYTES) can be architecture dependent and
    allocation of this memory can be architecture independent.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • )

    From: Vivek Goyal

    This patch fixes a minor bug based on Andi Kleen's suggestion. asm's can't be
    broken in this particular case, hence merging them.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • Do it via Kconfig rather than via #error.

    Signed-off-by: Alexey Dobriyan
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • )

    From: Brian Gerst

    Call sched_setscheduler() directly instead.

    Signed-off-by: Brian Gerst
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • )

    From: Adrian Bunk

    - create one common dump_thread() prototype in kernel.h

    - dump_thread() is only used in fs/binfmt_aout.c and can therefore be
    removed on all architectures where CONFIG_BINFMT_AOUT is not
    available

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • ...
    CC [M] drivers/char/ipmi/ipmi_msghandler.o
    drivers/char/ipmi/ipmi_msghandler.c:3301: `proc_ipmi_root' undeclared here (not in a function)
    drivers/char/ipmi/ipmi_msghandler.c:3301: initializer element is not constant
    drivers/char/ipmi/ipmi_msghandler.c:3301: (near initialization for `__ksymtab_proc_ipmi_root.value')
    drivers/char/ipmi/ipmi_msghandler.c:1535: warning: `ipmb_file_read_proc' defined but not used
    drivers/char/ipmi/ipmi_msghandler.c:1551: warning: `version_file_read_proc' defined but not used
    drivers/char/ipmi/ipmi_msghandler.c:1561: warning: `stat_file_read_proc' defined but not used
    ...
    CC [M] drivers/char/ipmi/ipmi_poweroff.o
    drivers/char/ipmi/ipmi_poweroff.c: In function `ipmi_poweroff_init':
    drivers/char/ipmi/ipmi_poweroff.c:616: warning: implicit declaration of function `unregister_sysctl_table'
    drivers/char/ipmi/ipmi_poweroff.c:616: `ipmi_table_header' undeclared (first use in this function)
    drivers/char/ipmi/ipmi_poweroff.c:616: (Each undeclared identifier is reported only once
    drivers/char/ipmi/ipmi_poweroff.c:616: for each function it appears in.)

    Signed-off-by: Adrian Bunk
    Cc: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Especially useful when users have booted with 'quiet'. In the regular 'oops'
    path, we set the console_loglevel before we start spewing debug info, but we
    can call the backtrace code from other places now too, such as the spinlock
    debugging code.

    Signed-off-by: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • Signed-off-by: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • Add list_for_each_entry_safe_reverse() to linux/list.h

    This is needed by unmerged cachefs and be an as-yet-unreviewed
    device_shutdown() fix.

    Signed-off-by: David Howells
    Cc: Patrick Mochel
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     
  • A simple driver for the CS5535 and CS5536 that allows a user-space program
    to manipulate GPIO pins. The CS5535/CS5536 chips are Geode processor
    companion devices.

    Signed-off-by: Ben Gardner
    Signed-off-by: Richard Knutsson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Gardner
     
  • dev->get_wireless_stats is deprecated but removing it also removes wireless
    subdirectory in sysfs. This patch puts it back.

    akpm: I don't know what's happening here. This might be appropriate as a
    2.6.15.x compatibility backport. Waiting to hear from Jeff.

    Signed-off-by: Andrey Borzenkov
    Cc: "David S. Miller"
    Cc: Jeff Garzik
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Borzenkov
     
  • Recent X "nv" driver was fixed for various issues with modern 6xxx and 7xxx
    cards. This patch ports those fixes to nvidiafb. This makes it work fine
    on the 6600 bundled with the newest G5 macs. I've verified it still works
    on the 5200FX of the iMacG5.

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt