linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Linux v2.6.8
@ 2004-08-14  6:05 Linus Torvalds
  2004-08-14 10:10 ` Linux v2.6.8 - Oops on NFSv3 Willy Tarreau
                   ` (4 more replies)
  0 siblings, 5 replies; 39+ messages in thread
From: Linus Torvalds @ 2004-08-14  6:05 UTC (permalink / raw)
  To: Kernel Mailing List



The major patches since -rc4 were some sparc64 and parsic updates, but 
there's some network driver and SATA updates and a few ARM patches too. 
And a use-after-free fix in MTD.

		Linus


Summary of changes from v2.6.8-rc4 to v2.6.8
============================================

<jwboyer:infradead.org>:
  o Restore physmap configure-time settings according to user requests

<sm0407:nurfuerspam.de>:
  o cdrom: MO-drive open write fix

Aaron Grothe:
  o [CRYPTO]: Add Khazad algorithm

Andrew Chew:
  o [libata sata_nv] support for hardware, bug fixes
  o [libata] unmap MMIO region _after_ last possible usage

Andrew Morton:
  o bk-netdev-axnet_cs-fix
  o bk-netdev-hp-plus-fix

Catalin Marinas:
  o [ARM PATCH] 2012/1: Use -malignment-traps instead of
    -mshort-load-bytes if gcc supports it

Dave Hansen:
  o 4kstacks: fix compile with gcc 2.95

David S. Miller:
  o [SPARC64]: Eliminate costly sdivx from gettimeofday
  o [SPARC64]: Implement tlb flush batching just like ppc64
  o [SPARC64]: Need flush_tlb_pending() in switch_to()
  o [SPARC64]: Kill TLB rtrap debug code
  o [SPARC64]: Update defconfig
  o [SPARC64]: Always record actual PC when kernel profiling
  o [SPARC64]: Make clear_user_page more leight weight
  o [SPARC64]: Fix up copy_page just like clear_page
  o [SPARC64]: Remove memcpy Ultra3 PCACHE patching trick
  o [SPARC64]: Use saner local label names in Ultra3 copies
  o [SPARC64]: More entropy in add_timer_randomness
  o [SPARC64]: Fix spitfire bugs in tlb flush and copy_page changes
  o [SPARC64]: Kill swapper_space test in arch/sparc64/mm/tlb.c
  o [SPARC64]: Change TIF_BLKCOMMIT into a fault code
  o [SPARC64]: Update defconfig
  o [SPARC64]: Fix non-SMP build

David Woodhouse:
  o Fix use-after-free bug in MTD partitioning code
  o Cosmetic MTD changes -- update email address and idents
  o M-Systems DiskOnChip driver update
  o RedBoot flash partitioning: use vmalloc for buffer
  o Export new mtd_erase_callback() function
  o Fix MTD partitioning modular build

Eugene Surovegin:
  o [IPSEC]: Add missing flow_cache_genid update to
    xfrm_policy_delete()

Jens Axboe:
  o export kblockd_schedule_work()
  o setup queue before elevator_init()

Linus Torvalds:
  o Be a bit more anal about allowing SCSI commands to be sent
  o Pass done file pointer to block device ioctl's
  o Allow non-root users certain raw commands if they are deemed safe
  o Linux 2.6.8

Marc Singer:
  o [ARM PATCH] 2001/1: lh7a40x IDE cleanup
  o [ARM PATCH] 2002/1: lh7a40x Timer fixup

Margit Schubert-While:
  o prism54 Clarification to Viro's patch
  o prism54 URGENT - Fix IRQ handling
  o prism54 Fix memory leaks
  o prism54 Fix supported rates reporting

Martin Devera:
  o [PKT_SCHED]: Fix borrowing fairness in htb

Mathieu LESNIAK:
  o wrong mac address with netgear FA311 ethernet card

Matthew Wilcox:
  o Remove fcntl f_op
  o PA-RISC update
  o lasi_82596 update

Neil Brown:
  o Fix unsigned underflow in xdr decoding

Patrick McHardy:
  o [PKT_SCHED]: Disable local bh's when grabbing qdisc_tree_lock in
    tc_dump_tfilter

Pawel Sikora:
  o [NET]: Kill stray NET_FASTROUTE references

Roger Luethi:
  o via-rhine: Really call rhine_power_init()

Russell King:
  o [PCMCIA] pd6729: add MODULE_DESCRIPTION and MODULE_AUTHOR, fix
    comment style

Simon Kelley:
  o Atmel wireless bigendian fix

Stephen Hemminger:
  o [VLAN]: Propagate ethtool/mii ioctls to the real device
  o [VLAN]: Mirror real devices carrier and hotplug state
  o [VLAN]: Use RCU for group operations
  o [VLAN]: Fix device refcount bug
  o [BRIDGE]: Fix problems with filtering and defragmentation

Tom Rini:
  o Remove CONFIG_SERIAL_8250_MANY_PORTS from Ebony / Ocotea
  o ppc32: Fix warning on CONFIG_PPC32 && CONFIG_6xx


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14  6:05 Linux v2.6.8 Linus Torvalds
@ 2004-08-14 10:10 ` Willy Tarreau
  2004-08-14 10:19   ` Willy Tarreau
                     ` (2 more replies)
  2004-08-14 10:19 ` [patch 2.6.8-rc4-mm1] via-velocity: wrong module name in Kconfig documentation Francois Romieu
                   ` (3 subsequent siblings)
  4 siblings, 3 replies; 39+ messages in thread
From: Willy Tarreau @ 2004-08-14 10:10 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Kernel Mailing List

Hi Linus & All,

I've just compiled and booted 2.6.8 on my dual athlon. Everything went
OK before I logged in as a non-root user whose home is mounted from
another linux box over NFSv3/UDP.

I got this oops :

<-----------
Unable to handle kernel NULL pointer dereference at virtual address 00000014
 printing eip:
c01f1e76
*pde = 00000000
Oops: 0002 [#1]
PREEMPT SMP
Modules linked in: usbmouse ohci_hcd usbcore e1000 snd_seq_midi snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul snd_emu10k1 snd_rawmidi snd_ac97_codec snd_util_mem snd_hwdep snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_pcm snd_page_alloc snd_timer snd_mixer_oss snd soundcore
w83781d i2c_sensor i2c_amd756 i2c_core bsd_comp ppp_generic slhc
CPU:    1
EIP:    0060:[<c01f1e76>]    Not tainted
EFLAGS: 00010296   (2.6.8)
EIP is at nfs3_request_init+0x16/0x20
eax: 00000000   ebx: d5496620   ecx: 00000000   edx: df614880
esi: dc262000   edi: dbb4bd68   ebp: 00000000   esp: dc263c44
ds: 007b   es: 007b   ss: 0068
Process bash (pid: 460, threadinfo=dc262000 task=dfc3d730)
Stack: dff96e00 c01ea7e8 d5496620 df614880 00000174 dbb4bd68 c12bd3c0 dc263cb0
       d5496620 c01ed162 df614880 dbb4bd68 c12bd3c0 00000000 00000174 c12bd3d8
       c12bd3c0 dc263dd0 dc263cb0 c014170c dc263d20 c12bd3c0 dc263d28 dc263d28
Call Trace:
 [<c01ea7e8>] nfs_create_request+0xd8/0xf0
 [<c01ed162>] readpage_async_filler+0x52/0x100
 [<c014170c>] read_cache_pages+0xac/0x160
 [<c011e6b0>] autoremove_wake_function+0x0/0x40
 [<c012985e>] recalc_sigpending+0xe/0x10
 [<c03e3923>] rpc_call_sync+0x93/0xb0
 [<c01ed29c>] nfs_readpages+0x8c/0xc0
 [<c01ed110>] readpage_async_filler+0x0/0x100
 [<c01417f5>] read_pages+0x35/0x130
 [<c013eac4>] __alloc_pages+0xc4/0x320
 [<c013ed0f>] __alloc_pages+0x30f/0x320
 [<c0141cf2>] do_page_cache_readahead+0x1b2/0x1e0
 [<c0141e5b>] page_cache_readahead+0x13b/0x1c0
 [<c013ae88>] do_generic_mapping_read+0xb8/0x410
 [<c013b488>] __generic_file_aio_read+0x1d8/0x200
 [<c013b1e0>] file_read_actor+0x0/0xd0
 [<c013b4f5>] generic_file_aio_read+0x45/0x50
 [<c01e6128>] nfs_file_read+0xb8/0xd0
 [<c0157e6a>] do_sync_read+0x7a/0xb0
 [<c0157f55>] vfs_read+0xb5/0xf0
 [<c0158170>] sys_read+0x40/0x70
 [<c01059e3>] syscall_call+0x7/0xb
Code: f0 ff 40 14 89 43 18 5b c3 90 8b 4c 24 04 8b 51 0c 3b 54 24

>>EIP; c01f1e76 <nfs3_request_init+16/20>   <=====
Code;  c01f1e76 <nfs3_request_init+16/20>
00000000 <_EIP>:
Code;  c01f1e76 <nfs3_request_init+16/20>   <=====
   0:   f0 ff 40 14               lock incl 0x14(%eax)   <=====
Code;  c01f1e7a <nfs3_request_init+1a/20>
   4:   89 43 18                  mov    %eax,0x18(%ebx)
Code;  c01f1e7d <nfs3_request_init+1d/20>
   7:   5b                        pop    %ebx
Code;  c01f1e7e <nfs3_request_init+1e/20>
   8:   c3                        ret
Code;  c01f1e7f <nfs3_request_init+1f/20>
   9:   90                        nop
Code;  c01f1e80 <nfs3_request_compatible+0/60>
   a:   8b 4c 24 04               mov    0x4(%esp,1),%ecx
Code;  c01f1e84 <nfs3_request_compatible+4/60>
   e:   8b 51 0c                  mov    0xc(%ecx),%edx
Code;  c01f1e87 <nfs3_request_compatible+7/60>
  11:   3b 54 24 00               cmp    0x0(%esp,1),%edx
----------->

Extracts from the functions where the oops occured :

void
nfs3_request_init(struct nfs_page *req, struct file *filp)
{
        req->wb_cred = get_rpccred(nfs_cred(req->wb_inode, filp));
}

static inline
struct rpc_cred *       get_rpccred(struct rpc_cred *cred)
{
        atomic_inc(&cred->cr_count);
        return cred;
}

static struct rpc_cred *
nfs_cred(struct inode *inode, struct file *filp)
{
        struct rpc_cred *cred = NULL;

        if (filp)
                cred = (struct rpc_cred *)filp->private_data;
        if (!cred)
                cred = NFS_I(inode)->mm_cred;
        return cred;
}

static inline struct nfs_inode *NFS_I(struct inode *inode)
{
        return container_of(inode, struct nfs_inode, vfs_inode);
}

So it seems to me that both (filp or filp->private_data) and
NFS_I(req->wb_inode)->mm_cred were NULL. I don't know if this
is a permitted situation, but directly calling get_rpccred()
from this leads to this oops.

Last 2.6 kernel I tried on this machine was 2.6.7, and I did
not notice this oops. Unfortunately, I don't have enough time
to dig through the large patch (19MB uncompressed), nor to try
different configurations. But this seems reproducible anytime
I try to access a file over NFSv3. Directory listings seem OK
at the moment. I've not tested other combinations of NFS/config
either (I'm typing this mail from the machine, so I don't want
to risk retyping everything). Since it's reproducible on a
single request, I don't think that PREEMPT/SMP has anything to
do with this.

I can send other informations if needed. If anyone wants to
suggest a patch, I can give it a try, but I won't have much
time to help debugging this, unfortunately.

Cheers,
Willy

.config used :

#
# Automatically generated make config: don't edit
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y

#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_HOTPLUG=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_SMP=y
CONFIG_NR_CPUS=2
# CONFIG_SCHED_SMT is not set
CONFIG_PREEMPT=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
# CONFIG_X86_MCE_P4THERMAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y

#
# Firmware Drivers
#
CONFIG_EDD=y
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_IRQBALANCE=y
CONFIG_HAVE_DEC_LOCK=y
# CONFIG_REGPARM is not set

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_SOFTWARE_SUSPEND is not set
# CONFIG_PM_DISK is not set

#
# ACPI (Advanced Configuration and Power Interface) Support
#
# CONFIG_ACPI is not set
CONFIG_ACPI_BOOT=y

#
# APM (Advanced Power Management) BIOS Support
#
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
CONFIG_APM_DO_ENABLE=y
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
# CONFIG_APM_REAL_MODE_POWER_OFF is not set

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
CONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

#
# PCMCIA/CardBus support
#
# CONFIG_PCMCIA is not set
CONFIG_PCMCIA_PROBE=y

#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_PC_CML1=m
# CONFIG_PARPORT_SERIAL is not set
CONFIG_PARPORT_PC_FIFO=y
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_OTHER is not set
CONFIG_PARPORT_1284=y

#
# Plug and Play support
#
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
# CONFIG_ISAPNP is not set
# CONFIG_PNPBIOS is not set

#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
# CONFIG_LBD is not set

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=y
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_TASKFILE_IO=y

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=y

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
# CONFIG_AIC7XXX_BUILD_FIRMWARE is not set
CONFIG_AIC7XXX_DEBUG_ENABLE=y
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
# CONFIG_IP_ROUTE_VERBOSE is not set
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
# CONFIG_NET_IPGRE_BROADCAST is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set

#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_TUNNEL=m
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_BRIDGE_NETFILTER=y

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=y
CONFIG_IP_NF_MATCH_IPRANGE=y
CONFIG_IP_NF_MATCH_MAC=y
CONFIG_IP_NF_MATCH_PKTTYPE=y
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_RECENT=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_DSCP=y
CONFIG_IP_NF_MATCH_AH_ESP=y
CONFIG_IP_NF_MATCH_LENGTH=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_MATCH_TCPMSS=y
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_MATCH_PHYSDEV=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_IP_NF_NAT_LOCAL=y
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_DSCP=y
CONFIG_IP_NF_TARGET_MARK=y
CONFIG_IP_NF_TARGET_CLASSIFY=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=y
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_IP_NF_TARGET_NOTRACK=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_MATCH_REALM=m

#
# IPv6: Netfilter Configuration
#
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_LIMIT=m
CONFIG_IP6_NF_MATCH_MAC=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_MULTIPORT=m
CONFIG_IP6_NF_MATCH_OWNER=m
CONFIG_IP6_NF_MATCH_MARK=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_AHESP=m
CONFIG_IP6_NF_MATCH_LENGTH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_TARGET_MARK=m
CONFIG_IP6_NF_RAW=m

#
# Bridge: Netfilter Configuration
#
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=y
# CONFIG_DECNET is not set
CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
CONFIG_NET_DIVERT=y
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_HW_FLOWCONTROL is not set

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
CONFIG_BONDING=m
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_ETHERTAP is not set
# CONFIG_NET_SB1000 is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not set
# CONFIG_EL2 is not set
# CONFIG_ELPLUS is not set
# CONFIG_EL16 is not set
# CONFIG_EL3 is not set
# CONFIG_3C515 is not set
CONFIG_VORTEX=m
# CONFIG_TYPHOON is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set

#
# Tulip family network device support
#
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
CONFIG_TULIP=m
CONFIG_TULIP_MWI=y
# CONFIG_TULIP_MMIO is not set
# CONFIG_TULIP_NAPI is not set
# CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
# CONFIG_AMD8111_ETH is not set
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_ADAPTEC_STARFIRE_NAPI=y
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_CS89x0 is not set
# CONFIG_DGRS is not set
CONFIG_EEPRO100=m
# CONFIG_EEPRO100_PIO is not set
CONFIG_E100=m
CONFIG_E100_NAPI=y
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
CONFIG_DL2K=m
CONFIG_E1000=m
CONFIG_E1000_NAPI=y
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
CONFIG_TIGON3=m

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set

#
# ATM drivers
#
# CONFIG_ATM_TCP is not set
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_FIRESTREAM is not set
# CONFIG_ATM_ZATM is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_AMBASSADOR is not set
# CONFIG_ATM_HORIZON is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E_MAYBE is not set
# CONFIG_ATM_HE is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPPOE=m
CONFIG_PPPOATM=m
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
CONFIG_SERIO_PCIPS2=y

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
CONFIG_INPUT_UINPUT=y

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set
# CONFIG_QIC02_TAPE is not set

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I8XX_TCO is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_SCx200_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
CONFIG_W83627HF_WDT=m
# CONFIG_W83877F_WDT is not set
# CONFIG_MACHZ_WDT is not set

#
# ISA-based Watchdog Cards
#
# CONFIG_PCWATCHDOG is not set
# CONFIG_MIXCOMWD is not set
# CONFIG_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_HW_RANDOM=m
CONFIG_NVRAM=y
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
CONFIG_SONYPI=y

#
# Ftape, the floppy tape device driver
#
CONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
CONFIG_AGP_AMD=y
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_INTEL_MCH is not set
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_GAMMA is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
CONFIG_DRM_MGA=y
# CONFIG_DRM_SIS is not set
# CONFIG_MWAVE is not set
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
CONFIG_HANGCHECK_TIMER=m

#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
# CONFIG_I2C_ALGOPCF is not set

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
CONFIG_I2C_AMD756=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_ISA is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set

#
# Hardware Sensors Chip support
#
CONFIG_I2C_SENSOR=m
CONFIG_SENSORS_ADM1021=m
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_IT87 is not set
CONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_LM77 is not set
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
# CONFIG_SENSORS_LM85 is not set
CONFIG_SENSORS_LM90=m
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_VIA686A is not set
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83627HF=m

#
# Other I2C Chip support
#
CONFIG_SENSORS_EEPROM=m
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
CONFIG_VIDEO_DEV=y

#
# Video For Linux
#

#
# Video Adapters
#
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_PMS is not set
# CONFIG_VIDEO_BWQCAM is not set
# CONFIG_VIDEO_CQCAM is not set
# CONFIG_VIDEO_W9966 is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_SAA5246A is not set
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_TUNER_3036 is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_MEYE is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_DPC is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
# CONFIG_VIDEO_CX88 is not set
# CONFIG_VIDEO_OVCAMCHIP is not set

#
# Radio Adapters
#
# CONFIG_RADIO_CADET is not set
# CONFIG_RADIO_RTRACK is not set
# CONFIG_RADIO_RTRACK2 is not set
# CONFIG_RADIO_AZTECH is not set
# CONFIG_RADIO_GEMTEK is not set
# CONFIG_RADIO_GEMTEK_PCI is not set
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_MAESTRO is not set
# CONFIG_RADIO_SF16FMI is not set
# CONFIG_RADIO_SF16FMR2 is not set
# CONFIG_RADIO_TERRATEC is not set
# CONFIG_RADIO_TRUST is not set
# CONFIG_RADIO_TYPHOON is not set
# CONFIG_RADIO_ZOLTRIX is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
CONFIG_FB=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_VESA is not set
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_RIVA is not set
CONFIG_FB_MATROX=m
# CONFIG_FB_MATROX_MILLENIUM is not set
# CONFIG_FB_MATROX_MYSTIQUE is not set
CONFIG_FB_MATROX_G450=y
CONFIG_FB_MATROX_G100=y
CONFIG_FB_MATROX_I2C=m
CONFIG_FB_MATROX_MAVEN=m
# CONFIG_FB_MATROX_MULTIHEAD is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y

#
# Logo configuration
#
# CONFIG_LOGO is not set

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set

#
# Generic devices
#
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set

#
# ISA devices
#
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_INTERWAVE is not set
# CONFIG_SND_INTERWAVE_STB is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_WAVEFRONT is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set

#
# PCI devices
#
CONFIG_SND_AC97_CODEC=m
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
CONFIG_SND_EMU10K1=m
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
CONFIG_SND_CMIPCI=m
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set

#
# ALSA USB devices
#
# CONFIG_SND_USB_AUDIO is not set

#
# Open Sound System
#
CONFIG_SOUND_PRIME=m
# CONFIG_SOUND_BT878 is not set
CONFIG_SOUND_CMPCI=m
# CONFIG_SOUND_CMPCI_FM is not set
# CONFIG_SOUND_CMPCI_MIDI is not set
# CONFIG_SOUND_CMPCI_JOYSTICK is not set
CONFIG_SOUND_EMU10K1=m
# CONFIG_MIDI_EMU10K1 is not set
# CONFIG_SOUND_FUSION is not set
# CONFIG_SOUND_CS4281 is not set
# CONFIG_SOUND_ES1370 is not set
# CONFIG_SOUND_ES1371 is not set
# CONFIG_SOUND_ESSSOLO1 is not set
# CONFIG_SOUND_MAESTRO is not set
# CONFIG_SOUND_MAESTRO3 is not set
# CONFIG_SOUND_ICH is not set
# CONFIG_SOUND_SONICVIBES is not set
# CONFIG_SOUND_TRIDENT is not set
# CONFIG_SOUND_MSNDCLAS is not set
# CONFIG_SOUND_MSNDPIN is not set
# CONFIG_SOUND_VIA82CXXX is not set
# CONFIG_SOUND_OSS is not set
# CONFIG_SOUND_TVMIXER is not set
# CONFIG_SOUND_ALI5455 is not set
# CONFIG_SOUND_FORTE is not set
# CONFIG_SOUND_RME96XX is not set
# CONFIG_SOUND_AD1980 is not set

#
# USB support
#
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_SPLIT_ISO=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_UHCI_HCD=m

#
# USB Device Class drivers
#
CONFIG_USB_AUDIO=m
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_RW_DETECT=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
# CONFIG_USB_STORAGE_HP8200e is not set
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y

#
# USB Human Interface Devices (HID)
#
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y

#
# USB HID Boot Protocol drivers
#
CONFIG_USB_KBD=m
CONFIG_USB_MOUSE=m
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set

#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_DSBR is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
CONFIG_USB_PWC=m
# CONFIG_USB_SE401 is not set
# CONFIG_USB_SN9C102 is not set
# CONFIG_USB_STV680 is not set

#
# USB Network adaptors
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set

#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OMNINET is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
CONFIG_USB_SPEEDTOUCH=m
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_TEST is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=y
# CONFIG_XFS_RT is not set
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_SECURITY is not set
# CONFIG_XFS_POSIX_ACL is not set
CONFIG_MINIX_FS=y
# CONFIG_ROMFS_FS is not set
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
CONFIG_DEVPTS_FS_SECURITY=y
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
CONFIG_SMB_FS=m
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp437"
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_POSIX is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_EFI_PARTITION is not set

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
CONFIG_NLS_CODEPAGE_850=y
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y

#
# Profiling support
#
CONFIG_PROFILING=y
CONFIG_OPROFILE=m

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_FRAME_POINTER is not set
# CONFIG_4KSTACKS is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y

#
# Security options
#
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_CAPABILITIES=y
# CONFIG_SECURITY_ROOTPLUG is not set
# CONFIG_SECURITY_SELINUX is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
CONFIG_CRYPTO_AES_586=y
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_TEA=y
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
CONFIG_CRYPTO_DEFLATE=m
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set

#
# Library routines
#
CONFIG_CRC_CCITT=m
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_PC=y

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 10:10 ` Linux v2.6.8 - Oops on NFSv3 Willy Tarreau
@ 2004-08-14 10:19   ` Willy Tarreau
  2004-08-14 10:34   ` Jeff Garzik
  2004-08-14 10:41   ` Linus Torvalds
  2 siblings, 0 replies; 39+ messages in thread
From: Willy Tarreau @ 2004-08-14 10:19 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Kernel Mailing List, trond.myklebust, jgarzik

Hi Again,

sorry for the noise, I've just found a similar report that Jeff sent
yesterday with a patch. I've applied it and it now runs reliably. It's
a bit of a shame that it didn't get into mainline just in time.

Cheers,
Willy

On Sat, Aug 14, 2004 at 12:10:39PM +0200, Willy Tarreau wrote:
> Hi Linus & All,
> 
> I've just compiled and booted 2.6.8 on my dual athlon. Everything went
> OK before I logged in as a non-root user whose home is mounted from
> another linux box over NFSv3/UDP.
> 
> I got this oops :
> 
> <-----------
> Unable to handle kernel NULL pointer dereference at virtual address 00000014
>  printing eip:
> c01f1e76
> *pde = 00000000
> Oops: 0002 [#1]
> PREEMPT SMP
> Modules linked in: usbmouse ohci_hcd usbcore e1000 snd_seq_midi snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul snd_emu10k1 snd_rawmidi snd_ac97_codec snd_util_mem snd_hwdep snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_pcm snd_page_alloc snd_timer snd_mixer_oss snd soundcore
> w83781d i2c_sensor i2c_amd756 i2c_core bsd_comp ppp_generic slhc
> CPU:    1
> EIP:    0060:[<c01f1e76>]    Not tainted
> EFLAGS: 00010296   (2.6.8)
> EIP is at nfs3_request_init+0x16/0x20
> eax: 00000000   ebx: d5496620   ecx: 00000000   edx: df614880
> esi: dc262000   edi: dbb4bd68   ebp: 00000000   esp: dc263c44
> ds: 007b   es: 007b   ss: 0068
> Process bash (pid: 460, threadinfo=dc262000 task=dfc3d730)
> Stack: dff96e00 c01ea7e8 d5496620 df614880 00000174 dbb4bd68 c12bd3c0 dc263cb0
>        d5496620 c01ed162 df614880 dbb4bd68 c12bd3c0 00000000 00000174 c12bd3d8
>        c12bd3c0 dc263dd0 dc263cb0 c014170c dc263d20 c12bd3c0 dc263d28 dc263d28
> Call Trace:
>  [<c01ea7e8>] nfs_create_request+0xd8/0xf0
>  [<c01ed162>] readpage_async_filler+0x52/0x100
>  [<c014170c>] read_cache_pages+0xac/0x160
>  [<c011e6b0>] autoremove_wake_function+0x0/0x40
>  [<c012985e>] recalc_sigpending+0xe/0x10
>  [<c03e3923>] rpc_call_sync+0x93/0xb0
>  [<c01ed29c>] nfs_readpages+0x8c/0xc0
>  [<c01ed110>] readpage_async_filler+0x0/0x100
>  [<c01417f5>] read_pages+0x35/0x130
>  [<c013eac4>] __alloc_pages+0xc4/0x320
>  [<c013ed0f>] __alloc_pages+0x30f/0x320
>  [<c0141cf2>] do_page_cache_readahead+0x1b2/0x1e0
>  [<c0141e5b>] page_cache_readahead+0x13b/0x1c0
>  [<c013ae88>] do_generic_mapping_read+0xb8/0x410
>  [<c013b488>] __generic_file_aio_read+0x1d8/0x200
>  [<c013b1e0>] file_read_actor+0x0/0xd0
>  [<c013b4f5>] generic_file_aio_read+0x45/0x50
>  [<c01e6128>] nfs_file_read+0xb8/0xd0
>  [<c0157e6a>] do_sync_read+0x7a/0xb0
>  [<c0157f55>] vfs_read+0xb5/0xf0
>  [<c0158170>] sys_read+0x40/0x70
>  [<c01059e3>] syscall_call+0x7/0xb
> Code: f0 ff 40 14 89 43 18 5b c3 90 8b 4c 24 04 8b 51 0c 3b 54 24
> 
> >>EIP; c01f1e76 <nfs3_request_init+16/20>   <=====
> Code;  c01f1e76 <nfs3_request_init+16/20>
> 00000000 <_EIP>:
> Code;  c01f1e76 <nfs3_request_init+16/20>   <=====
>    0:   f0 ff 40 14               lock incl 0x14(%eax)   <=====
> Code;  c01f1e7a <nfs3_request_init+1a/20>
>    4:   89 43 18                  mov    %eax,0x18(%ebx)
> Code;  c01f1e7d <nfs3_request_init+1d/20>
>    7:   5b                        pop    %ebx
> Code;  c01f1e7e <nfs3_request_init+1e/20>
>    8:   c3                        ret
> Code;  c01f1e7f <nfs3_request_init+1f/20>
>    9:   90                        nop
> Code;  c01f1e80 <nfs3_request_compatible+0/60>
>    a:   8b 4c 24 04               mov    0x4(%esp,1),%ecx
> Code;  c01f1e84 <nfs3_request_compatible+4/60>
>    e:   8b 51 0c                  mov    0xc(%ecx),%edx
> Code;  c01f1e87 <nfs3_request_compatible+7/60>
>   11:   3b 54 24 00               cmp    0x0(%esp,1),%edx
> ----------->
> 
> Extracts from the functions where the oops occured :
> 
> void
> nfs3_request_init(struct nfs_page *req, struct file *filp)
> {
>         req->wb_cred = get_rpccred(nfs_cred(req->wb_inode, filp));
> }
> 
> static inline
> struct rpc_cred *       get_rpccred(struct rpc_cred *cred)
> {
>         atomic_inc(&cred->cr_count);
>         return cred;
> }
> 
> static struct rpc_cred *
> nfs_cred(struct inode *inode, struct file *filp)
> {
>         struct rpc_cred *cred = NULL;
> 
>         if (filp)
>                 cred = (struct rpc_cred *)filp->private_data;
>         if (!cred)
>                 cred = NFS_I(inode)->mm_cred;
>         return cred;
> }
> 
> static inline struct nfs_inode *NFS_I(struct inode *inode)
> {
>         return container_of(inode, struct nfs_inode, vfs_inode);
> }
> 
> So it seems to me that both (filp or filp->private_data) and
> NFS_I(req->wb_inode)->mm_cred were NULL. I don't know if this
> is a permitted situation, but directly calling get_rpccred()
> from this leads to this oops.
> 
> Last 2.6 kernel I tried on this machine was 2.6.7, and I did
> not notice this oops. Unfortunately, I don't have enough time
> to dig through the large patch (19MB uncompressed), nor to try
> different configurations. But this seems reproducible anytime
> I try to access a file over NFSv3. Directory listings seem OK
> at the moment. I've not tested other combinations of NFS/config
> either (I'm typing this mail from the machine, so I don't want
> to risk retyping everything). Since it's reproducible on a
> single request, I don't think that PREEMPT/SMP has anything to
> do with this.
> 
> I can send other informations if needed. If anyone wants to
> suggest a patch, I can give it a try, but I won't have much
> time to help debugging this, unfortunately.
> 
> Cheers,
> Willy

^ permalink raw reply	[flat|nested] 39+ messages in thread

* [patch 2.6.8-rc4-mm1] via-velocity: wrong module name in Kconfig documentation
  2004-08-14  6:05 Linux v2.6.8 Linus Torvalds
  2004-08-14 10:10 ` Linux v2.6.8 - Oops on NFSv3 Willy Tarreau
@ 2004-08-14 10:19 ` Francois Romieu
  2004-09-20 18:44   ` Jeff Garzik
  2004-08-14 10:30 ` Linux v2.6.8 Jeff Garzik
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 39+ messages in thread
From: Francois Romieu @ 2004-08-14 10:19 UTC (permalink / raw)
  To: Kernel Mailing List; +Cc: Andrew Morton, Alan Cox, Jeff Garzik

Copy/paste abuse.

diff -puN drivers/net/Kconfig~via-velocity-kconfig-copy-paste-abuse drivers/net/Kconfig
--- linux-2.6.8-rc4/drivers/net/Kconfig~via-velocity-kconfig-copy-paste-abuse	2004-08-14 12:11:16.000000000 +0200
+++ linux-2.6.8-rc4-fr/drivers/net/Kconfig	2004-08-14 12:11:16.000000000 +0200
@@ -1752,7 +1752,7 @@ config VIA_VELOCITY
 	  If you have a VIA "Velocity" based network card say Y here.
 
 	  To compile this driver as a module, choose M here. The module
-	  will be called via-rhine.
+	  will be called via-velocity.
 
 config LAN_SAA9730
 	bool "Philips SAA9730 Ethernet support (EXPERIMENTAL)"

_

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8
  2004-08-14  6:05 Linux v2.6.8 Linus Torvalds
  2004-08-14 10:10 ` Linux v2.6.8 - Oops on NFSv3 Willy Tarreau
  2004-08-14 10:19 ` [patch 2.6.8-rc4-mm1] via-velocity: wrong module name in Kconfig documentation Francois Romieu
@ 2004-08-14 10:30 ` Jeff Garzik
  2004-08-14 11:19   ` Stephan von Krawczynski
  2004-08-14 11:16 ` William Lee Irwin III
  2004-08-16 17:56 ` Linux v2.6.8 (compile stats) John Cherry
  4 siblings, 1 reply; 39+ messages in thread
From: Jeff Garzik @ 2004-08-14 10:30 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 279 bytes --]

Linus Torvalds wrote:
> Matthew Wilcox:
>   o Remove fcntl f_op

Any chance of a 2.6.9 with working NFS?

See attached patch, which came from this thread:
http://marc.theaimsgroup.com/?l=linux-kernel&m=109244804202259&w=2
http://marc.theaimsgroup.com/?t=109244611400001&r=1&w=2


[-- Attachment #2: patch.nfs-fix --]
[-- Type: text/plain, Size: 467 bytes --]

===== fs/nfs/file.c 1.40 vs edited =====
--- 1.40/fs/nfs/file.c	2004-08-09 14:58:00 -04:00
+++ edited/fs/nfs/file.c	2004-08-13 23:02:34 -04:00
@@ -72,7 +72,7 @@
 
 static int nfs_check_flags(int flags)
 {
-	if (flags & (O_APPEND | O_DIRECT))
+	if ((flags & (O_APPEND | O_DIRECT)) == (O_APPEND | O_DIRECT))
 		return -EINVAL;
 
 	return 0;
@@ -89,7 +89,7 @@
 	int res;
 
 	res = nfs_check_flags(filp->f_flags);
-	if (!res)
+	if (res)
 		return res;
 
 	lock_kernel();

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 10:10 ` Linux v2.6.8 - Oops on NFSv3 Willy Tarreau
  2004-08-14 10:19   ` Willy Tarreau
@ 2004-08-14 10:34   ` Jeff Garzik
  2004-08-14 10:41   ` Linus Torvalds
  2 siblings, 0 replies; 39+ messages in thread
From: Jeff Garzik @ 2004-08-14 10:34 UTC (permalink / raw)
  To: Willy Tarreau; +Cc: Linus Torvalds, Kernel Mailing List

Willy Tarreau wrote:
> Hi Linus & All,
> 
> I've just compiled and booted 2.6.8 on my dual athlon. Everything went
> OK before I logged in as a non-root user whose home is mounted from
> another linux box over NFSv3/UDP.
> 
> I got this oops :

Already solved in another thread...

http://marc.theaimsgroup.com/?l=linux-kernel&m=109247958302409&w=2


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 10:41   ` Linus Torvalds
@ 2004-08-14 10:35     ` Willy Tarreau
  2004-08-14 10:49     ` Linus Torvalds
  1 sibling, 0 replies; 39+ messages in thread
From: Willy Tarreau @ 2004-08-14 10:35 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Kernel Mailing List, Andrew Morton, Matthew Wilcox

On Sat, Aug 14, 2004 at 03:41:58AM -0700, Linus Torvalds wrote:
> > I've just compiled and booted 2.6.8 on my dual athlon. Everything went
> > OK before I logged in as a non-root user whose home is mounted from
> > another linux box over NFSv3/UDP.
> 
> Damn. I think the stupid typo in fs/nfs/file.c from the fcntl f_op removal
> patch is the problem.

I confirm this. It's what I tried and this patch was enough to fix the
problem here, as I stated in a further mail. I first tested with the
complete patch that Jeff send, then with only this hunk and both work fine.

Cheers,
Willy


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 10:10 ` Linux v2.6.8 - Oops on NFSv3 Willy Tarreau
  2004-08-14 10:19   ` Willy Tarreau
  2004-08-14 10:34   ` Jeff Garzik
@ 2004-08-14 10:41   ` Linus Torvalds
  2004-08-14 10:35     ` Willy Tarreau
  2004-08-14 10:49     ` Linus Torvalds
  2 siblings, 2 replies; 39+ messages in thread
From: Linus Torvalds @ 2004-08-14 10:41 UTC (permalink / raw)
  To: Willy Tarreau; +Cc: Kernel Mailing List, Andrew Morton, Matthew Wilcox



On Sat, 14 Aug 2004, Willy Tarreau wrote:
> 
> I've just compiled and booted 2.6.8 on my dual athlon. Everything went
> OK before I logged in as a non-root user whose home is mounted from
> another linux box over NFSv3/UDP.

Damn. I think the stupid typo in fs/nfs/file.c from the fcntl f_op removal
patch is the problem.

Andrew, since I'm gone in another hour, how about you try to make a
2.6.8.1 with this, since this is clearly a good reason for one?

		Linus

--- 1.40/fs/nfs/file.c	2004-08-09 11:58:00 -07:00
+++ edited/fs/nfs/file.c	2004-08-14 03:35:11 -07:00
@@ -89,7 +89,7 @@
 	int res;
 
 	res = nfs_check_flags(filp->f_flags);
-	if (!res)
+	if (res)
 		return res;
 
 	lock_kernel();

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 10:41   ` Linus Torvalds
  2004-08-14 10:35     ` Willy Tarreau
@ 2004-08-14 10:49     ` Linus Torvalds
  2004-08-14 10:55       ` Christoph Hellwig
  2004-08-14 15:33       ` Norman Zhang
  1 sibling, 2 replies; 39+ messages in thread
From: Linus Torvalds @ 2004-08-14 10:49 UTC (permalink / raw)
  To: Willy Tarreau; +Cc: Kernel Mailing List, Andrew Morton, Matthew Wilcox



On Sat, 14 Aug 2004, Linus Torvalds wrote:
> 
> Andrew, since I'm gone in another hour, how about you try to make a
> 2.6.8.1 with this, since this is clearly a good reason for one?

Ahh. Jeff posted the right one, obviously. Pushed to BK.

I'll make a 2.6.8.1 myself, to make it usable for people with NFS.

		Linus

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 10:49     ` Linus Torvalds
@ 2004-08-14 10:55       ` Christoph Hellwig
  2004-08-14 11:05         ` Linus Torvalds
  2004-08-14 15:33       ` Norman Zhang
  1 sibling, 1 reply; 39+ messages in thread
From: Christoph Hellwig @ 2004-08-14 10:55 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Willy Tarreau, Kernel Mailing List, Andrew Morton, Matthew Wilcox

On Sat, Aug 14, 2004 at 03:49:00AM -0700, Linus Torvalds wrote:
> 
> 
> On Sat, 14 Aug 2004, Linus Torvalds wrote:
> > 
> > Andrew, since I'm gone in another hour, how about you try to make a
> > 2.6.8.1 with this, since this is clearly a good reason for one?
> 
> Ahh. Jeff posted the right one, obviously. Pushed to BK.
> 
> I'll make a 2.6.8.1 myself, to make it usable for people with NFS.

Cane we make this 2.6.9 to avoid breaking all kinds of scripts expecting
three-digit kernel versions?


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 10:55       ` Christoph Hellwig
@ 2004-08-14 11:05         ` Linus Torvalds
  2004-08-14 11:18           ` Arjan van de Ven
                             ` (6 more replies)
  0 siblings, 7 replies; 39+ messages in thread
From: Linus Torvalds @ 2004-08-14 11:05 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Willy Tarreau, Kernel Mailing List, Andrew Morton, Matthew Wilcox



On Sat, 14 Aug 2004, Christoph Hellwig wrote:
> 
> Cane we make this 2.6.9 to avoid breaking all kinds of scripts expecting
> three-digit kernel versions?

Well, we've been discussing the 2.6.x.y format for a while, so I see this 
as an opportunity to actually do it... Will it break automated scripts? 
Maybe. But on the other hand, we'll never even find out unless we try it 
some time.

		Linus

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8
  2004-08-14  6:05 Linux v2.6.8 Linus Torvalds
                   ` (2 preceding siblings ...)
  2004-08-14 10:30 ` Linux v2.6.8 Jeff Garzik
@ 2004-08-14 11:16 ` William Lee Irwin III
  2004-08-16 17:56 ` Linux v2.6.8 (compile stats) John Cherry
  4 siblings, 0 replies; 39+ messages in thread
From: William Lee Irwin III @ 2004-08-14 11:16 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Kernel Mailing List

On Fri, Aug 13, 2004 at 11:05:43PM -0700, Linus Torvalds wrote:
> The major patches since -rc4 were some sparc64 and parsic updates, but 
> there's some network driver and SATA updates and a few ARM patches too. 
> And a use-after-free fix in MTD.

The KBUILD_IMAGE fix for x86-64 still isn't in here, either. =(


-- wli

Index: wli-2.6.8/arch/x86_64/Makefile
===================================================================
--- wli-2.6.8.orig/arch/x86_64/Makefile	2004-08-13 22:37:40.000000000 -0700
+++ wli-2.6.8/arch/x86_64/Makefile	2004-08-14 04:00:28.823938624 -0700
@@ -77,6 +77,7 @@
 all: bzImage
 
 BOOTIMAGE                     := arch/x86_64/boot/bzImage
+KBUILD_IMAGE                  := arch/x86_64/boot/bzImage
 
 bzImage: vmlinux
 	$(Q)$(MAKE) $(build)=$(boot) $(BOOTIMAGE)

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 11:05         ` Linus Torvalds
@ 2004-08-14 11:18           ` Arjan van de Ven
  2004-08-14 11:27             ` Jeff Garzik
  2004-08-14 11:31             ` viro
  2004-08-14 12:48           ` Nur Hussein
                             ` (5 subsequent siblings)
  6 siblings, 2 replies; 39+ messages in thread
From: Arjan van de Ven @ 2004-08-14 11:18 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Christoph Hellwig, Willy Tarreau, Kernel Mailing List,
	Andrew Morton, Matthew Wilcox

[-- Attachment #1: Type: text/plain, Size: 842 bytes --]

On Sat, 2004-08-14 at 13:05, Linus Torvalds wrote:
> On Sat, 14 Aug 2004, Christoph Hellwig wrote:
> > 
> > Cane we make this 2.6.9 to avoid breaking all kinds of scripts expecting
> > three-digit kernel versions?
> 
> Well, we've been discussing the 2.6.x.y format for a while, so I see this 
> as an opportunity to actually do it... Will it break automated scripts? 
> Maybe. But on the other hand, we'll never even find out unless we try it 
> some time.

well... I'll volunteer to keep a 2.6.X-postY series.. this fix could be
part of that.

For me the -post series should be
* Only patches that are in later head kernels (maybe lightly touched to
resolve patch conflicts)
* Only patches that fix something critical/important
  (where critical is of course a gray area but I'm sure a decent balance
will be found)



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8
  2004-08-14 10:30 ` Linux v2.6.8 Jeff Garzik
@ 2004-08-14 11:19   ` Stephan von Krawczynski
  2004-08-14 11:38     ` Francois Romieu
  0 siblings, 1 reply; 39+ messages in thread
From: Stephan von Krawczynski @ 2004-08-14 11:19 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: torvalds, linux-kernel, willy

On Sat, 14 Aug 2004 06:30:14 -0400
Jeff Garzik <jgarzik@pobox.com> wrote:

> Linus Torvalds wrote:
> > Matthew Wilcox:
> >   o Remove fcntl f_op
> 
> Any chance of a 2.6.9 with working NFS?
> 
> See attached patch, which came from this thread:
> http://marc.theaimsgroup.com/?l=linux-kernel&m=109244804202259&w=2
> http://marc.theaimsgroup.com/?t=109244611400001&r=1&w=2

Hi Jeff,

I just fell into the same hole. On my box (x86) only write-access to nfs
produces the known problem.
I can confirm that your patch solves it.
I very much vote for 2.6.9 NFS-bugfix. This is a real show-stopper.
 
Regards,
Stephan

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 11:18           ` Arjan van de Ven
@ 2004-08-14 11:27             ` Jeff Garzik
  2004-08-14 11:31             ` viro
  1 sibling, 0 replies; 39+ messages in thread
From: Jeff Garzik @ 2004-08-14 11:27 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: Linus Torvalds, Christoph Hellwig, Willy Tarreau,
	Kernel Mailing List, Andrew Morton, Matthew Wilcox

On Sat, Aug 14, 2004 at 01:18:32PM +0200, Arjan van de Ven wrote:
> On Sat, 2004-08-14 at 13:05, Linus Torvalds wrote:
> > On Sat, 14 Aug 2004, Christoph Hellwig wrote:
> > > 
> > > Cane we make this 2.6.9 to avoid breaking all kinds of scripts expecting
> > > three-digit kernel versions?
> > 
> > Well, we've been discussing the 2.6.x.y format for a while, so I see this 
> > as an opportunity to actually do it... Will it break automated scripts? 
> > Maybe. But on the other hand, we'll never even find out unless we try it 
> > some time.
> 
> well... I'll volunteer to keep a 2.6.X-postY series.. this fix could be
> part of that.
> 
> For me the -post series should be
> * Only patches that are in later head kernels (maybe lightly touched to
> resolve patch conflicts)
> * Only patches that fix something critical/important
>   (where critical is of course a gray area but I'm sure a decent balance
> will be found)

* Dutifully tagged in BK...



^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 11:18           ` Arjan van de Ven
  2004-08-14 11:27             ` Jeff Garzik
@ 2004-08-14 11:31             ` viro
  1 sibling, 0 replies; 39+ messages in thread
From: viro @ 2004-08-14 11:31 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: Linus Torvalds, Christoph Hellwig, Willy Tarreau,
	Kernel Mailing List, Andrew Morton, Matthew Wilcox

On Sat, Aug 14, 2004 at 01:18:32PM +0200, Arjan van de Ven wrote:
> On Sat, 2004-08-14 at 13:05, Linus Torvalds wrote:
> > On Sat, 14 Aug 2004, Christoph Hellwig wrote:
> > > 
> > > Cane we make this 2.6.9 to avoid breaking all kinds of scripts expecting
> > > three-digit kernel versions?
> > 
> > Well, we've been discussing the 2.6.x.y format for a while, so I see this 
> > as an opportunity to actually do it... Will it break automated scripts? 
> > Maybe. But on the other hand, we'll never even find out unless we try it 
> > some time.
> 
> well... I'll volunteer to keep a 2.6.X-postY series.. this fix could be
> part of that.
> 
> For me the -post series should be
> * Only patches that are in later head kernels (maybe lightly touched to
> resolve patch conflicts)
> * Only patches that fix something critical/important
>   (where critical is of course a gray area but I'm sure a decent balance
> will be found)

2.6.X-paperbagY?

Said that, if you start doing that - count on my help.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8
  2004-08-14 11:19   ` Stephan von Krawczynski
@ 2004-08-14 11:38     ` Francois Romieu
  0 siblings, 0 replies; 39+ messages in thread
From: Francois Romieu @ 2004-08-14 11:38 UTC (permalink / raw)
  To: Stephan von Krawczynski; +Cc: Jeff Garzik, torvalds, linux-kernel, willy

Stephan von Krawczynski <skraw@ithnet.com> :
[...]
> I very much vote for 2.6.9 NFS-bugfix. This is a real show-stopper.

It strangely looks like a 2.6.x-nfs-acpi-merge-sorry-could-not-resist

/me runs

--
Ueimor

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 11:05         ` Linus Torvalds
  2004-08-14 11:18           ` Arjan van de Ven
@ 2004-08-14 12:48           ` Nur Hussein
  2004-08-14 20:57             ` Greg Norris
  2004-08-17  3:13             ` Linux v2.6.8 - Oops on NFSv3 Patrick McFarland
  2004-08-14 17:20           ` Matt Mackall
                             ` (4 subsequent siblings)
  6 siblings, 2 replies; 39+ messages in thread
From: Nur Hussein @ 2004-08-14 12:48 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Kernel Mailing List

Linus Torvalds wrote:

>Well, we've been discussing the 2.6.x.y format for a while, so I see this 
>as an opportunity to actually do it... Will it break automated scripts? 
>Maybe. But on the other hand, we'll never even find out unless we try it 
>some time.
>  
>
I hear the first victim of the breakage may be the kernel.org front 
page. 2.6.8.1 is not showing up as "latest".

- Nur Hussein

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 10:49     ` Linus Torvalds
  2004-08-14 10:55       ` Christoph Hellwig
@ 2004-08-14 15:33       ` Norman Zhang
  1 sibling, 0 replies; 39+ messages in thread
From: Norman Zhang @ 2004-08-14 15:33 UTC (permalink / raw)
  To: linux-kernel

> Ahh. Jeff posted the right one, obviously. Pushed to BK.
> 
> I'll make a 2.6.8.1 myself, to make it usable for people with NFS.

Patch applied twice?

http://linux.bkbits.net:8080/linux-2.5/cset@1.1807.1.162?nav=index.html|ChangeSet@-1d

http://linux.bkbits.net:8080/linux-2.5/cset@1.1836?nav=index.html|ChangeSet@-1d


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 11:05         ` Linus Torvalds
  2004-08-14 11:18           ` Arjan van de Ven
  2004-08-14 12:48           ` Nur Hussein
@ 2004-08-14 17:20           ` Matt Mackall
  2004-08-15 20:10             ` Marcelo Tosatti
  2004-08-16  3:37           ` Han Boetes
                             ` (3 subsequent siblings)
  6 siblings, 1 reply; 39+ messages in thread
From: Matt Mackall @ 2004-08-14 17:20 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Christoph Hellwig, Willy Tarreau, Kernel Mailing List,
	Andrew Morton, Matthew Wilcox

On Sat, Aug 14, 2004 at 04:05:56AM -0700, Linus Torvalds wrote:
> 
> 
> On Sat, 14 Aug 2004, Christoph Hellwig wrote:
> > 
> > Cane we make this 2.6.9 to avoid breaking all kinds of scripts expecting
> > three-digit kernel versions?
> 
> Well, we've been discussing the 2.6.x.y format for a while, so I see this 
> as an opportunity to actually do it... Will it break automated scripts? 
> Maybe. But on the other hand, we'll never even find out unless we try it 
> some time.

We might avoid some of this (and communicate more to end users) by
using the 2.4 -pre and -rc nomenclature, where a release is made by
renaming an -rc kernel. As it stands, the current 2.6 "release
candidate" naming is a lie - there's no intent to make it a final
release.

-- 
Mathematics is the supreme nostalgia of our time.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 12:48           ` Nur Hussein
@ 2004-08-14 20:57             ` Greg Norris
  2004-08-18 20:57               ` [PATCH] scripts/patch-kernel: use EXTRAVERSION Randy.Dunlap
  2004-08-17  3:13             ` Linux v2.6.8 - Oops on NFSv3 Patrick McFarland
  1 sibling, 1 reply; 39+ messages in thread
From: Greg Norris @ 2004-08-14 20:57 UTC (permalink / raw)
  To: Kernel Mailing List

On Sat, Aug 14, 2004 at 08:48:55PM +0800, Nur Hussein wrote:
> I hear the first victim of the breakage may be the kernel.org front 
> page. 2.6.8.1 is not showing up as "latest".

The `patch-kernel' script needs updating as well.

   $ scripts/patch-kernel . ~/kernel/
   Current kernel version is 2.6.0
   Applying patch-2.6.1 (bzip2)... done.
   Applying patch-2.6.2 (bzip2)... done.
   Applying patch-2.6.3 (bzip2)... done.
   Applying patch-2.6.4 (bzip2)... done.
   Applying patch-2.6.5 (bzip2)... done.
   Applying patch-2.6.6 (bzip2)... done.
   Applying patch-2.6.7 (bzip2)... done.
   Applying patch-2.6.8 (bzip2)... done.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 17:20           ` Matt Mackall
@ 2004-08-15 20:10             ` Marcelo Tosatti
  0 siblings, 0 replies; 39+ messages in thread
From: Marcelo Tosatti @ 2004-08-15 20:10 UTC (permalink / raw)
  To: Matt Mackall
  Cc: Linus Torvalds, Christoph Hellwig, Willy Tarreau,
	Kernel Mailing List, Andrew Morton, Matthew Wilcox

On Sat, Aug 14, 2004 at 12:20:08PM -0500, Matt Mackall wrote:
> On Sat, Aug 14, 2004 at 04:05:56AM -0700, Linus Torvalds wrote:
> > 
> > 
> > On Sat, 14 Aug 2004, Christoph Hellwig wrote:
> > > 
> > > Cane we make this 2.6.9 to avoid breaking all kinds of scripts expecting
> > > three-digit kernel versions?
> > 
> > Well, we've been discussing the 2.6.x.y format for a while, so I see this 
> > as an opportunity to actually do it... Will it break automated scripts? 
> > Maybe. But on the other hand, we'll never even find out unless we try it 
> > some time.
> 
> We might avoid some of this (and communicate more to end users) by
> using the 2.4 -pre and -rc nomenclature, where a release is made by
> renaming an -rc kernel. As it stands, the current 2.6 "release
> candidate" naming is a lie - there's no intent to make it a final
> release.

I agree. The renaming is done by hpa's "bless-as-final" script on master.kernel.org.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 11:05         ` Linus Torvalds
                             ` (2 preceding siblings ...)
  2004-08-14 17:20           ` Matt Mackall
@ 2004-08-16  3:37           ` Han Boetes
  2004-08-16 14:06           ` Daniel Jacobowitz
                             ` (2 subsequent siblings)
  6 siblings, 0 replies; 39+ messages in thread
From: Han Boetes @ 2004-08-16  3:37 UTC (permalink / raw)
  To: Kernel Mailing List

Linus Torvalds wrote:
> On Sat, 14 Aug 2004, Christoph Hellwig wrote:
> > Can we make this 2.6.9 to avoid breaking all kinds of scripts
> > expecting three-digit kernel versions?
>
> Well, we've been discussing the 2.6.x.y format for a while, so I see
> this as an opportunity to actually do it... Will it break automated
> scripts? Maybe. But on the other hand, we'll never even find out
> unless we try it some time.

install_latest_kernel works fine with 2.6.8.1 :-)



# Han
--
http://freshmeat.net/install_latest_kernel

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 11:05         ` Linus Torvalds
                             ` (3 preceding siblings ...)
  2004-08-16  3:37           ` Han Boetes
@ 2004-08-16 14:06           ` Daniel Jacobowitz
  2004-08-16 22:39           ` Bill Davidsen
  2004-08-18  8:29           ` Robert Schwebel
  6 siblings, 0 replies; 39+ messages in thread
From: Daniel Jacobowitz @ 2004-08-16 14:06 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Christoph Hellwig, Willy Tarreau, Kernel Mailing List,
	Andrew Morton, Matthew Wilcox

On Sat, Aug 14, 2004 at 04:05:56AM -0700, Linus Torvalds wrote:
> 
> 
> On Sat, 14 Aug 2004, Christoph Hellwig wrote:
> > 
> > Cane we make this 2.6.9 to avoid breaking all kinds of scripts expecting
> > three-digit kernel versions?
> 
> Well, we've been discussing the 2.6.x.y format for a while, so I see this 
> as an opportunity to actually do it... Will it break automated scripts? 
> Maybe. But on the other hand, we'll never even find out unless we try it 
> some time.

This will break glibc's OS version checks.  It won't show up as a problem
now, since it's mostly used to ignore versions of libraries which are
too new for the running kernel, and 2.6.8.1 is as new as it gets.  But
that code is going to think the version is humongously greater than
2.6.8 and 2.6.9.

See Uli's response:
  http://sources.redhat.com/ml/libc-alpha/2003-11/msg00025.html

-- 
Daniel Jacobowitz

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 (compile stats)
  2004-08-14  6:05 Linux v2.6.8 Linus Torvalds
                   ` (3 preceding siblings ...)
  2004-08-14 11:16 ` William Lee Irwin III
@ 2004-08-16 17:56 ` John Cherry
  4 siblings, 0 replies; 39+ messages in thread
From: John Cherry @ 2004-08-16 17:56 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Kernel Mailing List

Linux 2.6 Compile Statistics (gcc 3.2.2)
Warnings/Errors Summary

Kernel         bzImage    bzImage  bzImage  modules  bzImage   modules
             (defconfig)  (allno)  (allyes) (allyes) (allmod) (allmod)
-----------  -----------  -------- -------- -------- -------- ---------
2.6.8.1        0w/0e       0w/0e    78w/ 0e   4w/0e   1w/0e     72w/0e
2.6.8          0w/0e       0w/0e    78w/ 0e   4w/0e   1w/0e     72w/0e
2.6.8-rc4      0w/0e       0w/0e    78w/ 0e   4w/0e   1w/0e     72w/0e
2.6.8-rc3      0w/0e       0w/0e    78w/ 0e   4w/0e   1w/0e     72w/0e
2.6.8-rc2      0w/0e       0w/0e    85w/ 0e   5w/0e   1w/0e     79w/0e
2.6.8-rc1      0w/0e       0w/0e    87w/ 0e   5w/0e   1w/0e     82w/0e
2.6.7          0w/0e       0w/0e   108w/ 0e   5w/0e   2w/0e    102w/0e
2.6.7-rc3      0w/0e       0w/0e   108w/ 0e   5w/0e   2w/0e    104w/0e
2.6.7-rc2      0w/0e       0w/0e   110w/ 0e   5w/0e   2w/0e    106w/0e
2.6.7-rc1      0w/0e       0w/0e   111w/ 0e   6w/0e   2w/0e    107w/0e
2.6.6          0w/0e       0w/0e   123w/ 0e   7w/0e   4w/0e    121w/0e
2.6.6-rc3      0w/0e       0w/0e   124w/ 0e   7w/0e   5w/0e    121w/0e
2.6.6-rc2      0w/0e       0w/0e   122w/ 0e   7w/0e   4w/0e    121w/0e
2.6.6-rc1      0w/0e       0w/0e   125w/ 0e   7w/0e   4w/0e    123w/0e
2.6.5          0w/0e       0w/0e   134w/ 0e   8w/0e   4w/0e    132w/0e
2.6.5-rc3      0w/0e       0w/0e   135w/ 0e   8w/0e   4w/0e    132w/0e
2.6.5-rc2      0w/0e       0w/0e   135w/ 0e   8w/0e   3w/0e    132w/0e
2.6.5-rc1      0w/0e       0w/0e   138w/ 0e   8w/0e   3w/0e    135w/0e
2.6.4          1w/0e       0w/0e   145w/ 0e   7w/0e   3w/0e    142w/0e
2.6.4-rc2      1w/0e       0w/0e   148w/ 0e   7w/0e   3w/0e    145w/0e
2.6.4-rc1      1w/0e       0w/0e   148w/ 0e   7w/0e   3w/0e    145w/0e
2.6.3          1w/0e       0w/0e   142w/ 0e   9w/0e   3w/0e    142w/0e
2.6.3-rc4      1w/0e       0w/0e   142w/ 0e   9w/0e   3w/0e    142w/0e
2.6.3-rc3      1w/0e       0w/0e   145w/ 7e   9w/0e   3w/0e    148w/0e
2.6.3-rc2      1w/0e       0w/0e   141w/ 0e   9w/0e   3w/0e    144w/0e
2.6.3-rc1      1w/0e       0w/0e   145w/ 0e   9w/0e   3w/0e    177w/0e
2.6.2          1w/0e       0w/0e   152w/ 0e  12w/0e   3w/0e    187w/0e
2.6.2-rc3      0w/0e       0w/0e   152w/ 0e  12w/0e   3w/0e    187w/0e
2.6.2-rc2      0w/0e       0w/0e   153w/ 8e  12w/0e   3w/0e    188w/0e
2.6.2-rc1      0w/0e       0w/0e   152w/ 0e  12w/0e   3w/0e    187w/0e
2.6.1          0w/0e       0w/0e   158w/ 0e  12w/0e   3w/0e    197w/0e
2.6.1-rc3      0w/0e       0w/0e   158w/ 0e  12w/0e   3w/0e    197w/0e
2.6.1-rc2      0w/0e       0w/0e   166w/ 0e  12w/0e   3w/0e    205w/0e
2.6.1-rc1      0w/0e       0w/0e   167w/ 0e  12w/0e   3w/0e    206w/0e
2.6.0          0w/0e       0w/0e   170w/ 0e  12w/0e   3w/0e    209w/0e

Web page with links to complete details:
   http://developer.osdl.org/cherry/compile/
Daily compiles (ia32): 
   http://developer.osdl.org/cherry/compile/2.6/linus-tree/running.txt
Latest changes in Linus' bitkeeper tree:
   http://linux.bkbits.net:8080/linux-2.5

John




^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 11:05         ` Linus Torvalds
                             ` (4 preceding siblings ...)
  2004-08-16 14:06           ` Daniel Jacobowitz
@ 2004-08-16 22:39           ` Bill Davidsen
  2004-08-18  8:29           ` Robert Schwebel
  6 siblings, 0 replies; 39+ messages in thread
From: Bill Davidsen @ 2004-08-16 22:39 UTC (permalink / raw)
  To: linux-kernel

Linus Torvalds wrote:
> 
> On Sat, 14 Aug 2004, Christoph Hellwig wrote:
> 
>>Cane we make this 2.6.9 to avoid breaking all kinds of scripts expecting
>>three-digit kernel versions?
> 
> 
> Well, we've been discussing the 2.6.x.y format for a while, so I see this 
> as an opportunity to actually do it... Will it break automated scripts? 
> Maybe. But on the other hand, we'll never even find out unless we try it 
> some time.

So will we see 2.6.8.1-bk1 tomorrow, or 2.6.8-bk1.1, or ??? And what 
will 2.6.8.3 patch against, 2.6.8.2 or 2.6.8?

I think you are perhaps over-solving the problem that an early -bk1 
could have solved without breaking scripts and kernel macros.

-- 
    -bill davidsen (davidsen@tmr.com)
"The secret to procrastination is to put things off until the
  last possible moment - but no longer"  -me

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 12:48           ` Nur Hussein
  2004-08-14 20:57             ` Greg Norris
@ 2004-08-17  3:13             ` Patrick McFarland
  1 sibling, 0 replies; 39+ messages in thread
From: Patrick McFarland @ 2004-08-17  3:13 UTC (permalink / raw)
  To: Nur Hussein; +Cc: Linus Torvalds, Kernel Mailing List

On Sat, 14 Aug 2004 20:48:55 +0800, Nur Hussein <obiwan@anomalistic.org> wrote:
> I hear the first victim of the breakage may be the kernel.org front
> page. 2.6.8.1 is not showing up as "latest".

Yeah, but on the other hand, debian's make-kpkg is working fine.

-- 
Patrick "Diablo-D3" McFarland || diablod3@gmail.com
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd 
all be running around in darkened rooms, munching magic pills and listening to
repetitive electronic music." -- Kristian Wilson, Nintendo, Inc, 1989

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Linux v2.6.8 - Oops on NFSv3
  2004-08-14 11:05         ` Linus Torvalds
                             ` (5 preceding siblings ...)
  2004-08-16 22:39           ` Bill Davidsen
@ 2004-08-18  8:29           ` Robert Schwebel
  6 siblings, 0 replies; 39+ messages in thread
From: Robert Schwebel @ 2004-08-18  8:29 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Kernel Mailing List

On Sat, Aug 14, 2004 at 04:05:56AM -0700, Linus Torvalds wrote:
> Well, we've been discussing the 2.6.x.y format for a while, so I see this 
> as an opportunity to actually do it... Will it break automated scripts? 
> Maybe. But on the other hand, we'll never even find out unless we try it 
> some time.

PTXdist(*) works fine with the new scheme, at least as long as the .1
is in EXTRAVERSION and the .1 patch is released as a normal patch on top
of 2.6.8. 

Robert 

(*) http://www.pengutronix.de/software/ptxdist_en.html, used by 
    embedded people to build kernel+userlands 
-- 
 Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry
   Handelsregister:  Amtsgericht Hildesheim, HRA 2686
     Hornemannstraße 12,  31137 Hildesheim, Germany
    Phone: +49-5121-28619-0 |  Fax: +49-5121-28619-4

^ permalink raw reply	[flat|nested] 39+ messages in thread

* [PATCH] scripts/patch-kernel: use EXTRAVERSION
  2004-08-14 20:57             ` Greg Norris
@ 2004-08-18 20:57               ` Randy.Dunlap
  2004-08-22 20:40                 ` Sam Ravnborg
  0 siblings, 1 reply; 39+ messages in thread
From: Randy.Dunlap @ 2004-08-18 20:57 UTC (permalink / raw)
  To: Greg Norris; +Cc: linux-kernel, akpm, sam


(was:  Re: Linux v2.6.8 - Oops on NFSv3)

On Sat, 14 Aug 2004 15:57:07 -0500 Greg Norris wrote:

| On Sat, Aug 14, 2004 at 08:48:55PM +0800, Nur Hussein wrote:
| > I hear the first victim of the breakage may be the kernel.org front 
| > page. 2.6.8.1 is not showing up as "latest".
| 
| The `patch-kernel' script needs updating as well.
| 
|    $ scripts/patch-kernel . ~/kernel/
|    Current kernel version is 2.6.0
|    Applying patch-2.6.1 (bzip2)... done.
|    Applying patch-2.6.2 (bzip2)... done.
|    Applying patch-2.6.3 (bzip2)... done.
|    Applying patch-2.6.4 (bzip2)... done.
|    Applying patch-2.6.5 (bzip2)... done.
|    Applying patch-2.6.6 (bzip2)... done.
|    Applying patch-2.6.7 (bzip2)... done.
|    Applying patch-2.6.8 (bzip2)... done.

Here's a patch for scripts/patch-kernel that uses EXTRAVERSION.
Works for me.  Comments/corrections/testing ??

--



Update 'scripts/patch-kernel' to support EXTRAVERSION.
Update usage message text.
Fix some whitespace.
Handle command line arg3 (stop-version) more carefully.
No changes to -ac patch updates.

EXTRAVERSION handling:
any leading '.' and any trailing modifier (beginning with any
punctuation, like "-ac" or "_kexec" or "+mm") are stripped,
trying to get down to just a number.
Then 'patch-kernel' increments EXTRAVERSION as long as it can
apply "patch-V.P.S.X*".  When that file isn't found, it resets
EXTRAVERSION to "" and increments SUBLEVEL (as before this patch).

Works for me.

Signed-off-by: Randy Dunlap <rddunlap@osdl.org>

diffstat:=
 scripts/patch-kernel |  113 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 84 insertions(+), 29 deletions(-)

diff -Naurp ./scripts/patch-kernel~all_vers ./scripts/patch-kernel
--- ./scripts/patch-kernel~all_vers	2004-08-14 03:55:09.000000000 -0700
+++ ./scripts/patch-kernel	2004-08-18 12:12:19.358719440 -0700
@@ -40,17 +40,24 @@
 #
 # Added -ac option, use -ac or -ac9 (say) to stop at a particular version
 #       Dave Gilbert <linux@treblig.org>, 29th September 2001.
+#
+# Add support for (use of) EXTRAVERSION (to support 2.6.8.x, e.g.);
+# update usage message;
+# fix some whitespace damage;
+# be smarter about stopping when current version is larger than requested;
+#	Randy Dunlap <rddunlap@osdl.org>, 2004-AUG-18.
 
 # Set directories from arguments, or use defaults.
 sourcedir=${1-/usr/src/linux}
 patchdir=${2-.}
-stopvers=${3-imnotaversion}
+stopvers=${3-default}
 
-if [ "$1" = -h -o "$1" = --help -o ! -r "$sourcedir/Makefile" ]; then
+if [ "$1" == -h -o "$1" == --help -o ! -r "$sourcedir/Makefile" ]; then
 cat << USAGE
 usage: patch-kernel [-h] [ sourcedir [ patchdir [ stopversion ] [ -acxx ] ] ]
-  The source directory defaults to /usr/src/linux, and
-  the patch directory defaults to the current directory.
+  source directory defaults to /usr/src/linux,
+  patch directory defaults to the current directory,
+  stopversion defaults to <all in patchdir>.
 USAGE
 exit 1
 fi
@@ -77,7 +84,7 @@ findFile () {
 		uncomp="gunzip -dc"
   elif [ -r ${filebase}.bz  ]; then
 		ext=".bz"
-    name="bzip"
+		name="bzip"
 		uncomp="bunzip -dc"
   elif [ -r ${filebase}.bz2 ]; then
 		ext=".bz2"
@@ -96,8 +103,8 @@ findFile () {
 		name="plaintext"
 		uncomp="cat"
   else
-	  return 1;
-	fi
+	return 1;
+  fi
 
   return 0;
 }
@@ -126,48 +133,100 @@ applyPatch () {
   return 0;
 }
 
-# set current VERSION, PATCHLEVEL, SUBLEVEL, EXTERVERSION
-eval `sed -n -e 's/^\([A-Z]*\) = \([0-9]*\)$/\1=\2/p' -e 's/^\([A-Z]*\) = \(-[-a-z0-9]*\)$/\1=\2/p' $sourcedir/Makefile`
+# set current VERSION, PATCHLEVEL, SUBLEVEL, EXTRAVERSION
+TMPFILE=`mktemp .tmpver.XXXXXX` || { echo "cannot make temp file" ; exit 1; }
+grep -E "^(VERSION|PATCHLEVEL|SUBLEVEL|EXTRAVERSION)" $sourcedir/Makefile > $TMPFILE
+tr -d [:blank:] < $TMPFILE > $TMPFILE.1
+source $TMPFILE.1
+rm -f $TMPFILE*
 if [ -z "$VERSION" -o -z "$PATCHLEVEL" -o -z "$SUBLEVEL" ]
 then
     echo "unable to determine current kernel version" >&2
     exit 1
 fi
 
-echo "Current kernel version is $VERSION.$PATCHLEVEL.$SUBLEVEL${EXTRAVERSION}"
+NAME=`grep ^NAME $sourcedir/Makefile`
+NAME=${NAME##*=}
 
+echo "Current kernel version is $VERSION.$PATCHLEVEL.$SUBLEVEL${EXTRAVERSION} ($NAME)"
+
+# strip EXTRAVERSION to just a number (drop leading '.' and trailing additions)
+EXTRAVER=
 if [ x$EXTRAVERSION != "x" ]
 then
-  echo "I'm sorry but patch-kernel can't work with a kernel source tree that is not a base version"
-	exit 1;
+	if [ ${EXTRAVERSION:0:1} == "." ]; then
+		EXTRAVER=${EXTRAVERSION:1}
+	else
+		EXTRAVER=$EXTRAVERSION
+	fi
+	EXTRAVER=${EXTRAVER%%[[:punct:]]*}
+	#echo "patch-kernel: changing EXTRAVERSION from $EXTRAVERSION to $EXTRAVER"
+fi
+
+#echo "stopvers=$stopvers"
+if [ $stopvers != "default" ]; then
+	STOPSUBLEVEL=`echo $stopvers | cut -d. -f3`
+	STOPEXTRA=`echo $stopvers | cut -d. -f4`
+	#echo "STOPSUBLEVEL=$STOPSUBLEVEL, STOPEXTRA=$STOPEXTRA"
+else
+	STOPSUBLEVEL=9999
+	STOPEXTRA=9999
 fi
 
-while :
+while :				# incrementing SUBLEVEL (s in v.p.s)
 do
-    CURRENTFULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL"
-    if [ $stopvers = $CURRENTFULLVERSION ]
-    then
-        echo "Stoping at $CURRENTFULLVERSION base as requested."
+    if [ x$EXTRAVER != "x" ]; then
+	CURRENTFULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL.$EXTRAVER"
+    else
+	CURRENTFULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL"
+    fi
+
+    if [ $stopvers == $CURRENTFULLVERSION ]; then
+        echo "Stopping at $CURRENTFULLVERSION base as requested."
         break
     fi
 
-    SUBLEVEL=`expr $SUBLEVEL + 1`
+    while :			# incrementing EXTRAVER (x in v.p.s.x)
+    do
+	EXTRAVER=$((EXTRAVER + 1))
+	FULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL.$EXTRAVER"
+	#echo "... trying $FULLVERSION ..."
+
+	patch=patch-$FULLVERSION
+
+	# See if the file exists and find extension
+	findFile $patchdir/${patch} || break
+
+	# Apply the patch and check all is OK
+	applyPatch $patch || break
+
+	continue 2
+    done
+
+    EXTRAVER=
+    SUBLEVEL=$((SUBLEVEL + 1))
     FULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL"
+    #echo "___ trying $FULLVERSION ___"
+
+    if [ $((SUBLEVEL)) -gt $((STOPSUBLEVEL)) ]; then
+	echo "Stopping since sublevel ($SUBLEVEL) is beyond stop-sublevel ($STOPSUBLEVEL)"
+	exit 1
+    fi
 
     patch=patch-$FULLVERSION
 
-		# See if the file exists and find extension
-		findFile $patchdir/${patch} || break
+    # See if the file exists and find extension
+    findFile $patchdir/${patch} || break
 
     # Apply the patch and check all is OK
     applyPatch $patch || break
 done
+#echo "base all done"
 
 if [ x$gotac != x ]; then
   # Out great user wants the -ac patches
 	# They could have done -ac (get latest) or -acxx where xx=version they want
-	if [ $gotac == "-ac" ]
-	then
+	if [ $gotac == "-ac" ]; then
 	  # They want the latest version
 		HIGHESTPATCH=0
 		for PATCHNAMES in $patchdir/patch-${CURRENTFULLVERSION}-ac*\.*
@@ -176,18 +235,16 @@ if [ x$gotac != x ]; then
 			# Check it is actually a recognised patch type
 			findFile $patchdir/patch-${CURRENTFULLVERSION}-ac${ACVALUE} || break
 
-		  if [ $ACVALUE -gt $HIGHESTPATCH ]
-			then
+		  if [ $ACVALUE -gt $HIGHESTPATCH ]; then
 			  HIGHESTPATCH=$ACVALUE
 		  fi
 		done
 
-		if [ $HIGHESTPATCH -ne 0 ]
-		then
+		if [ $HIGHESTPATCH -ne 0 ]; then
 			findFile $patchdir/patch-${CURRENTFULLVERSION}-ac${HIGHESTPATCH} || break
 			applyPatch patch-${CURRENTFULLVERSION}-ac${HIGHESTPATCH}
 		else
-		  echo "No ac patches found"
+		  echo "No -ac patches found"
 		fi
 	else
 	  # They want an exact version
@@ -198,5 +255,3 @@ if [ x$gotac != x ]; then
 		applyPatch patch-${CURRENTFULLVERSION}${gotac}
 	fi
 fi
-
-


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH] scripts/patch-kernel: use EXTRAVERSION
  2004-08-18 20:57               ` [PATCH] scripts/patch-kernel: use EXTRAVERSION Randy.Dunlap
@ 2004-08-22 20:40                 ` Sam Ravnborg
  2005-03-15 16:15                   ` [BUG] " David Greaves
  0 siblings, 1 reply; 39+ messages in thread
From: Sam Ravnborg @ 2004-08-22 20:40 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: Greg Norris, linux-kernel, akpm, sam

On Wed, Aug 18, 2004 at 01:57:51PM -0700, Randy.Dunlap wrote:
> 
> Update 'scripts/patch-kernel' to support EXTRAVERSION.

I saw no complains, so applied.

	Sam

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [patch 2.6.8-rc4-mm1] via-velocity: wrong module name in Kconfig documentation
  2004-08-14 10:19 ` [patch 2.6.8-rc4-mm1] via-velocity: wrong module name in Kconfig documentation Francois Romieu
@ 2004-09-20 18:44   ` Jeff Garzik
  0 siblings, 0 replies; 39+ messages in thread
From: Jeff Garzik @ 2004-09-20 18:44 UTC (permalink / raw)
  To: Francois Romieu; +Cc: Kernel Mailing List, Andrew Morton, Alan Cox

applied


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [BUG] Re: [PATCH] scripts/patch-kernel: use EXTRAVERSION
  2004-08-22 20:40                 ` Sam Ravnborg
@ 2005-03-15 16:15                   ` David Greaves
  2005-03-15 16:25                     ` Greg KH
  2005-04-12  0:07                     ` [PATCH] scripts/patch-kernel: EXTRAVERSION patches are not incremental Randy.Dunlap
  0 siblings, 2 replies; 39+ messages in thread
From: David Greaves @ 2005-03-15 16:15 UTC (permalink / raw)
  To: Sam Ravnborg, Randy.Dunlap, greg; +Cc: Greg Norris, linux-kernel, akpm

Old thread (!) but this is the last time I could find patch-kernel updated.

Sam Ravnborg wrote:

>On Wed, Aug 18, 2004 at 01:57:51PM -0700, Randy.Dunlap wrote:
>  
>
>>Update 'scripts/patch-kernel' to support EXTRAVERSION.
>>    
>>
>
>I saw no complains, so applied.
>  
>
FYI

$ ./scripts/patch-kernel . /everything/Downloads/Linux/SOURCES/kernel/
Current kernel version is 2.6.10 (Woozy Numbat)
Applying patch-2.6.11 (gzip)... done.
Applying patch-2.6.11.1 (gzip)... done.
Applying patch-2.6.11.2 (gzip)... done.
Applying patch-2.6.11.3 (gzip)... 1 out of 1 hunk FAILED -- saving 
rejects to file Makefile.rej
Reversed (or previously applied) patch detected! Skipping patch.
3 out of 3 hunks ignored -- saving rejects to file 
drivers/input/serio/i8042-x86ia64io.h.rej
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file 
drivers/md/raid6altivec.uc.rej
Reversed (or previously applied) patch detected! Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file fs/eventpoll.c.rej
failed. Clean up yourself.


David

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [BUG] Re: [PATCH] scripts/patch-kernel: use EXTRAVERSION
  2005-03-15 16:15                   ` [BUG] " David Greaves
@ 2005-03-15 16:25                     ` Greg KH
  2005-03-15 17:44                       ` Greg KH
  2005-03-15 18:02                       ` David Greaves
  2005-04-12  0:07                     ` [PATCH] scripts/patch-kernel: EXTRAVERSION patches are not incremental Randy.Dunlap
  1 sibling, 2 replies; 39+ messages in thread
From: Greg KH @ 2005-03-15 16:25 UTC (permalink / raw)
  To: David Greaves; +Cc: Sam Ravnborg, Randy.Dunlap, Greg Norris, linux-kernel, akpm

On Tue, Mar 15, 2005 at 04:15:54PM +0000, David Greaves wrote:
> Old thread (!) but this is the last time I could find patch-kernel updated.

Why not just use ketchup instead?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [BUG] Re: [PATCH] scripts/patch-kernel: use EXTRAVERSION
  2005-03-15 16:25                     ` Greg KH
@ 2005-03-15 17:44                       ` Greg KH
  2005-03-15 17:54                         ` Matt Mackall
  2005-03-15 18:02                       ` David Greaves
  1 sibling, 1 reply; 39+ messages in thread
From: Greg KH @ 2005-03-15 17:44 UTC (permalink / raw)
  To: David Greaves, mpm
  Cc: Sam Ravnborg, Randy.Dunlap, Greg Norris, linux-kernel, akpm

On Tue, Mar 15, 2005 at 08:25:46AM -0800, Greg KH wrote:
> On Tue, Mar 15, 2005 at 04:15:54PM +0000, David Greaves wrote:
> > Old thread (!) but this is the last time I could find patch-kernel updated.
> 
> Why not just use ketchup instead?

Actually, why not just replace patch-kernel with ketchup?

Matt, is that ok with you?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [BUG] Re: [PATCH] scripts/patch-kernel: use EXTRAVERSION
  2005-03-15 17:44                       ` Greg KH
@ 2005-03-15 17:54                         ` Matt Mackall
  2005-03-15 19:55                           ` Sam Ravnborg
  0 siblings, 1 reply; 39+ messages in thread
From: Matt Mackall @ 2005-03-15 17:54 UTC (permalink / raw)
  To: Greg KH
  Cc: David Greaves, Sam Ravnborg, Randy.Dunlap, Greg Norris,
	linux-kernel, akpm

On Tue, Mar 15, 2005 at 09:44:24AM -0800, Greg KH wrote:
> On Tue, Mar 15, 2005 at 08:25:46AM -0800, Greg KH wrote:
> > On Tue, Mar 15, 2005 at 04:15:54PM +0000, David Greaves wrote:
> > > Old thread (!) but this is the last time I could find patch-kernel updated.
> > 
> > Why not just use ketchup instead?
> 
> Actually, why not just replace patch-kernel with ketchup?
> 
> Matt, is that ok with you?

Yes. There are a handful of cleanups that I should do first though.

-- 
Mathematics is the supreme nostalgia of our time.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [BUG] Re: [PATCH] scripts/patch-kernel: use EXTRAVERSION
  2005-03-15 16:25                     ` Greg KH
  2005-03-15 17:44                       ` Greg KH
@ 2005-03-15 18:02                       ` David Greaves
  2005-03-15 18:37                         ` Sam Ravnborg
  1 sibling, 1 reply; 39+ messages in thread
From: David Greaves @ 2005-03-15 18:02 UTC (permalink / raw)
  To: Greg KH; +Cc: Sam Ravnborg, Randy.Dunlap, Greg Norris, linux-kernel, akpm

Greg KH wrote:

>On Tue, Mar 15, 2005 at 04:15:54PM +0000, David Greaves wrote:
>  
>
>>Old thread (!) but this is the last time I could find patch-kernel updated.
>>    
>>
>Why not just use ketchup instead?
>  
>
OK - should patch-kernel be deprecated?
Should ketchup go in scripts/

David

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [BUG] Re: [PATCH] scripts/patch-kernel: use EXTRAVERSION
  2005-03-15 18:02                       ` David Greaves
@ 2005-03-15 18:37                         ` Sam Ravnborg
  0 siblings, 0 replies; 39+ messages in thread
From: Sam Ravnborg @ 2005-03-15 18:37 UTC (permalink / raw)
  To: David Greaves; +Cc: Greg KH, Randy.Dunlap, Greg Norris, linux-kernel, akpm

 >
> OK - should patch-kernel be deprecated?
> Should ketchup go in scripts/

When Matt's send me an updated ketchup I will add it to scripts and
delete patch-kernel.
Well it may be named patch-kernel in scripts/.

	Sam

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [BUG] Re: [PATCH] scripts/patch-kernel: use EXTRAVERSION
  2005-03-15 17:54                         ` Matt Mackall
@ 2005-03-15 19:55                           ` Sam Ravnborg
  0 siblings, 0 replies; 39+ messages in thread
From: Sam Ravnborg @ 2005-03-15 19:55 UTC (permalink / raw)
  To: Matt Mackall
  Cc: Greg KH, David Greaves, Randy.Dunlap, Greg Norris, linux-kernel, akpm

> > 
> > Actually, why not just replace patch-kernel with ketchup?
> > 
> > Matt, is that ok with you?
> 
> Yes. There are a handful of cleanups that I should do first though.

Please make one of those a better help.
It should be obvious that ketchup 2.6-mm fetch newest -mm

At least in my current installation there is no help on <ver>

If stored in the kernel we should name if after it's usage rather than a
nickname - OK?

	Sam

^ permalink raw reply	[flat|nested] 39+ messages in thread

* [PATCH] scripts/patch-kernel: EXTRAVERSION patches are not incremental
  2005-03-15 16:15                   ` [BUG] " David Greaves
  2005-03-15 16:25                     ` Greg KH
@ 2005-04-12  0:07                     ` Randy.Dunlap
  1 sibling, 0 replies; 39+ messages in thread
From: Randy.Dunlap @ 2005-04-12  0:07 UTC (permalink / raw)
  To: David Greaves; +Cc: sam, greg, haphazard, linux-kernel, akpm

[-- Attachment #1: Type: text/plain, Size: 7597 bytes --]

On Tue, 15 Mar 2005 16:15:54 +0000 David Greaves wrote:

| Old thread (!) but this is the last time I could find patch-kernel updated.

I found a little time to update patch-kernel if anyone wants
to use it.  OTOH, using Matt Mackall's "ketchup" is OK too.

I also use 'kcurrent' to keep up with the latest kernel vesions
available -- as noted on www.kernel.org.  It's also attached
and both scripts are available at
  http://developer.osdl.org/rddunlap/scripts/

---

patch-kernel: support non-incremental 2.6.x.y 'stable' patches

# Add better support for (non-incremental) 2.6.x.y patches;
# If an ending version number if not specified, the script automatically
# increments the SUBLEVEL (x in 2.6.x.y) until no more patch files are found;
# however, EXTRAVERSION (y in 2.6.x.y) is never automatically incremented
# but must be specified fully.
#
# patch-kernel does not normally support reverse patching, but does so when
# applying EXTRAVERSION (x.y) patches, so that moving from 2.6.11.y to 2.6.11.z
# is easy and handled by the script (reverse 2.6.11.y and apply 2.6.11.z).

 patch-kernel |  131 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 101 insertions(+), 30 deletions(-)

Signed-off-by: Randy Dunlap <rddunlap@osdl.org>

--- patch-kernel-004	2004-08-18 12:12:19.000000000 -0700
+++ patch-kernel	2005-04-11 17:02:38.000000000 -0700
@@ -46,6 +46,19 @@
 # fix some whitespace damage;
 # be smarter about stopping when current version is larger than requested;
 #	Randy Dunlap <rddunlap@osdl.org>, 2004-AUG-18.
+#
+# Add better support for (non-incremental) 2.6.x.y patches;
+# If an ending version number if not specified, the script automatically
+# increments the SUBLEVEL (x in 2.6.x.y) until no more patch files are found;
+# however, EXTRAVERSION (y in 2.6.x.y) is never automatically incremented
+# but must be specified fully.
+#
+# patch-kernel does not normally support reverse patching, but does so when
+# applying EXTRAVERSION (x.y) patches, so that moving from 2.6.11.y to 2.6.11.z
+# is easy and handled by the script (reverse 2.6.11.y and apply 2.6.11.z).
+#	Randy Dunlap <rddunlap@osdl.org>, 2005-APR-08.
+
+PNAME=patch-kernel
 
 # Set directories from arguments, or use defaults.
 sourcedir=${1-/usr/src/linux}
@@ -54,7 +67,7 @@ stopvers=${3-default}
 
 if [ "$1" == -h -o "$1" == --help -o ! -r "$sourcedir/Makefile" ]; then
 cat << USAGE
-usage: patch-kernel [-h] [ sourcedir [ patchdir [ stopversion ] [ -acxx ] ] ]
+usage: $PNAME [-h] [ sourcedir [ patchdir [ stopversion ] [ -acxx ] ] ]
   source directory defaults to /usr/src/linux,
   patch directory defaults to the current directory,
   stopversion defaults to <all in patchdir>.
@@ -73,6 +86,19 @@ do
 done
 
 # ---------------------------------------------------------------------------
+# arg1 is filename
+noFile () {
+	echo "cannot find patch file: ${patch}"
+	exit 1
+}
+
+# ---------------------------------------------------------------------------
+backwards () {
+	echo "$PNAME does not support reverse patching"
+	exit 1
+}
+
+# ---------------------------------------------------------------------------
 # Find a file, first parameter is basename of file
 # it tries many compression mechanisms and sets variables to say how to get it
 findFile () {
@@ -133,6 +159,28 @@ applyPatch () {
   return 0;
 }
 
+# ---------------------------------------------------------------------------
+# arg1 is patch filename
+reversePatch () {
+	echo -n "Reversing $1 (${name}) ... "
+	if $uncomp ${patchdir}/"$1"${ext} | patch -p1 -Rs -N -E -d $sourcedir
+	then
+		echo "done."
+	else
+		echo "failed.  Clean it up."
+		exit 1
+	fi
+	if [ "`find $sourcedir/ '(' -name '*.rej' -o -name '.*.rej' ')' -print`" ]
+	then
+		echo "Aborting.  Reject files found."
+		return 1
+	fi
+	# Remove backup files
+	find $sourcedir/ '(' -name '*.orig' -o -name '.*.orig' ')' -exec rm -f {} \;
+
+	return 0
+}
+
 # set current VERSION, PATCHLEVEL, SUBLEVEL, EXTRAVERSION
 TMPFILE=`mktemp .tmpver.XXXXXX` || { echo "cannot make temp file" ; exit 1; }
 grep -E "^(VERSION|PATCHLEVEL|SUBLEVEL|EXTRAVERSION)" $sourcedir/Makefile > $TMPFILE
@@ -160,53 +208,57 @@ then
 		EXTRAVER=$EXTRAVERSION
 	fi
 	EXTRAVER=${EXTRAVER%%[[:punct:]]*}
-	#echo "patch-kernel: changing EXTRAVERSION from $EXTRAVERSION to $EXTRAVER"
+	#echo "$PNAME: changing EXTRAVERSION from $EXTRAVERSION to $EXTRAVER"
 fi
 
 #echo "stopvers=$stopvers"
 if [ $stopvers != "default" ]; then
 	STOPSUBLEVEL=`echo $stopvers | cut -d. -f3`
 	STOPEXTRA=`echo $stopvers | cut -d. -f4`
-	#echo "STOPSUBLEVEL=$STOPSUBLEVEL, STOPEXTRA=$STOPEXTRA"
+	#echo "#___STOPSUBLEVEL=/$STOPSUBLEVEL/, STOPEXTRA=/$STOPEXTRA/"
 else
 	STOPSUBLEVEL=9999
 	STOPEXTRA=9999
 fi
 
-while :				# incrementing SUBLEVEL (s in v.p.s)
-do
-    if [ x$EXTRAVER != "x" ]; then
+# This all assumes a 2.6.x[.y] kernel tree.
+# Don't allow backwards/reverse patching.
+if [ $STOPSUBLEVEL -lt $SUBLEVEL ]; then
+	backwards
+fi
+
+if [ x$EXTRAVER != "x" ]; then
 	CURRENTFULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL.$EXTRAVER"
-    else
+else
 	CURRENTFULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL"
-    fi
+fi
+
+if [ x$EXTRAVER != "x" ]; then
+	echo "backing up to: $VERSION.$PATCHLEVEL.$SUBLEVEL"
+	patch="patch-${CURRENTFULLVERSION}"
+	findFile $patchdir/${patch} || noFile ${patch}
+	reversePatch ${patch} || exit 1
+fi
+
+# now current is 2.6.x, with no EXTRA applied,
+# so update to target SUBLEVEL (2.6.SUBLEVEL)
+# and then to target EXTRAVER (2.6.SUB.EXTRAVER) if requested.
+# If not ending sublevel is specified, it is incremented until
+# no further sublevels are found.
 
+if [ $STOPSUBLEVEL -gt $SUBLEVEL ]; then
+while :				# incrementing SUBLEVEL (s in v.p.s)
+do
+    CURRENTFULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL"
+    EXTRAVER=
     if [ $stopvers == $CURRENTFULLVERSION ]; then
         echo "Stopping at $CURRENTFULLVERSION base as requested."
         break
     fi
 
-    while :			# incrementing EXTRAVER (x in v.p.s.x)
-    do
-	EXTRAVER=$((EXTRAVER + 1))
-	FULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL.$EXTRAVER"
-	#echo "... trying $FULLVERSION ..."
-
-	patch=patch-$FULLVERSION
-
-	# See if the file exists and find extension
-	findFile $patchdir/${patch} || break
-
-	# Apply the patch and check all is OK
-	applyPatch $patch || break
-
-	continue 2
-    done
-
-    EXTRAVER=
     SUBLEVEL=$((SUBLEVEL + 1))
     FULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL"
-    #echo "___ trying $FULLVERSION ___"
+    #echo "#___ trying $FULLVERSION ___"
 
     if [ $((SUBLEVEL)) -gt $((STOPSUBLEVEL)) ]; then
 	echo "Stopping since sublevel ($SUBLEVEL) is beyond stop-sublevel ($STOPSUBLEVEL)"
@@ -214,14 +266,33 @@ do
     fi
 
     patch=patch-$FULLVERSION
-
     # See if the file exists and find extension
-    findFile $patchdir/${patch} || break
+    findFile $patchdir/${patch} || noFile ${patch}
 
     # Apply the patch and check all is OK
     applyPatch $patch || break
 done
-#echo "base all done"
+#echo "#___sublevel all done"
+fi
+
+# There is no incremental searching for extraversion...
+if [ "$STOPEXTRA" != "" ]; then
+while :				# just to allow break
+do
+# apply STOPEXTRA directly (not incrementally) (x in v.p.s.x)
+	FULLVERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL.$STOPEXTRA"
+	#echo "#... trying $FULLVERSION ..."
+	patch=patch-$FULLVERSION
+
+	# See if the file exists and find extension
+	findFile $patchdir/${patch} || noFile ${patch}
+
+	# Apply the patch and check all is OK
+	applyPatch $patch || break
+	#echo "#___extraver all done"
+	break
+done
+fi
 
 if [ x$gotac != x ]; then
   # Out great user wants the -ac patches

[-- Attachment #2: kcurrent --]
[-- Type: application/octet-stream, Size: 77 bytes --]

#! /bin/sh

echo
wget -q -O - http://www.kernel.org/kdist/finger_banner
echo

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2005-04-12  0:08 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-14  6:05 Linux v2.6.8 Linus Torvalds
2004-08-14 10:10 ` Linux v2.6.8 - Oops on NFSv3 Willy Tarreau
2004-08-14 10:19   ` Willy Tarreau
2004-08-14 10:34   ` Jeff Garzik
2004-08-14 10:41   ` Linus Torvalds
2004-08-14 10:35     ` Willy Tarreau
2004-08-14 10:49     ` Linus Torvalds
2004-08-14 10:55       ` Christoph Hellwig
2004-08-14 11:05         ` Linus Torvalds
2004-08-14 11:18           ` Arjan van de Ven
2004-08-14 11:27             ` Jeff Garzik
2004-08-14 11:31             ` viro
2004-08-14 12:48           ` Nur Hussein
2004-08-14 20:57             ` Greg Norris
2004-08-18 20:57               ` [PATCH] scripts/patch-kernel: use EXTRAVERSION Randy.Dunlap
2004-08-22 20:40                 ` Sam Ravnborg
2005-03-15 16:15                   ` [BUG] " David Greaves
2005-03-15 16:25                     ` Greg KH
2005-03-15 17:44                       ` Greg KH
2005-03-15 17:54                         ` Matt Mackall
2005-03-15 19:55                           ` Sam Ravnborg
2005-03-15 18:02                       ` David Greaves
2005-03-15 18:37                         ` Sam Ravnborg
2005-04-12  0:07                     ` [PATCH] scripts/patch-kernel: EXTRAVERSION patches are not incremental Randy.Dunlap
2004-08-17  3:13             ` Linux v2.6.8 - Oops on NFSv3 Patrick McFarland
2004-08-14 17:20           ` Matt Mackall
2004-08-15 20:10             ` Marcelo Tosatti
2004-08-16  3:37           ` Han Boetes
2004-08-16 14:06           ` Daniel Jacobowitz
2004-08-16 22:39           ` Bill Davidsen
2004-08-18  8:29           ` Robert Schwebel
2004-08-14 15:33       ` Norman Zhang
2004-08-14 10:19 ` [patch 2.6.8-rc4-mm1] via-velocity: wrong module name in Kconfig documentation Francois Romieu
2004-09-20 18:44   ` Jeff Garzik
2004-08-14 10:30 ` Linux v2.6.8 Jeff Garzik
2004-08-14 11:19   ` Stephan von Krawczynski
2004-08-14 11:38     ` Francois Romieu
2004-08-14 11:16 ` William Lee Irwin III
2004-08-16 17:56 ` Linux v2.6.8 (compile stats) John Cherry

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).