All of lore.kernel.org
 help / color / mirror / Atom feed
* RAWNAT kernel crash
@ 2008-07-10  9:14 Manu
  2008-07-10  9:22 ` Jan Engelhardt
  0 siblings, 1 reply; 9+ messages in thread
From: Manu @ 2008-07-10  9:14 UTC (permalink / raw)
  To: Netfilter Developer Mailing List

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

hello together,

I did succesfully compile the RAWNAT stuff from xtables-addons with the 
current snapshot.
I can set the following rules:
iptables -t raw -I PREROUTING -i eth2 -s 192.168.0.123 -j RAWSNAT 
--to-source 10.0.23.2
iptables -t rawpost -I POSTROUTING -o eth2 -d 10.0.23.2 -j RAWDNAT 
--to-destination 192.168.0.123

To set the rule for table rawpost I have to change the source code in 
xt_RAWNAT.c:
from:
static bool rawnat_tg_check(const char *table, const void *entry,
    const struct xt_target *target, void *targinfo, unsigned int hook_mask)
{
        if (strcmp(table, "raw") == 0 || strcmp(table, "postraw") == 0)
                return true;

        printk(KERN_ERR KBUILD_MODNAME " may only be used in the \"raw\" 
or "
               "\"rawpost\" table.\n");
        return false;
}
to:
static bool rawnat_tg_check(const char *table, const void *entry,
    const struct xt_target *target, void *targinfo, unsigned int hook_mask)
{
        if (strcmp(table, "raw") == 0 || strcmp(table, "rawpost") == 0)
                return true;

        printk(KERN_ERR KBUILD_MODNAME " may only be used in the \"raw\" 
or "
               "\"rawpost\" table.\n");
        return false;
}

I can set the rules but everytime I want to send traffic through the 
rules I got a system crash!?
In my kernel configuration I didn't compiled in the SECMARK stuff! 
Because if I do so my computer didn't boot! I don't know why?
I have attached my kernel config file.

kernel: 2.6.23.9
iptables: 1.4.1.1
gcc: 3.3

If somebody knows the issue or can help to solve my problem - it would 
be greatly appreciated.

Best Regards,
Manu

[-- Attachment #2: config --]
[-- Type: text/plain, Size: 37451 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.23.9
# Thu Jul 10 09:54:49 2008
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="-default"
CONFIG_LOCALVERSION_AUTO=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_USER_NS is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
CONFIG_IOSCHED_DEADLINE=y
# CONFIG_IOSCHED_CFQ is not set
# CONFIG_DEFAULT_AS is not set
CONFIG_DEFAULT_DEADLINE=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="deadline"

#
# Processor type and features
#
# CONFIG_TICK_ONESHOT is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
# CONFIG_SMP is not set
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_PARAVIRT is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
CONFIG_M586=y
# 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_MCORE2 is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_XADD=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_PPRO_FENCE=y
CONFIG_X86_F00F_BUG=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_ALIGNMENT_16=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
# CONFIG_HPET_TIMER is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
# CONFIG_PREEMPT_BKL is not set
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
CONFIG_X86_REBOOTFIXUPS=y
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_DMIID is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
CONFIG_PAGE_OFFSET=0xC0000000
# CONFIG_X86_PAE is not set
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_NR_QUICK=1
CONFIG_VIRT_TO_BUS=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_KEXEC=y
CONFIG_PHYSICAL_START=0x100000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x100000
# CONFIG_COMPAT_VDSO is not set

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_PM_LEGACY is not set
# CONFIG_PM_DEBUG is not set
CONFIG_SUSPEND_UP_POSSIBLE=y
# CONFIG_SUSPEND is not set
CONFIG_HIBERNATION_UP_POSSIBLE=y
CONFIG_ACPI=y
# CONFIG_ACPI_PROCFS is not set
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=m
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_ASUS=m
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_DEBUG_FUNC_TRACE=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=m
# CONFIG_ACPI_SBS 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_PCIEPORTBUS is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_MISC=y

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
# CONFIG_IP_ROUTE_MULTIPATH is not set
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK_ENABLED=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
# CONFIG_NF_CONNTRACK_AMANDA is not set
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_DCCP=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ESP=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_SCTP=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_U32=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y

#
# IP: Netfilter Configuration
#
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_IPRANGE=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_RECENT=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_MATCH_ADDRTYPE=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_SAME=y
# CONFIG_NF_NAT_SNMP_BASIC is not set
CONFIG_NF_NAT_PROTO_GRE=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_TFTP=y
# CONFIG_NF_NAT_AMANDA is not set
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_NF_NAT_SIP=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y

#
# DECnet: Netfilter Configuration
#
# CONFIG_DECNET_NF_GRABULATOR is not set

#
# 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_BRIDGE_EBT_ULOG=m
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
# CONFIG_ATM_LANE is not set
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_DECNET=m
CONFIG_DECNET_ROUTER=y
CONFIG_LLC=m
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_FIFO=y

#
# Queueing/Scheduling
#
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_RR=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

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
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=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
# CONFIG_NET_CLS_RSVP6 is not set
# CONFIG_NET_EMATCH is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
# CONFIG_NET_CLS_POLICE is not set
# CONFIG_NET_CLS_IND is not set

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y

#
# Wireless
#
# CONFIG_CFG80211 is not set
# CONFIG_WIRELESS_EXT is not set
# CONFIG_MAC80211 is not set
# CONFIG_IEEE80211 is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT_1284 is not set
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_ISAPNP=y
# CONFIG_PNPBIOS is not set
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# 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_COW_COMMON 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_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=64000
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_IDE=y
CONFIG_IDE_ACCESSCODECHECK=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 is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_BLK_DEV_IDEACPI is not set
CONFIG_IDE_TASK_IOCTL=y
CONFIG_IDE_PROC_FS=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 is not set
CONFIG_IDEPCI_PCIBUS_ORDER=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_IDEDMA_PCI is not set
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
# CONFIG_BLK_DEV_IDEDMA is not set
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
CONFIG_SCSI_PROC_FS=y

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

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

#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_LOWLEVEL is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
CONFIG_SATA_AHCI=y
# CONFIG_SATA_SVW is not set
# CONFIG_ATA_PIIX is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIL24 is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
CONFIG_SATA_VIA=y
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_ISAPNP is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_LEGACY is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
CONFIG_PATA_MPIIX=y
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_QDI is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
CONFIG_PATA_VIA=y
# CONFIG_PATA_WINBOND is not set
# CONFIG_PATA_WINBOND_VLB is not set
# CONFIG_MD is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_SPI is not set
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
# CONFIG_IFB is not set
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
# CONFIG_PHYLIB is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_NET_TULIP 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 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# 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 is not set
# CONFIG_E100 is not set
# 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=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_SC92031 is not set
# CONFIG_NET_POCKET is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set

#
# USB Network Adapters
#
# 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_MII is not set
# CONFIG_USB_USBNET is not set
# CONFIG_WAN is not set
# CONFIG_ATM_DRIVERS is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PLIP=y
CONFIG_PPP=m
# CONFIG_PPP_MULTILINK is not set
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
# CONFIG_PPPOE is not set
# CONFIG_PPPOATM is not set
# CONFIG_PPPOL2TP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=m
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set

#
# 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 is not set
# CONFIG_INPUT_EVBUG is not set

#
# 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_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH 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_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_COMPUTONE is not set
# CONFIG_ROCKETPORT is not set
# CONFIG_CYCLADES is not set
# CONFIG_DIGIEPCA is not set
# CONFIG_ESPSERIAL is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_MOXA_SMARTIO_NEW is not set
# CONFIG_ISI is not set
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not set
# CONFIG_SYNCLINK_GT is not set
# CONFIG_N_HDLC is not set
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
# CONFIG_SX is not set
# CONFIG_RIO is not set
# CONFIG_STALDRV is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_CONSOLE is not set
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=y
# CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=m
# CONFIG_RTC is not set
CONFIG_GEN_RTC=y
CONFIG_GEN_RTC_X=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
CONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=y
# 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 is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
# CONFIG_CS5535_GPIO is not set
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=4096
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_CHARDEV is not set

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m

#
# 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 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_ELEKTOR is not set
# CONFIG_I2C_I801 is not set
CONFIG_I2C_I810=m
CONFIG_I2C_PIIX4=m
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_I2C_SIMTEC 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_TAOS_EVM is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_TINY_USB is not set
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
# CONFIG_I2C_VOODOO3 is not set
# CONFIG_I2C_PCA_ISA is not set

#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_DS1682 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 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

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7418 is not set
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
# CONFIG_SENSORS_ADM1029 is not set
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
# CONFIG_SENSORS_K8TEMP is not set
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS1621=m
# CONFIG_SENSORS_F71805F is not set
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_FSCPOS=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_CORETEMP is not set
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
# CONFIG_SENSORS_LM93 is not set
CONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_MAX6650 is not set
CONFIG_SENSORS_PC87360=m
# CONFIG_SENSORS_PC87427 is not set
CONFIG_SENSORS_SIS5595=m
# CONFIG_SENSORS_DME1737 is not set
CONFIG_SENSORS_SMSC47M1=m
# CONFIG_SENSORS_SMSC47M192 is not set
CONFIG_SENSORS_SMSC47B397=m
# CONFIG_SENSORS_THMC50 is not set
CONFIG_SENSORS_VIA686A=m
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
CONFIG_SENSORS_W83781D=m
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_DAB is not set

#
# Graphics support
#
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=m
# CONFIG_BACKLIGHT_PROGEAR is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
# CONFIG_VIDEO_SELECT is not set
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y

#
# Sound
#
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HID_DEBUG=y

#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
# CONFIG_HID_FF is not set
# CONFIG_USB_HIDDEV is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_PERSIST is not set
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_SPLIT_ISO=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=y

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_LIBUSUAL is not set

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

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set

#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX 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_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGET is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set

#
# USB DSL modem support
#
# CONFIG_USB_ATM is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set

#
# DMA Engine support
#
# CONFIG_DMA_ENGINE is not set

#
# DMA Clients
#

#
# DMA Devices
#
# CONFIG_AUXDISPLAY is not set
# CONFIG_VIRTUALIZATION is not set

#
# Userspace I/O
#
# CONFIG_UIO is not set

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS is not set
# CONFIG_EXT4DEV_FS is not set
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_MINIX_FS=y
# CONFIG_ROMFS_FS is not set
# CONFIG_INOTIFY is not set
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y
# CONFIG_FUSE_FS is not set
CONFIG_GENERIC_ACL=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# 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_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_CONFIGFS_FS is not set

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_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_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_DIRECTIO=y
# CONFIG_NFSD is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
# CONFIG_SUNRPC_BIND34 is not set
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=m
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp850"
# CONFIG_CIFS 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 is not set
CONFIG_MSDOS_PARTITION=y

#
# 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 is not set
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

#
# Distributed Lock Manager
#
# CONFIG_DLM is not set
CONFIG_INSTRUMENTATION=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
# CONFIG_KPROBES is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
# CONFIG_ENABLE_MUST_CHECK is not set
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_SLUB_DEBUG_ON is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_EARLY_PRINTK=y
CONFIG_DOUBLEFAULT=y

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
# CONFIG_SECURITY is not set
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_GF128MUL is not set
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_586 is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
CONFIG_CRYPTO_ARC4=m
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_TEST is not set
# CONFIG_CRYPTO_HW is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=y
# CONFIG_CRC16 is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_KTIME_SCALAR=y

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

* Re: RAWNAT kernel crash
  2008-07-10  9:14 RAWNAT kernel crash Manu
@ 2008-07-10  9:22 ` Jan Engelhardt
       [not found]   ` <4875DCD0.9070107@gmx.de>
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Engelhardt @ 2008-07-10  9:22 UTC (permalink / raw)
  To: Manu; +Cc: Netfilter Developer Mailing List


On Thursday 2008-07-10 11:14, Manu wrote:

> hello together,
>
> I did succesfully compile the RAWNAT stuff from xtables-addons with the current
> snapshot.
> I can set the following rules:
> iptables -t raw -I PREROUTING -i eth2 -s 192.168.0.123 -j RAWSNAT --to-source
> 10.0.23.2
> iptables -t rawpost -I POSTROUTING -o eth2 -d 10.0.23.2 -j RAWDNAT
> --to-destination 192.168.0.123
>
> To set the rule for table rawpost I have to change the source code in
> xt_RAWNAT.c:
> from/to:
> static bool rawnat_tg_check(const char *table, const void *entry,
> static bool rawnat_tg_check(const char *table, const void *entry,
>   const struct xt_target *target, void *targinfo, unsigned int hook_mask)
>   const struct xt_target *target, void *targinfo, unsigned int hook_mask)
> {
> {
>       if (strcmp(table, "raw") == 0 || strcmp(table, "postraw") == 0)
>       if (strcmp(table, "raw") == 0 || strcmp(table, "rawpost") == 0)
>               return true;
>               return true;
>
>       printk(KERN_ERR KBUILD_MODNAME " may only be used in the \"raw\" or "
>       printk(KERN_ERR KBUILD_MODNAME " may only be used in the \"raw\" or "
>              "\"rawpost\" table.\n");
>              "\"rawpost\" table.\n");
>       return false;
>       return false;
> }
> }

I do not see a change.

> I can set the rules but everytime I want to send traffic through the rules I
> got a system crash!?

I will investigate... I assume you do have dcd0c66 at least?

> In my kernel configuration I didn't compiled in the SECMARK stuff! Because if I
> do so my computer didn't boot! I don't know why?

I updated the RAWNAT branch to merge in master; it should not
strictly need SECMARK anymore.

> I have attached my kernel config file.
>
> kernel: 2.6.23.9
> iptables: 1.4.1.1
> gcc: 3.3
>
> If somebody knows the issue or can help to solve my problem - it would be
> greatly appreciated.

Posting the crash would be helpful.

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

* Re: RAWNAT kernel crash
       [not found]   ` <4875DCD0.9070107@gmx.de>
@ 2008-07-10 10:11     ` Jan Engelhardt
       [not found]       ` <4875EF77.8060700@gmx.de>
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Engelhardt @ 2008-07-10 10:11 UTC (permalink / raw)
  To: Manu; +Cc: Netfilter Developer Mailing List


(and don't strip the mailing list from cc)

On Thursday 2008-07-10 11:56, Manu wrote:
>
>>> I can set the rules but everytime I want to send traffic through the rules
>>> I got a system crash!?
>>
>> I will investigate... I assume you do have dcd0c66 at least?
>>   
> I don't know what you mean with dcd0c66. I downloaded the snapshot of
> 2008-04-28

Ah ok, if you click on that you will see "commit
dcd0c661355bc5ff95d3a587c49fa59d8c4a8fef"

>> Posting the crash would be helpful.
>
> What exactly do you mean with posting the crash?

Kernel log, oops dump. If you just say "crash", then that could be
anything, with cosmic rays to begin.

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

* Re: RAWNAT kernel crash
       [not found]       ` <4875EF77.8060700@gmx.de>
@ 2008-07-10 11:23         ` Manu
  2008-07-15 11:43           ` Manu
  0 siblings, 1 reply; 9+ messages in thread
From: Manu @ 2008-07-10 11:23 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Netfilter Developer Mailing List

Manu schrieb:
> Jan Engelhardt schrieb:
>> (and don't strip the mailing list from cc)
>>
>> On Thursday 2008-07-10 11:56, Manu wrote:
>>   
>>>>> I can set the rules but everytime I want to send traffic through the rules
>>>>> I got a system crash!?
>>>>>         
>>>> I will investigate... I assume you do have dcd0c66 at least?
>>>>   
>>>>       
>>> I don't know what you mean with dcd0c66. I downloaded the snapshot of
>>> 2008-04-28
>>>     
>>
>> Ah ok, if you click on that you will see "commit
>> dcd0c661355bc5ff95d3a587c49fa59d8c4a8fef"
>>
>>   
>>>> Posting the crash would be helpful.
>>>>       
>>> What exactly do you mean with posting the crash?
>>>     
>>
>> Kernel log, oops dump. If you just say "crash", then that could be
>> anything, with cosmic rays to begin.
>>
>>   
> maybe this is already helpful - i will work on further informations 
> about the "crash"
>
>
> <3>compat_xtables: compat layer limits reached 
> (xtnu_skb_make_writable) - dropping packets
> <3>compat_xtables: compat layer limits reached 
> (xtnu_skb_make_writable) - dropping packets
> <1>BUG: unable to handle kernel NULL pointer dereference at virtual 
> address 00000004
> <1> printing eip:
> <4>c02acd98
> <1>*pde = 00000000
> <0>Oops: 0002 [#1]
> <0>PREEMPT
> <4>Modules linked in: iptable_rawpost xt_RAWNAT compat_xtables ebt_ip 
> ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too 
> cramfs
> <0>CPU:    0
> <0>EIP:    0060:[<c02acd98>]    Not tainted VLI
> <0>EFLAGS: 00010047   (2.6.23.9-default #26)
> <0>EIP is at skb_dequeue+0x21/0x4d
> <0>eax: 00000000   ebx: c4cf93c0   ecx: 00000246   edx: c5a06c60
> <0>esi: c5a06c00   edi: 00000000   ebp: c512fe2c   esp: c512fdfc
> <0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
>
>


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

* Re: RAWNAT kernel crash
  2008-07-10 11:23         ` Manu
@ 2008-07-15 11:43           ` Manu
  2008-07-16 16:21             ` Manu
  0 siblings, 1 reply; 9+ messages in thread
From: Manu @ 2008-07-15 11:43 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Netfilter Developer Mailing List

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

Manu schrieb:
> Manu schrieb:
>> Jan Engelhardt schrieb:
>>> (and don't strip the mailing list from cc)
>>>
>>> On Thursday 2008-07-10 11:56, Manu wrote:
>>>  
>>>>>> I can set the rules but everytime I want to send traffic through 
>>>>>> the rules
>>>>>> I got a system crash!?
>>>>>>         
>>>>> I will investigate... I assume you do have dcd0c66 at least?
>>>>>         
>>>> I don't know what you mean with dcd0c66. I downloaded the snapshot of
>>>> 2008-04-28
>>>>     
>>>
>>> Ah ok, if you click on that you will see "commit
>>> dcd0c661355bc5ff95d3a587c49fa59d8c4a8fef"
>>>
>>>  
>>>>> Posting the crash would be helpful.
>>>>>       
>>>> What exactly do you mean with posting the crash?
>>>>     
>>>
>>> Kernel log, oops dump. If you just say "crash", then that could be
>>> anything, with cosmic rays to begin.
>>>
>>>   
>> maybe this is already helpful - i will work on further informations 
>> about the "crash"
>>
>>
>> <3>compat_xtables: compat layer limits reached 
>> (xtnu_skb_make_writable) - dropping packets
>> <3>compat_xtables: compat layer limits reached 
>> (xtnu_skb_make_writable) - dropping packets
>> <1>BUG: unable to handle kernel NULL pointer dereference at virtual 
>> address 00000004
>> <1> printing eip:
>> <4>c02acd98
>> <1>*pde = 00000000
>> <0>Oops: 0002 [#1]
>> <0>PREEMPT
>> <4>Modules linked in: iptable_rawpost xt_RAWNAT compat_xtables ebt_ip 
>> ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too 
>> cramfs
>> <0>CPU:    0
>> <0>EIP:    0060:[<c02acd98>]    Not tainted VLI
>> <0>EFLAGS: 00010047   (2.6.23.9-default #26)
>> <0>EIP is at skb_dequeue+0x21/0x4d
>> <0>eax: 00000000   ebx: c4cf93c0   ecx: 00000246   edx: c5a06c60
>> <0>esi: c5a06c00   edi: 00000000   ebp: c512fe2c   esp: c512fdfc
>> <0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
>>
I have got further informations about the "crash". I activated the 
kernel debug and I adjusted the "crash" 3 times -> I got everytime 
different log-messages?!
see attachment!
I think the "crash" happens after a paket passes the table of the 
iptable rule "-t raw -I PREROUTING -s x.x.x.x -j RAWSNAT --to-source 
x.x.x.x"
I can see that the table "-t rawpost -I POSTROUTING -d x.x.x.x -j 
RAWDNAT --to-destination x.x.x.x" can be passed by a few pakets withour 
a "crash".
I don't know how to collect more informations about the crash? What else 
can I do to provide more informations about it to you?

Regards,
Manu



[-- Attachment #2: kernel_log --]
[-- Type: text/plain, Size: 13071 bytes --]

klogd 1.4.1, log source = /proc/kmsg started.
Cannot find map file.
No module symbols loaded - kernel modules not enabled.

Cannot build symbol table - disabling symbol lookups
<7>kobject holders: unregistering
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject holders: cleaning up
<7>kobject xt_RAWNAT: unregistering
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/xt_RAWNAT'
<7>kobject xt_RAWNAT: cleaning up
<7>kobject xt_RAWNAT: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: xt_RAWNAT, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/xt_RAWNAT'
<6>device eth0 entered promiscuous mode
<5>audit(1216114343.672:13): dev=eth0 prom=256 old_prom=0 auid=4294967295
<6>device eth0 left promiscuous mode
<5>audit(1216114344.804:14): dev=eth0 prom=0 old_prom=256 auid=4294967295
<3>compat_xtables: compat layer limits reached (xtnu_skb_make_writable) - dropping packets
<1>BUG: unable to handle kernel NULL pointer dereference at virtual address 00000001
<1> printing eip:
<4>c0150f45
<1>*pde = 00000000
<0>Oops: 0000 [#1]
<0>PREEMPT 
<4>Modules linked in: xt_RAWNAT iptable_rawpost compat_xtables ebtable_filter ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too cramfs
<0>CPU:    0
<0>EIP:    0060:[<c0150f45>]    Not tainted VLI
<0>EFLAGS: 00010002   (2.6.23.9-default #30)
<0>EIP is at kmem_cache_alloc+0x4e/0x92
<0>eax: 00000000   ebx: 00000001   ecx: c0483b18   edx: c10a9720
<0>esi: 00000296   edi: 00000001   ebp: 000000d0   esp: c5255eb4
<0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
<0>Process userstatus (pid: 11776, ti=c5254000 task=c40c3500 task.ti=c5254000)
<0>Stack: bffffff3 c623fd00 c0483b18 00000000 c045aa5c c61bf200 c61bf200 c017c3a5 
<0>       00000000 056ab067 00000007 00000000 056ab067 00000007 bfffff22 00000010 
<0>       00000000 00000007 c6514b58 00000000 bfffff22 c0145bfa c40c3500 00000020 
<0>Call Trace:
<0> [<c017c3a5>] load_elf_binary+0x68/0xb89
<0> [<c0145bfa>] get_user_pages+0x1f7/0x244
<0> [<c01ea803>] copy_from_user+0x31/0x52
<0> [<c01590fa>] search_binary_handler+0xe3/0x259
<0> [<c017c33d>] load_elf_binary+0x0/0xb89
<0> [<c015938c>] do_execve+0x11c/0x171
<0> [<c0102c69>] sys_execve+0x2d/0x7c
<0> [<c0103e62>] syscall_call+0x7/0xb
<0> =======================
<0>Code: 00 85 d2 74 07 8b 7a 0c 85 ff 75 19 89 54 24 04 83 c9 ff 89 ea 8b 44 24 08 89 1c 24 e8 8b fe ff ff 89 c3 eb 0c 0f b7 42 0a 89 fb <8b> 04 87 89 42 0c 56 9d c1 ed 0f 85 db 0f 95 c0 21 c5 83 e5 01 
<0>EIP: [<c0150f45>] kmem_cache_alloc+0x4e/0x92 SS:ESP 0068:c5255eb4
<1>BUG: unable to handle kernel NULL pointer dereference at virtual address 00000001
<1> printing eip:
<4>c0150f45
<1>*pde = 00000000
<0>Oops: 0000 [#2]
<0>PREEMPT 
<4>Modules linked in: xt_RAWNAT iptable_rawpost compat_xtables ebtable_filter ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too cramfs
<0>CPU:    0
<0>EIP:    0060:[<c0150f45>]    Tainted: G      D VLI
<0>EFLAGS: 00010002   (2.6.23.9-default #30)
<0>EIP is at kmem_cache_alloc+0x4e/0x92
<0>eax: 00000000   ebx: 00000001   ecx: c0483b18   edx: c10a9720
<0>esi: 00000296   edi: 00000001   ebp: 000000d0   esp: c48d7eb4
<0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
<0>Process userstatus (pid: 11779, ti=c48d6000 task=c4224a80 task.ti=c48d6000)
<0>Stack: bffffff3 c623f1a0 c0483b18 00000000 c045aa5c c61bf400 c61bf400 c017c3a5 
<0>       00000000 05f4b067 00000007 00000000 05f4b067 00000007 bfffff23 00000010 
<0>       00000000 00000007 c6514c08 00000000 bfffff23 c0145bfa c4224a80 00000020 
<0>Call Trace:
<0> [<c017c3a5>] load_elf_binary+0x68/0xb89
<0> [<c0145bfa>] get_user_pages+0x1f7/0x244
<0> [<c01ea803>] copy_from_user+0x31/0x52
<0> [<c01590fa>] search_binary_handler+0xe3/0x259
<0> [<c017c33d>] load_elf_binary+0x0/0xb89
<0> [<c015938c>] do_execve+0x11c/0x171
<0> [<c0102c69>] sys_execve+0x2d/0x7c
<0> [<c0103e62>] syscall_call+0x7/0xb
<0> =======================
<0>Code: 00 85 d2 74 07 8b 7a 0c 85 ff 75 19 89 54 24 04 83 c9 ff 89 ea 8b 44 24 08 89 1c 24 e8 8b fe ff ff 89 c3 eb 0c 0f b7 42 0a 89 fb <8b> 04 87 89 42 0c 56 9d c1 ed 0f 85 db 0f 95 c0 21 c5 83 e5 01 
<0>EIP: [<c0150f45>] kmem_cache_alloc+0x4e/0x92 SS:ESP 0068:c48d7eb4
<1>BUG: unable to handle kernel NULL pointer dereference at virtual address 00000001
<1> printing eip:
<4>c0150f45
<1>*pde = 00000000
<0>Oops: 0000 [#3]
<0>PREEMPT 
<4>Modules linked in: xt_RAWNAT iptable_rawpost compat_xtables ebtable_filter ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too cramfs
<0>CPU:    0
<0>EIP:    0060:[<c0150f45>]    Tainted: G      D VLI
<0>EFLAGS: 00010002   (2.6.23.9-default #30)
<0>EIP is at kmem_cache_alloc+0x4e/0x92
<0>eax: 00000000   ebx: 00000001   ecx: c0483b18   edx: c10a9720
<0>esi: 00000286   edi: 00000001   ebp: 000000d0   esp: c415fec0
<0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
<0>Process userstatus (pid: 11778, ti=c415e000 task=c40c3500 task.ti=c415e000)
<0>Stack: 00000001 000200d0 c0483b18 c4224000 c415ff24 c54b93c0 c4224000 c011372b 
<0>       c471e5f0 c10a7120 00000000 c0128ad0 c011378e 00000000 0026e98f 00000000 
<0>       00000000 c422414c 00135416 fffffff2 c4224000 00000000 00000001 c4224000 
<0>Call Trace:
<0> [<c011372b>] alloc_files+0x12/0x5f
<0> [<c0128ad0>] getnstimeofday+0x30/0xee
<0> [<c011378e>] dup_fd+0x16/0x222
<0> [<c01139d0>] copy_files+0x36/0x4d
<0> [<c0113e18>] copy_process+0x3a9/0xcc0
<0> [<c012326c>] alloc_pid+0x11/0xba
<0> [<c01147d3>] do_fork+0xa4/0x176
<0> [<c0102bcd>] sys_fork+0x2c/0x30
<0> [<c0103e62>] syscall_call+0x7/0xb
<0> =======================
<0>Code: 00 85 d2 74 07 8b 7a 0c 85 ff 75 19 89 54 24 04 83 c9 ff 89 ea 8b 44 24 08 89 1c 24 e8 8b fe ff ff 89 c3 eb 0c 0f b7 42 0a 89 fb <8b> 04 87 89 42 0c 56 9d c1 ed 0f 85 db 0f 95 c0 21 c5 83 e5 01 
<0>EIP: [<c0150f45>] kmem_cache_alloc+0x4e/0x92 SS:ESP 0068:c415fec0
<1>BUG: unable to handle kernel NULL pointer dereference at virtual address 00000001
<1> printing eip:
<4>c0150f45
<1>*pde = 00000000
<0>Oops: 0000 [#4]
<0>PREEMPT 
<4>Modules linked in: xt_RAWNAT iptable_rawpost compat_xtables ebtable_filter ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too cramfs
<0>CPU:    0
<0>EIP:    0060:[<c0150f45>]    Tainted: G      D VLI
<0>EFLAGS: 00010002   (2.6.23.9-default #30)
<0>EIP is at kmem_cache_alloc+0x4e/0x92
<0>eax: 00000000   ebx: 00000001   ecx: c0483b18   edx: c10a9720
<0>esi: 00000286   edi: 00000001   ebp: 000000d0   esp: c4d91ec0
<0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
<0>Process userstatus (pid: 2810, ti=c4d90000 task=c5ae6000 task.ti=c4d90000)
<0>Stack: 00000001 000200d0 c0483b18 c537c540 c4d91f24 c597c6c0 c537c540 c011372b 
<0>       ffffffff 000000d0 c0113001 c0128ad0 c011378e 00000000 0044b683 00000000 
<0>       00000000 c537c68c 00135416 fffffff2 c537c540 00000000 00000001 c537c540 
<0>Call Trace:
<0> [<c011372b>] alloc_files+0x12/0x5f
<0> [<c0113001>] dup_task_struct+0x1a/0x94
<0> [<c0128ad0>] getnstimeofday+0x30/0xee
<0> [<c011378e>] dup_fd+0x16/0x222
<0> [<c01139d0>] copy_files+0x36/0x4d
<0> [<c0113e18>] copy_process+0x3a9/0xcc0
<0> [<c012326c>] alloc_pid+0x11/0xba
<0> [<c01147d3>] do_fork+0xa4/0x176
<0> [<c015aa7b>] do_pipe+0x8e/0xdc
<0> [<c0102bcd>] sys_fork+0x2c/0x30
<0> [<c0103e62>] syscall_call+0x7/0xb
<0> =======================
<0>Code: 00 85 d2 74 07 8b 7a 0c 85 ff 75 19 89 54 24 04 83 c9 ff 89 ea 8b 44 24 08 89 1c 24 e8 8b fe ff ff 89 c3 eb 0c 0f b7 42 0a 89 fb <8b> 04 87 89 42 0c 56 9d c1 ed 0f 85 db 0f 95 c0 21 c5 83 e5 01 
<0>EIP: [<c0150f45>] kmem_cache_alloc+0x4e/0x92 SS:ESP 0068:c4d91ec0
<1>BUG: unable to handle kernel paging request at virtual address 4b990000
<1> printing eip:
<4>c0150f45
<1>*pde = 00000000
<0>Oops: 0000 [#5]
<0>PREEMPT 
<4>Modules linked in: xt_RAWNAT iptable_rawpost compat_xtables ebtable_filter ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too cramfs
<0>CPU:    0
<0>EIP:    0060:[<c0150f45>]    Tainted: G      D VLI
<0>EFLAGS: 00010006   (2.6.23.9-default #30)
<0>EIP is at kmem_cache_alloc+0x4e/0x92
<0>eax: 00000000   ebx: 4b990000   ecx: c0483b18   edx: c10a9720
<0>esi: 00000296   edi: 4b990000   ebp: 000000d0   esp: c6bb1eb4
<0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
<0>Process bonprinterin (pid: 11783, ti=c6bb0000 task=c537da40 task.ti=c6bb0000)
<0>Stack: bffffff1 c623fb60 c0483b18 00000000 c045aa5c c45b8800 c45b8800 c017c3a5 
<0>       00000000 06217067 00000007 00000000 06217067 00000007 bfffff32 00000010 
<0>       00000000 00000007 c65145d8 00000000 bfffff32 c0145bfa c537da40 00000020 
<0>Call Trace:
<0> [<c017c3a5>] load_elf_binary+0x68/0xb89
<0> [<c0145bfa>] get_user_pages+0x1f7/0x244
<0> [<c01ea803>] copy_from_user+0x31/0x52
<0> [<c01590fa>] search_binary_handler+0xe3/0x259
<0> [<c017c33d>] load_elf_binary+0x0/0xb89
<0> [<c015938c>] do_execve+0x11c/0x171
<0> [<c0102c69>] sys_execve+0x2d/0x7c
<0> [<c0103e62>] syscall_call+0x7/0xb
<0> =======================
<0>Code: 00 85 d2 74 07 8b 7a 0c 85 ff 75 19 89 54 24 04 83 c9 ff 89 ea 8b 44 24 08 89 1c 24 e8 8b fe ff ff 89 c3 eb 0c 0f b7 42 0a 89 fb <8b> 04 87 89 42 0c 56 9d c1 ed 0f 85 db 0f 95 c0 21 c5 83 e5 01 
<0>EIP: [<c0150f45>] kmem_cache_alloc+0x4e/0x92 SS:ESP 0068:c6bb1eb4
<1>BUG: unable to handle kernel paging request at virtual address 4b990000
<1> printing eip:
<4>c0150f45
<1>*pde = 00000000
<0>Oops: 0000 [#6]
<0>PREEMPT 
<4>Modules linked in: xt_RAWNAT iptable_rawpost compat_xtables ebtable_filter ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too cramfs
<0>CPU:    0
<0>EIP:    0060:[<c0150f45>]    Tainted: G      D VLI
<0>EFLAGS: 00010006   (2.6.23.9-default #30)
<0>EIP is at kmem_cache_alloc+0x4e/0x92
<0>eax: 00000000   ebx: 4b990000   ecx: c0483b18   edx: c10a9720
<0>esi: 00000286   edi: 4b990000   ebp: 000000d0   esp: c6405ec0
<0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
<0>Process bonprinterin (pid: 3130, ti=c6404000 task=c6dac000 task.ti=c6404000)
<0>Stack: 00000001 000200d0 c0483b18 c5ae6000 c6405f24 c597c900 c5ae6000 c011372b 
<0>       ffffffff 000000d0 c0113001 c0128ad0 c011378e 00000000 002bb84e 00000000 
<0>       00000000 c5ae614c 001355a0 fffffff2 c5ae6000 00000000 00000001 c5ae6000 
<0>Call Trace:
<0> [<c011372b>] alloc_files+0x12/0x5f
<0> [<c0113001>] dup_task_struct+0x1a/0x94
<0> [<c0128ad0>] getnstimeofday+0x30/0xee
<0> [<c011378e>] dup_fd+0x16/0x222
<0> [<c01139d0>] copy_files+0x36/0x4d
<0> [<c0113e18>] copy_process+0x3a9/0xcc0
<0> [<c012326c>] alloc_pid+0x11/0xba
<0> [<c01147d3>] do_fork+0xa4/0x176
<0> [<c0102bcd>] sys_fork+0x2c/0x30
<0> [<c0103e62>] syscall_call+0x7/0xb
<0> =======================
<0>Code: 00 85 d2 74 07 8b 7a 0c 85 ff 75 19 89 54 24 04 83 c9 ff 89 ea 8b 44 24 08 89 1c 24 e8 8b fe ff ff 89 c3 eb 0c 0f b7 42 0a 89 fb <8b> 04 87 89 42 0c 56 9d c1 ed 0f 85 db 0f 95 c0 21 c5 83 e5 01 
<0>EIP: [<c0150f45>] kmem_cache_alloc+0x4e/0x92 SS:ESP 0068:c6405ec0
<1>BUG: unable to handle kernel paging request at virtual address 4b990000
<1> printing eip:
<4>c0150f45
<1>*pde = 00000000
<0>Oops: 0000 [#7]
<0>PREEMPT 
<4>Modules linked in: xt_RAWNAT iptable_rawpost compat_xtables ebtable_filter ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too cramfs
<0>CPU:    0
<0>EIP:    0060:[<c0150f45>]    Tainted: G      D VLI
<0>EFLAGS: 00010006   (2.6.23.9-default #30)
<0>EIP is at kmem_cache_alloc+0x4e/0x92
<0>eax: 00000000   ebx: 4b990000   ecx: c0483b18   edx: c10a9720
<0>esi: 00000286   edi: 4b990000   ebp: 000000d0   esp: c66ffec0
<0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
<0>Process wlancheck (pid: 11786, ti=c66fe000 task=c537cfc0 task.ti=c66fe000)
<0>Stack: 00000001 000200d0 c0483b18 c40c3500 c66fff24 c54b93c0 c40c3500 c011372b 
<0>       ffffffff 000000d0 c0113001 c0128ad0 c011378e 00000000 004c4451 00000000 
<0>       00000000 c40c364c 001355aa fffffff2 c40c3500 00000000 00000001 c40c3500 
<0>Call Trace:
<0> [<c011372b>] alloc_files+0x12/0x5f
<0> [<c0113001>] dup_task_struct+0x1a/0x94
<0> [<c0128ad0>] getnstimeofday+0x30/0xee
<0> [<c011378e>] dup_fd+0x16/0x222
<0> [<c01139d0>] copy_files+0x36/0x4d
<0> [<c0113e18>] copy_process+0x3a9/0xcc0
<0> [<c012326c>] alloc_pid+0x11/0xba
<0> [<c01147d3>] do_fork+0xa4/0x176
<0> [<c015aa7b>] do_pipe+0x8e/0xdc
<0> [<c0102bcd>] sys_fork+0x2c/0x30
<0> [<c0103e62>] syscall_call+0x7/0xb
<0> =======================
<0>Code: 00 85 d2 74 07 8b 7a 0c 85 ff 75 19 89 54 24 04 83 c9 ff 89 ea 8b 44 24 08 89 1c 24 e8 8b fe ff ff 89 c3 eb 0c 0f b7 42 0a 89 fb <8b> 04 87 89 42 0c 56 9d c1 ed 0f 85 db 0f 95 c0 21 c5 83 e5 01 
<0>EIP: [<c0150f45>] kmem_cache_alloc+0x4e/0x92 SS:ESP 0068:c66ffec0
<1>BUG: unable to handle kernel paging request at virtual address 4b990000
<1> printing eip:
<4>c0150f45
<1>*pde = 00000000
<0>Oops: 0000 [#8]
<0>PREEMPT 
<4>Modules linked in: xt_RAWNAT iptable_rawpost compat_xtables ebtable_filter ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too cramfs
<0>CPU:    0

[-- Attachment #3: kernel_log2 --]
[-- Type: text/plain, Size: 134776 bytes --]

klogd 1.4.1, log source = /proc/kmsg started.
Cannot find map file.
No module symbols loaded - kernel modules not enabled.

Cannot build symbol table - disabling symbol lookups
 devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/LNXSYSTM:00/device:00/PNP0A03:00/PNP0303:00'
<7>kobject LNXTHERM:00: registering. parent: LNXSYSTM:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/LNXSYSTM:00/LNXTHERM:00'
<7>kobject ec: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/acpi/drivers/ec'
<7>kobject power: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/acpi/drivers/power'
<7>kobject tables: registering. parent: acpi, set: <NULL>
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/firmware/acpi/tables'
<6>Linux Plug and Play Support v0.97 (c) Adam Belay
<7>kobject pnp: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pnp'
<7>kobject devices: registering. parent: pnp, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: pnp, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>pnp: PnP ACPI init
<7>kobject pnp0: registering. parent: <NULL>, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>ACPI: bus type pnp registered
<7>kobject 00:00: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:00'
<7>kobject 00:01: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:01'
<7>kobject 00:02: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:02'
<7>kobject 00:03: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:03'
<7>kobject 00:04: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:04'
<7>kobject 00:05: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:05'
<7>kobject 00:06: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:06'
<7>kobject 00:07: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:07'
<7>kobject 00:08: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:08'
<7>kobject 00:09: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:09'
<7>kobject 00:0a: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:0a'
<6>pnp: PnP ACPI: found 11 devices
<6>ACPI: ACPI bus type pnp unregistered
<7>kobject misc: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/misc'
<7>kobject scsi_host: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_host'
<7>kobject scsi: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/scsi'
<7>kobject devices: registering. parent: scsi, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: scsi, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject scsi_device: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_device'
<5>SCSI subsystem initialized
<7>libata version 2.21 loaded.
<7>kobject usb: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb'
<7>kobject devices: registering. parent: usb, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: usb, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject usb_host: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_host'
<7>kobject usbfs: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/usbfs'
<7>kobject drivers: registering. parent: usbcore, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>usbcore: registered new interface driver usbfs
<7>kobject hub: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/hub'
<6>usbcore: registered new interface driver hub
<7>kobject usb: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/usb'
<6>usbcore: registered new device driver usb
<7>kobject serio: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/serio'
<7>kobject devices: registering. parent: serio, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: serio, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject input: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/input'
<7>kobject i2c: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/i2c'
<7>kobject devices: registering. parent: i2c, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: i2c, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject i2c-adapter: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/i2c-adapter'
<4>PCI: Probing PCI hardware
<7>PCI: Probing PCI hardware (bus 00)
<7>kobject pci0000:00: registering. parent: <NULL>, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject 0000:00: registering. parent: pci_bus, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/pci_bus/0000:00'
<4>PCI quirk: region 6000-607f claimed by vt82c686 HW-mon
<4>PCI quirk: region 5000-500f claimed by vt82c686 SMB
<7>kobject 0000:01: registering. parent: pci_bus, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/pci_bus/0000:01'
<7>kobject 0000:00:00.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:00.0'
<7>kobject 0000:00:01.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0'
<7>kobject 0000:00:07.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.0'
<7>kobject 0000:00:07.1: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.1'
<7>kobject 0000:00:07.2: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2'
<7>kobject 0000:00:07.3: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3'
<7>kobject 0000:00:07.4: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.4'
<7>kobject 0000:00:07.5: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.5'
<7>kobject 0000:00:08.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:08.0'
<7>kobject 0000:00:09.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:09.0'
<7>kobject 0000:00:0b.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:0b.0'
<7>kobject 0000:01:00.0: registering. parent: 0000:00:01.0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:00.0'
<6>PCI: Using IRQ router VIA [1106/0686] at 0000:00:07.0
<7>kobject net: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net'
<6>Time: tsc clocksource has been installed.
<7>kobject system: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pnp/drivers/system'
<6>pnp: 00:00: iomem range 0xf0000-0xf3fff could not be reserved
<6>pnp: 00:00: iomem range 0xf4000-0xf7fff could not be reserved
<6>pnp: 00:00: iomem range 0xf8000-0xfbfff could not be reserved
<6>pnp: 00:00: iomem range 0xfc000-0xfffff could not be reserved
<7>kobject mem: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem'
<7>kobject mem: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/mem'
<7>kobject kmem: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/kmem'
<7>kobject null: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/null'
<7>kobject port: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/port'
<7>kobject zero: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/zero'
<7>kobject full: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/full'
<7>kobject random: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/random'
<7>kobject urandom: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/urandom'
<7>kobject kmsg: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/kmsg'
<6>PCI: Bridge: 0000:00:01.0
<6>  IO window: disabled.
<6>  MEM window: e4000000-e6ffffff
<6>  PREFETCH window: 10000000-100fffff
<7>PCI: Setting latency timer of device 0000:00:01.0 to 64
<6>NET: Registered protocol family 2
<6>IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
<6>TCP established hash table entries: 4096 (order: 3, 32768 bytes)
<6>TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
<6>TCP: Hash tables configured (established 4096 bind 4096)
<6>TCP reno registered
<6>checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
<6>Freeing initrd memory: 1085k freed
<7>kobject i8259: registering. parent: system, set: system
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/i8259'
<7>kobject i82590: registering. parent: <NULL>, set: i8259
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/i8259/i82590'
<7>kobject i8237: registering. parent: system, set: system
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/i8237'
<7>kobject i82370: registering. parent: <NULL>, set: i8237
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/i8237/i82370'
<7>kobject pcspkr: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject timekeeping: registering. parent: system, set: system
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/timekeeping'
<7>kobject timekeeping0: registering. parent: <NULL>, set: timekeeping
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/timekeeping/timekeeping0'
<7>kobject clocksource: registering. parent: system, set: system
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/clocksource'
<7>kobject clocksource0: registering. parent: <NULL>, set: clocksource
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/clocksource/clocksource0'
<6>audit: initializing netlink socket (disabled)
<5>audit(1216114636.808:1): initialized
<3>audit: cannot initialize inotify handle
<7>kobject slab: registering. parent: <NULL>, set: <NULL>
<7>kobject_uevent_env
<7>kobject attempted to send uevent without kset!
<7>kobject shmem_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/shmem_inode_cache'
<7>kobject :0000288: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000288'
<7>kobject :0000448: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000448'
<7>kobject :0000480: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000480'
<7>kobject :0001056: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0001056'
<7>kobject :0000104: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000104'
<7>kobject :0000912: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000912'
<7>kobject :0000184: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000184'
<7>kobject :0003072: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0003072'
<7>kobject :0001536: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0001536'
<7>kobject :0000768: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000768'
<7>kobject sock_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/sock_inode_cache'
<7>kobject :0000352: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000352'
<7>kobject file_lock_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/file_lock_cache'
<7>kobject :0000048: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000048'
<7>kobject :0000024: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000024'
<7>kobject proc_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/proc_inode_cache'
<7>kobject :0000144: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000144'
<7>kobject radix_tree_node: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/radix_tree_node'
<7>kobject bdev_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/bdev_cache'
<7>kobject :0000056: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000056'
<7>kobject inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/inode_cache'
<7>kobject :a-0000128: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:a-0000128'
<7>kobject idr_layer_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/idr_layer_cache'
<7>kobject :a-0000056: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:a-0000056'
<7>kobject :0000416: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000416'
<7>kobject :0000088: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000088'
<7>kobject :0000384: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000384'
<7>kobject sighand_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/sighand_cache'
<7>kobject :0001344: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0001344'
<7>kobject anon_vma: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/anon_vma'
<7>kobject :0000040: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000040'
<7>kobject :4194304: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:4194304'
<7>kobject :2097152: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:2097152'
<7>kobject :1048576: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:1048576'
<7>kobject :0524288: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0524288'
<7>kobject :0262144: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0262144'
<7>kobject :0131072: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0131072'
<7>kobject :0065536: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0065536'
<7>kobject :0032768: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0032768'
<7>kobject :0016384: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0016384'
<7>kobject :0008192: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0008192'
<7>kobject :0004096: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0004096'
<7>kobject :0002048: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0002048'
<7>kobject :0001024: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0001024'
<7>kobject :0000512: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000512'
<7>kobject :0000256: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000256'
<7>kobject :0000128: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000128'
<7>kobject :0000064: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000064'
<7>kobject :0000032: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000032'
<7>kobject :0000016: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000016'
<7>kobject :0000008: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000008'
<7>kobject :0000192: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000192'
<7>kobject :0000096: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000096'
<7>kobject :0000160: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000160'
<7>kobject ext2_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/ext2_inode_cache'
<7>kobject minix_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/minix_inode_cache'
<7>kobject fat_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/fat_cache'
<7>kobject fat_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/fat_inode_cache'
<7>kobject isofs_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/isofs_inode_cache'
<7>kobject nfs_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/nfs_inode_cache'
<7>kobject :a-0000072: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:a-0000072'
<7>kobject mqueue_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/mqueue_inode_cache'
<6>io scheduler noop registered
<6>io scheduler deadline registered (default)
<6>PCI: VIA PCI bridge detected. Disabling DAC.
<7>Boot video device is 0000:01:00.0
<7>kobject pnp1: registering. parent: <NULL>, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>isapnp: Scanning for PnP cards...
<6>isapnp: No Plug & Play device found
<7>kobject tty: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty'
<7>kobject console: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/console'
<7>kobject ptmx: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptmx'
<7>kobject tty0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty0'
<7>kobject vc: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc'
<7>kobject vcs: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs'
<7>kobject vcsa: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa'
<7>kobject tty1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty1'
<7>kobject tty2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty2'
<7>kobject tty3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty3'
<7>kobject tty4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty4'
<7>kobject tty5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty5'
<7>kobject tty6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty6'
<7>kobject tty7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty7'
<7>kobject tty8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty8'
<7>kobject tty9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty9'
<7>kobject tty10: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty10'
<7>kobject tty11: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty11'
<7>kobject tty12: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty12'
<7>kobject tty13: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty13'
<7>kobject tty14: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty14'
<7>kobject tty15: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty15'
<7>kobject tty16: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty16'
<7>kobject tty17: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty17'
<7>kobject tty18: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty18'
<7>kobject tty19: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty19'
<7>kobject tty20: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty20'
<7>kobject tty21: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty21'
<7>kobject tty22: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty22'
<7>kobject tty23: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty23'
<7>kobject tty24: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty24'
<7>kobject tty25: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty25'
<7>kobject tty26: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty26'
<7>kobject tty27: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty27'
<7>kobject tty28: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty28'
<7>kobject tty29: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty29'
<7>kobject tty30: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty30'
<7>kobject tty31: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty31'
<7>kobject tty32: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty32'
<7>kobject tty33: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty33'
<7>kobject tty34: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty34'
<7>kobject tty35: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty35'
<7>kobject tty36: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty36'
<7>kobject tty37: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty37'
<7>kobject tty38: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty38'
<7>kobject tty39: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty39'
<7>kobject tty40: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty40'
<7>kobject tty41: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty41'
<7>kobject tty42: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty42'
<7>kobject tty43: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty43'
<7>kobject tty44: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty44'
<7>kobject tty45: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty45'
<7>kobject tty46: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty46'
<7>kobject tty47: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty47'
<7>kobject tty48: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty48'
<7>kobject tty49: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty49'
<7>kobject tty50: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty50'
<7>kobject tty51: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty51'
<7>kobject tty52: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty52'
<7>kobject tty53: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty53'
<7>kobject tty54: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty54'
<7>kobject tty55: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty55'
<7>kobject tty56: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty56'
<7>kobject tty57: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty57'
<7>kobject tty58: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty58'
<7>kobject tty59: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty59'
<7>kobject tty60: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty60'
<7>kobject tty61: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty61'
<7>kobject tty62: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty62'
<7>kobject tty63: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty63'
<7>kobject ptyp0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp0'
<7>kobject ptyp1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp1'
<7>kobject ptyp2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp2'
<7>kobject ptyp3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp3'
<7>kobject ptyp4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp4'
<7>kobject ptyp5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp5'
<7>kobject ptyp6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp6'
<7>kobject ptyp7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp7'
<7>kobject ptyp8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp8'
<7>kobject ptyp9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp9'
<7>kobject ptypa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptypa'
<7>kobject ptypb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptypb'
<7>kobject ptypc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptypc'
<7>kobject ptypd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptypd'
<7>kobject ptype: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptype'
<7>kobject ptypf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptypf'
<7>kobject ptyq0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq0'
<7>kobject ptyq1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq1'
<7>kobject ptyq2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq2'
<7>kobject ptyq3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq3'
<7>kobject ptyq4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq4'
<7>kobject ptyq5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq5'
<7>kobject ptyq6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq6'
<7>kobject ptyq7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq7'
<7>kobject ptyq8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq8'
<7>kobject ptyq9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq9'
<7>kobject ptyqa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqa'
<7>kobject ptyqb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqb'
<7>kobject ptyqc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqc'
<7>kobject ptyqd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqd'
<7>kobject ptyqe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqe'
<7>kobject ptyqf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqf'
<7>kobject ptyr0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr0'
<7>kobject ptyr1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr1'
<7>kobject ptyr2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr2'
<7>kobject ptyr3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr3'
<7>kobject ptyr4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr4'
<7>kobject ptyr5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr5'
<7>kobject ptyr6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr6'
<7>kobject ptyr7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr7'
<7>kobject ptyr8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr8'
<7>kobject ptyr9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr9'
<7>kobject ptyra: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyra'
<7>kobject ptyrb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyrb'
<7>kobject ptyrc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyrc'
<7>kobject ptyrd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyrd'
<7>kobject ptyre: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyre'
<7>kobject ptyrf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyrf'
<7>kobject ptys0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys0'
<7>kobject ptys1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys1'
<7>kobject ptys2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys2'
<7>kobject ptys3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys3'
<7>kobject ptys4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys4'
<7>kobject ptys5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys5'
<7>kobject ptys6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys6'
<7>kobject ptys7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys7'
<7>kobject ptys8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys8'
<7>kobject ptys9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys9'
<7>kobject ptysa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptysa'
<7>kobject ptysb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptysb'
<7>kobject ptysc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptysc'
<7>kobject ptysd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptysd'
<7>kobject ptyse: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyse'
<7>kobject ptysf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptysf'
<7>kobject ptyt0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt0'
<7>kobject ptyt1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt1'
<7>kobject ptyt2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt2'
<7>kobject ptyt3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt3'
<7>kobject ptyt4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt4'
<7>kobject ptyt5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt5'
<7>kobject ptyt6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt6'
<7>kobject ptyt7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt7'
<7>kobject ptyt8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt8'
<7>kobject ptyt9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt9'
<7>kobject ptyta: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyta'
<7>kobject ptytb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptytb'
<7>kobject ptytc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptytc'
<7>kobject ptytd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptytd'
<7>kobject ptyte: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyte'
<7>kobject ptytf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptytf'
<7>kobject ptyu0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu0'
<7>kobject ptyu1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu1'
<7>kobject ptyu2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu2'
<7>kobject ptyu3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu3'
<7>kobject ptyu4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu4'
<7>kobject ptyu5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu5'
<7>kobject ptyu6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu6'
<7>kobject ptyu7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu7'
<7>kobject ptyu8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu8'
<7>kobject ptyu9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu9'
<7>kobject ptyua: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyua'
<7>kobject ptyub: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyub'
<7>kobject ptyuc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyuc'
<7>kobject ptyud: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyud'
<7>kobject ptyue: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyue'
<7>kobject ptyuf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyuf'
<7>kobject ptyv0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv0'
<7>kobject ptyv1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv1'
<7>kobject ptyv2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv2'
<7>kobject ptyv3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv3'
<7>kobject ptyv4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv4'
<7>kobject ptyv5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv5'
<7>kobject ptyv6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv6'
<7>kobject ptyv7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv7'
<7>kobject ptyv8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv8'
<7>kobject ptyv9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv9'
<7>kobject ptyva: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyva'
<7>kobject ptyvb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyvb'
<7>kobject ptyvc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyvc'
<7>kobject ptyvd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyvd'
<7>kobject ptyve: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyve'
<7>kobject ptyvf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyvf'
<7>kobject ptyw0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw0'
<7>kobject ptyw1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw1'
<7>kobject ptyw2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw2'
<7>kobject ptyw3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw3'
<7>kobject ptyw4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw4'
<7>kobject ptyw5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw5'
<7>kobject ptyw6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw6'
<7>kobject ptyw7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw7'
<7>kobject ptyw8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw8'
<7>kobject ptyw9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw9'
<7>kobject ptywa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywa'
<7>kobject ptywb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywb'
<7>kobject ptywc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywc'
<7>kobject ptywd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywd'
<7>kobject ptywe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywe'
<7>kobject ptywf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywf'
<7>kobject ptyx0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx0'
<7>kobject ptyx1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx1'
<7>kobject ptyx2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx2'
<7>kobject ptyx3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx3'
<7>kobject ptyx4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx4'
<7>kobject ptyx5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx5'
<7>kobject ptyx6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx6'
<7>kobject ptyx7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx7'
<7>kobject ptyx8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx8'
<7>kobject ptyx9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx9'
<7>kobject ptyxa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxa'
<7>kobject ptyxb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxb'
<7>kobject ptyxc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxc'
<7>kobject ptyxd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxd'
<7>kobject ptyxe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxe'
<7>kobject ptyxf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxf'
<7>kobject ptyy0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy0'
<7>kobject ptyy1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy1'
<7>kobject ptyy2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy2'
<7>kobject ptyy3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy3'
<7>kobject ptyy4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy4'
<7>kobject ptyy5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy5'
<7>kobject ptyy6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy6'
<7>kobject ptyy7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy7'
<7>kobject ptyy8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy8'
<7>kobject ptyy9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy9'
<7>kobject ptyya: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyya'
<7>kobject ptyyb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyyb'
<7>kobject ptyyc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyyc'
<7>kobject ptyyd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyyd'
<7>kobject ptyye: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyye'
<7>kobject ptyyf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyyf'
<7>kobject ptyz0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz0'
<7>kobject ptyz1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz1'
<7>kobject ptyz2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz2'
<7>kobject ptyz3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz3'
<7>kobject ptyz4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz4'
<7>kobject ptyz5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz5'
<7>kobject ptyz6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz6'
<7>kobject ptyz7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz7'
<7>kobject ptyz8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz8'
<7>kobject ptyz9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz9'
<7>kobject ptyza: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyza'
<7>kobject ptyzb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyzb'
<7>kobject ptyzc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyzc'
<7>kobject ptyzd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyzd'
<7>kobject ptyze: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyze'
<7>kobject ptyzf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyzf'
<7>kobject ptya0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya0'
<7>kobject ptya1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya1'
<7>kobject ptya2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya2'
<7>kobject ptya3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya3'
<7>kobject ptya4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya4'
<7>kobject ptya5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya5'
<7>kobject ptya6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya6'
<7>kobject ptya7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya7'
<7>kobject ptya8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya8'
<7>kobject ptya9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya9'
<7>kobject ptyaa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyaa'
<7>kobject ptyab: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyab'
<7>kobject ptyac: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyac'
<7>kobject ptyad: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyad'
<7>kobject ptyae: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyae'
<7>kobject ptyaf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyaf'
<7>kobject ptyb0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb0'
<7>kobject ptyb1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb1'
<7>kobject ptyb2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb2'
<7>kobject ptyb3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb3'
<7>kobject ptyb4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb4'
<7>kobject ptyb5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb5'
<7>kobject ptyb6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb6'
<7>kobject ptyb7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb7'
<7>kobject ptyb8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb8'
<7>kobject ptyb9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb9'
<7>kobject ptyba: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyba'
<7>kobject ptybb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptybb'
<7>kobject ptybc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptybc'
<7>kobject ptybd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptybd'
<7>kobject ptybe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptybe'
<7>kobject ptybf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptybf'
<7>kobject ptyc0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc0'
<7>kobject ptyc1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc1'
<7>kobject ptyc2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc2'
<7>kobject ptyc3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc3'
<7>kobject ptyc4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc4'
<7>kobject ptyc5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc5'
<7>kobject ptyc6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc6'
<7>kobject ptyc7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc7'
<7>kobject ptyc8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc8'
<7>kobject ptyc9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc9'
<7>kobject ptyca: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyca'
<7>kobject ptycb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptycb'
<7>kobject ptycc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptycc'
<7>kobject ptycd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptycd'
<7>kobject ptyce: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyce'
<7>kobject ptycf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptycf'
<7>kobject ptyd0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd0'
<7>kobject ptyd1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd1'
<7>kobject ptyd2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd2'
<7>kobject ptyd3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd3'
<7>kobject ptyd4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd4'
<7>kobject ptyd5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd5'
<7>kobject ptyd6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd6'
<7>kobject ptyd7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd7'
<7>kobject ptyd8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd8'
<7>kobject ptyd9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd9'
<7>kobject ptyda: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyda'
<7>kobject ptydb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptydb'
<7>kobject ptydc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptydc'
<7>kobject ptydd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptydd'
<7>kobject ptyde: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyde'
<7>kobject ptydf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptydf'
<7>kobject ptye0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye0'
<7>kobject ptye1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye1'
<7>kobject ptye2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye2'
<7>kobject ptye3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye3'
<7>kobject ptye4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye4'
<7>kobject ptye5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye5'
<7>kobject ptye6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye6'
<7>kobject ptye7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye7'
<7>kobject ptye8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye8'
<7>kobject ptye9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye9'
<7>kobject ptyea: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyea'
<7>kobject ptyeb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyeb'
<7>kobject ptyec: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyec'
<7>kobject ptyed: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyed'
<7>kobject ptyee: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyee'
<7>kobject ptyef: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyef'
<7>kobject ttyp0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp0'
<7>kobject ttyp1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp1'
<7>kobject ttyp2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp2'
<7>kobject ttyp3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp3'
<7>kobject ttyp4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp4'
<7>kobject ttyp5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp5'
<7>kobject ttyp6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp6'
<7>kobject ttyp7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp7'
<7>kobject ttyp8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp8'
<7>kobject ttyp9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp9'
<7>kobject ttypa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttypa'
<7>kobject ttypb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttypb'
<7>kobject ttypc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttypc'
<7>kobject ttypd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttypd'
<7>kobject ttype: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttype'
<7>kobject ttypf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttypf'
<7>kobject ttyq0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq0'
<7>kobject ttyq1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq1'
<7>kobject ttyq2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq2'
<7>kobject ttyq3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq3'
<7>kobject ttyq4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq4'
<7>kobject ttyq5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq5'
<7>kobject ttyq6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq6'
<7>kobject ttyq7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq7'
<7>kobject ttyq8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq8'
<7>kobject ttyq9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq9'
<7>kobject ttyqa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqa'
<7>kobject ttyqb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqb'
<7>kobject ttyqc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqc'
<7>kobject ttyqd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqd'
<7>kobject ttyqe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqe'
<7>kobject ttyqf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqf'
<7>kobject ttyr0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr0'
<7>kobject ttyr1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr1'
<7>kobject ttyr2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr2'
<7>kobject ttyr3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr3'
<7>kobject ttyr4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr4'
<7>kobject ttyr5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr5'
<7>kobject ttyr6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr6'
<7>kobject ttyr7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr7'
<7>kobject ttyr8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr8'
<7>kobject ttyr9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr9'
<7>kobject ttyra: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyra'
<7>kobject ttyrb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyrb'
<7>kobject ttyrc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyrc'
<7>kobject ttyrd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyrd'
<7>kobject ttyre: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyre'
<7>kobject ttyrf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyrf'
<7>kobject ttys0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys0'
<7>kobject ttys1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys1'
<7>kobject ttys2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys2'
<7>kobject ttys3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys3'
<7>kobject ttys4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys4'
<7>kobject ttys5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys5'
<7>kobject ttys6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys6'
<7>kobject ttys7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys7'
<7>kobject ttys8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys8'
<7>kobject ttys9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys9'
<7>kobject ttysa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttysa'
<7>kobject ttysb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttysb'
<7>kobject ttysc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttysc'
<7>kobject ttysd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttysd'
<7>kobject ttyse: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyse'
<7>kobject ttysf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttysf'
<7>kobject ttyt0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt0'
<7>kobject ttyt1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt1'
<7>kobject ttyt2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt2'
<7>kobject ttyt3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt3'
<7>kobject ttyt4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt4'
<7>kobject ttyt5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt5'
<7>kobject ttyt6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt6'
<7>kobject ttyt7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt7'
<7>kobject ttyt8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt8'
<7>kobject ttyt9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt9'
<7>kobject ttyta: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyta'
<7>kobject ttytb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttytb'
<7>kobject ttytc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttytc'
<7>kobject ttytd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttytd'
<7>kobject ttyte: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyte'
<7>kobject ttytf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttytf'
<7>kobject ttyu0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu0'
<7>kobject ttyu1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu1'
<7>kobject ttyu2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu2'
<7>kobject ttyu3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu3'
<7>kobject ttyu4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu4'
<7>kobject ttyu5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu5'
<7>kobject ttyu6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu6'
<7>kobject ttyu7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu7'
<7>kobject ttyu8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu8'
<7>kobject ttyu9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu9'
<7>kobject ttyua: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyua'
<7>kobject ttyub: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyub'
<7>kobject ttyuc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyuc'
<7>kobject ttyud: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyud'
<7>kobject ttyue: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyue'
<7>kobject ttyuf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyuf'
<7>kobject ttyv0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv0'
<7>kobject ttyv1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv1'
<7>kobject ttyv2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv2'
<7>kobject ttyv3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv3'
<7>kobject ttyv4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv4'
<7>kobject ttyv5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv5'
<7>kobject ttyv6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv6'
<7>kobject ttyv7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv7'
<7>kobject ttyv8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv8'
<7>kobject ttyv9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv9'
<7>kobject ttyva: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyva'
<7>kobject ttyvb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyvb'
<7>kobject ttyvc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyvc'
<7>kobject ttyvd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyvd'
<7>kobject ttyve: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyve'
<7>kobject ttyvf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyvf'
<7>kobject ttyw0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw0'
<7>kobject ttyw1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw1'
<7>kobject ttyw2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw2'
<7>kobject ttyw3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw3'
<7>kobject ttyw4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw4'
<7>kobject ttyw5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw5'
<7>kobject ttyw6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw6'
<7>kobject ttyw7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw7'
<7>kobject ttyw8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw8'
<7>kobject ttyw9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw9'
<7>kobject ttywa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywa'
<7>kobject ttywb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywb'
<7>kobject ttywc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywc'
<7>kobject ttywd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywd'
<7>kobject ttywe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywe'
<7>kobject ttywf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywf'
<7>kobject ttyx0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx0'
<7>kobject ttyx1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx1'
<7>kobject ttyx2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx2'
<7>kobject ttyx3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx3'
<7>kobject ttyx4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx4'
<7>kobject ttyx5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx5'
<7>kobject ttyx6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx6'
<7>kobject ttyx7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx7'
<7>kobject ttyx8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx8'
<7>kobject ttyx9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx9'
<7>kobject ttyxa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxa'
<7>kobject ttyxb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxb'
<7>kobject ttyxc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxc'
<7>kobject ttyxd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxd'
<7>kobject ttyxe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxe'
<7>kobject ttyxf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxf'
<7>kobject ttyy0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy0'
<7>kobject ttyy1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy1'
<7>kobject ttyy2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy2'
<7>kobject ttyy3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy3'
<7>kobject ttyy4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy4'
<7>kobject ttyy5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy5'
<7>kobject ttyy6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy6'
<7>kobject ttyy7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy7'
<7>kobject ttyy8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy8'
<7>kobject ttyy9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy9'
<7>kobject ttyya: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyya'
<7>kobject ttyyb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyyb'
<7>kobject ttyyc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyyc'
<7>kobject ttyyd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyyd'
<7>kobject ttyye: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyye'
<7>kobject ttyyf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyyf'
<7>kobject ttyz0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz0'
<7>kobject ttyz1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz1'
<7>kobject ttyz2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz2'
<7>kobject ttyz3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz3'
<7>kobject ttyz4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz4'
<7>kobject ttyz5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz5'
<7>kobject ttyz6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz6'
<7>kobject ttyz7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz7'
<7>kobject ttyz8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz8'
<7>kobject ttyz9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz9'
<7>kobject ttyza: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyza'
<7>kobject ttyzb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyzb'
<7>kobject ttyzc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyzc'
<7>kobject ttyzd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyzd'
<7>kobject ttyze: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyze'
<7>kobject ttyzf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyzf'
<7>kobject ttya0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya0'
<7>kobject ttya1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya1'
<7>kobject ttya2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya2'
<7>kobject ttya3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya3'
<7>kobject ttya4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya4'
<7>kobject ttya5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya5'
<7>kobject ttya6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya6'
<7>kobject ttya7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya7'
<7>kobject ttya8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya8'
<7>kobject ttya9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya9'
<7>kobject ttyaa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyaa'
<7>kobject ttyab: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyab'
<7>kobject ttyac: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyac'
<7>kobject ttyad: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyad'
<7>kobject ttyae: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyae'
<7>kobject ttyaf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyaf'
<7>kobject ttyb0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb0'
<7>kobject ttyb1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb1'
<7>kobject ttyb2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb2'
<7>kobject ttyb3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb3'
<7>kobject ttyb4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb4'
<7>kobject ttyb5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb5'
<7>kobject ttyb6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb6'
<7>kobject ttyb7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb7'
<7>kobject ttyb8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb8'
<7>kobject ttyb9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb9'
<7>kobject ttyba: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyba'
<7>kobject ttybb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttybb'
<7>kobject ttybc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttybc'
<7>kobject ttybd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttybd'
<7>kobject ttybe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttybe'
<7>kobject ttybf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttybf'
<7>kobject ttyc0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc0'
<7>kobject ttyc1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc1'
<7>kobject ttyc2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc2'
<7>kobject ttyc3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc3'
<7>kobject ttyc4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc4'
<7>kobject ttyc5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc5'
<7>kobject ttyc6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc6'
<7>kobject ttyc7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc7'
<7>kobject ttyc8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc8'
<7>kobject ttyc9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc9'
<7>kobject ttyca: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyca'
<7>kobject ttycb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttycb'
<7>kobject ttycc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttycc'
<7>kobject ttycd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttycd'
<7>kobject ttyce: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyce'
<7>kobject ttycf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttycf'
<7>kobject ttyd0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd0'
<7>kobject ttyd1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd1'
<7>kobject ttyd2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd2'
<7>kobject ttyd3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd3'
<7>kobject ttyd4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd4'
<7>kobject ttyd5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd5'
<7>kobject ttyd6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd6'
<7>kobject ttyd7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd7'
<7>kobject ttyd8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd8'
<7>kobject ttyd9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd9'
<7>kobject ttyda: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyda'
<7>kobject ttydb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttydb'
<7>kobject ttydc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttydc'
<7>kobject ttydd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttydd'
<7>kobject ttyde: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyde'
<7>kobject ttydf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttydf'
<7>kobject ttye0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye0'
<7>kobject ttye1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye1'
<7>kobject ttye2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye2'
<7>kobject ttye3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye3'
<7>kobject ttye4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye4'
<7>kobject ttye5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye5'
<7>kobject ttye6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye6'
<7>kobject ttye7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye7'
<7>kobject ttye8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye8'
<7>kobject ttye9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye9'
<7>kobject ttyea: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyea'
<7>kobject ttyeb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyeb'
<7>kobject ttyec: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyec'
<7>kobject ttyed: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyed'
<7>kobject ttyee: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyee'
<7>kobject ttyef: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyef'
<7>kobject printer: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/printer'
<6>lp: driver loaded but no devices found
<7>kobject hpet: registering. parent: misc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/misc/hpet'
<7>kobject hpet: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/acpi/drivers/hpet'
<6>Generic RTC Driver v1.07
<7>kobject rtc: registering. parent: misc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/misc/rtc'
<6>Linux agpgart interface v0.102
<7>kobject agpgart-intel: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/agpgart-intel'
<6>Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
<7>kobject serial8250: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
<7>kobject ttyS0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS0'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<6>serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
<7>kobject ttyS1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS1'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<7>kobject ttyS2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS2'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<7>kobject ttyS3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS3'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<7>kobject serial8250: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/platform/drivers/serial8250'
<7>kobject serial: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pnp/drivers/serial'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS0'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<7>kobject ttyS0: cleaning up
<6>00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
<7>kobject ttyS0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS0'
<7>fill_kobj_path: path = '/devices/pnp0/00:07'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS1'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<7>kobject ttyS1: cleaning up
<6>00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
<7>kobject ttyS1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS1'
<7>fill_kobj_path: path = '/devices/pnp0/00:08'
<7>kobject serial: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/serial'
<7>kobject parport_pc: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/platform/drivers/parport_pc'
<7>parport_pc: VIA 686A/8231 detected
<7>parport_pc: probing current configuration
<7>parport_pc: Current parallel port base: 0x378
<6>parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]
<7>kobject lp0: registering. parent: printer, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/printer/lp0'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.0'
<6>lp0: using parport0 (interrupt-driven).
<6>parport_pc: VIA parallel port: io=0x378, irq=7
<7>kobject parport_pc.956: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject parport_pc.956: cleaning up
<7>kobject parport_pc.888: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject parport_pc.888: cleaning up
<7>kobject parport_pc.632: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject parport_pc.632: cleaning up
<7>kobject parport_pc: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/parport_pc'
<7>kobject isa: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/isa'
<7>kobject devices: registering. parent: isa, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: isa, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject isa: registering. parent: <NULL>, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject ram0: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram0, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram0, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram0'
<7>kobject ram1: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram1, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram1, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram1'
<7>kobject ram2: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram2, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram2, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram2'
<7>kobject ram3: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram3, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram3, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram3'
<7>kobject ram4: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram4, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram4, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram4'
<7>kobject ram5: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram5, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram5, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram5'
<7>kobject ram6: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram6, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram6, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram6'
<7>kobject ram7: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram7, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram7, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram7'
<7>kobject ram8: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram8, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram8, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram8'
<7>kobject ram9: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram9, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram9, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram9'
<7>kobject ram10: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram10, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram10, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram10'
<7>kobject ram11: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram11, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram11, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram11'
<7>kobject ram12: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram12, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram12, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram12'
<7>kobject ram13: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram13, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram13, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram13'
<7>kobject ram14: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram14, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram14, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram14'
<7>kobject ram15: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram15, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram15, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram15'
<4>RAMDISK driver initialized: 16 RAM disks of 64000K size 1024 blocksize
<7>kobject loop0: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop0, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop0, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop0'
<7>kobject loop1: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop1, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop1, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop1'
<7>kobject loop2: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop2, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop2, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop2'
<7>kobject loop3: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop3, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop3, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop3'
<7>kobject loop4: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop4, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop4, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop4'
<7>kobject loop5: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop5, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop5, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop5'
<7>kobject loop6: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop6, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop6, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop6'
<7>kobject loop7: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop7, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop7, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop7'
<6>loop: module loaded
<7>kobject plip0: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/plip0'
<6>NET3 PLIP version 2.4-parport gniibe@mri.co.jp
<6>plip0: Parallel port at 0x378, using IRQ 7.
<7>kobject lo: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/lo'
<6>Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
<6>ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
<7>kobject ide: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/ide'
<7>kobject devices: registering. parent: ide, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: ide, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject PCI_IDE: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/PCI_IDE'
<7>Probing IDE interface ide0...
<7>Probing IDE interface ide1...
<4>hdc: TOSHIBA THNCF512MBA, ATA DISK drive
<7>kobject ide1: registering. parent: <NULL>, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>Probing IDE interface ide2...
<7>Probing IDE interface ide3...
<7>Probing IDE interface ide4...
<7>Probing IDE interface ide5...
<4>ide1 at 0x170-0x177,0x376 on irq 15
<7>kobject 1.0: registering. parent: ide1, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/ide1/1.0'
<7>kobject ide-disk: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/ide/drivers/ide-disk'
<6>hdc: max request size: 128KiB
<6>hdc: 1000944 sectors (512 MB) w/2KiB Cache, CHS=993/16/63
<7>kobject hdc: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: hdc, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: hdc, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6> hdc: hdc1 hdc2
<7>kobject hdc1: registering. parent: hdc, set: <NULL>
<7>kobject holders: registering. parent: hdc1, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject hdc2: registering. parent: hdc, set: <NULL>
<7>kobject holders: registering. parent: hdc2, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/hdc'
<7>fill_kobj_path: path = '/devices/ide1/1.0'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/hdc/hdc1'
<7>fill_kobj_path: path = '/devices/ide1/1.0'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/hdc/hdc2'
<7>fill_kobj_path: path = '/devices/ide1/1.0'
<7>kobject queue: registering. parent: hdc, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject iosched: registering. parent: queue, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject scsi_disk: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_disk'
<7>kobject sd: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/scsi/drivers/sd'
<7>kobject scsi_generic: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_generic'
<7>kobject ahci: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/ahci'
<7>kobject sata_via: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/sata_via'
<7>kobject pata_mpiix: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/pata_mpiix'
<7>kobject pata_oldpiix: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/pata_oldpiix'
<7>kobject pata_via: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/pata_via'
<7>pata_via 0000:00:07.1: version 0.3.2
<4>PCI: Unable to reserve I/O region #3:8@170 for device 0000:00:07.1
<4>pata_via 0000:00:07.1: failed to request/iomap BARs for port 1 (errno=-16)
<6>scsi0 : pata_via
<7>kobject host0: registering. parent: 0000:00:07.1, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject host0: registering. parent: scsi_host, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_host/host0'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.1/host0'
<6>scsi1 : pata_via
<7>kobject host1: registering. parent: 0000:00:07.1, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject host1: registering. parent: scsi_host, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_host/host1'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.1/host1'
<6>ata1: PATA max UDMA/100 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001c000 irq 14
<6>ata2: DUMMY
<7>kobject ehci_hcd: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/ehci_hcd'
<7>kobject drivers: registering. parent: ehci_hcd, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>USB Universal Host Controller Interface driver v3.0
<7>kobject uhci_hcd: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/uhci_hcd'
<7>PCI: setting IRQ 12 as level-triggered
<6>PCI: Found IRQ 12 for device 0000:00:07.2
<6>IRQ routing conflict for 0000:00:07.2, have irq 11, want irq 12
<6>IRQ routing conflict for 0000:00:07.3, have irq 11, want irq 12
<6>PCI: Sharing IRQ 12 with 0000:00:08.0
<6>uhci_hcd 0000:00:07.2: UHCI Host Controller
<7>kobject usb_host1: registering. parent: usb_host, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_host/usb_host1'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2'
<6>uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
<6>uhci_hcd 0000:00:07.2: irq 11, io base 0x0000c400
<7>kobject usb1: registering. parent: 0000:00:07.2, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2/usb1'
<7>kobject usb_endpoint: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_endpoint'
<7>kobject usbdev1.1_ep00: registering. parent: usb_endpoint, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_endpoint/usbdev1.1_ep00'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2/usb1'
<6>usb usb1: configuration #1 chosen from 1 choice
<7>kobject 1-0:1.0: registering. parent: usb1, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2/usb1/1-0:1.0'
<6>hub 1-0:1.0: USB hub found
<6>hub 1-0:1.0: 2 ports detected
<7>kobject usbdev1.1_ep81: registering. parent: usb_endpoint, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_endpoint/usbdev1.1_ep81'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2/usb1/1-0:1.0'
<6>PCI: Found IRQ 12 for device 0000:00:07.3
<6>IRQ routing conflict for 0000:00:07.2, have irq 11, want irq 12
<6>IRQ routing conflict for 0000:00:07.3, have irq 11, want irq 12
<6>PCI: Sharing IRQ 12 with 0000:00:08.0
<6>uhci_hcd 0000:00:07.3: UHCI Host Controller
<7>kobject usb_host2: registering. parent: usb_host, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_host/usb_host2'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3'
<6>uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2
<6>uhci_hcd 0000:00:07.3: irq 11, io base 0x0000c800
<7>kobject usb2: registering. parent: 0000:00:07.3, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3/usb2'
<7>kobject usbdev2.1_ep00: registering. parent: usb_endpoint, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_endpoint/usbdev2.1_ep00'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3/usb2'
<6>usb usb2: configuration #1 chosen from 1 choice
<7>kobject 2-0:1.0: registering. parent: usb2, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3/usb2/2-0:1.0'
<6>hub 2-0:1.0: USB hub found
<6>hub 2-0:1.0: 2 ports detected
<7>kobject usbdev2.1_ep81: registering. parent: usb_endpoint, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_endpoint/usbdev2.1_ep81'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3/usb2/2-0:1.0'
<7>kobject drivers: registering. parent: uhci_hcd, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject usblp: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/usblp'
<7>kobject drivers: registering. parent: usblp, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>usbcore: registered new interface driver usblp
<6>Initializing USB Mass Storage driver...
<7>kobject usb-storage: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/usb-storage'
<7>kobject drivers: registering. parent: usb_storage, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>usbcore: registered new interface driver usb-storage
<6>USB Mass Storage support registered.
<7>kobject i8042 kbd: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pnp/drivers/i8042 kbd'
<7>kobject i8042 aux: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pnp/drivers/i8042 aux'
<6>PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
<4>PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
<7>kobject i8042: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/platform/drivers/i8042'
<7>kobject i8042: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>serio: i8042 KBD port at 0x60,0x64 irq 1
<7>kobject mice: registering. parent: input, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/input/mice'
<7>kobject serio0: registering. parent: i8042, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/platform/i8042/serio0'
<7>kobject psaux: registering. parent: misc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/misc/psaux'
<6>mice: PS/2 mouse device common for all mice
<7>kobject atkbd: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/serio/drivers/atkbd'
<7>kobject drivers: registering. parent: atkbd, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject psmouse: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/serio/drivers/psmouse'
<7>kobject input0: registering. parent: input, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/input/input0'
<7>fill_kobj_path: path = '/devices/platform/i8042/serio0'
<7>fill_kobj_path: path = '/class/input/input0'
<6>input: AT Translated Set 2 keyboard as /class/input/input0
<7>kobject drivers: registering. parent: psmouse, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject usbhid: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/usbhid'
<7>kobject drivers: registering. parent: usbhid, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>usbcore: registered new interface driver usbhid
<6>drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
<6>oprofile: using timer interrupt.
<4>Netfilter messages via NETLINK v0.30.
<4>nf_conntrack version 0.5.0 (2048 buckets, 8192 max)
<7>kobject :0000216: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000216'
<7>kobject :0000136: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000136'
<6>IPv4 over IPv4 tunneling driver
<7>kobject tunl0: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/tunl0'
<6>GRE over IPv4 tunneling driver
<7>kobject gre0: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/gre0'
<6>ip_tables: (C) 2000-2006 Netfilter Core Team
<6>arp_tables: (C) 2002 David S. Miller
<6>TCP cubic registered
<6>Initializing XFRM netlink socket
<6>NET: Registered protocol family 1
<6>NET: Registered protocol family 17
<7>kobject rpc_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/rpc_inode_cache'
<4>Using IPI Shortcut mode
<5>RAMDISK: Compressed image found at block 0
<4>VFS: Mounted root (minix filesystem) readonly.
<6>Freeing unused kernel memory: 176k freed
<4>Warning: unable to open an initial console.
<7>kobject vcs1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcsa1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs1: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject vcsa1: cleaning up
<7>kobject vcs1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcsa1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs1: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject vcsa1: cleaning up
<7>kobject vcs1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcsa1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject cramfs: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: cramfs, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/cramfs'
<7>kobject 8139too: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: 8139too, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/8139too'
<6>8139too Fast Ethernet driver 0.9.28
<7>kobject 8139too: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/8139too'
<6>PCI: Found IRQ 12 for device 0000:00:08.0
<6>IRQ routing conflict for 0000:00:07.2, have irq 11, want irq 12
<6>IRQ routing conflict for 0000:00:07.3, have irq 11, want irq 12
<7>kobject eth0: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth0'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:08.0'
<6>eth0: RealTek RTL8139 at 0xc8016000, 00:30:18:49:b2:31, IRQ 12
<7>eth0:  Identified 8139 chip type 'RTL-8100B/8139D'
<7>PCI: setting IRQ 10 as level-triggered
<6>PCI: Found IRQ 10 for device 0000:00:09.0
<7>kobject eth1: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth1'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:09.0'
<6>eth1: RealTek RTL8139 at 0xc8032000, 00:30:18:49:b2:30, IRQ 10
<7>eth1:  Identified 8139 chip type 'RTL-8100B/8139D'
<7>PCI: setting IRQ 11 as level-triggered
<6>PCI: Found IRQ 11 for device 0000:00:0b.0
<6>IRQ routing conflict for 0000:00:07.5, have irq 5, want irq 11
<7>kobject eth2: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:0b.0'
<6>eth2: RealTek RTL8139 at 0xc8034000, 00:30:18:49:b2:2f, IRQ 11
<7>eth2:  Identified 8139 chip type 'RTL-8100B/8139D'
<7>kobject drivers: registering. parent: 8139too, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject 8021q: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: 8021q, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/8021q'
<6>802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
<6>All bugs added by David S. Miller <davem@redhat.com>
<7>kobject tun: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: tun, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/tun'
<6>tun: Universal TUN/TAP device driver, 1.6
<6>tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
<7>kobject tun: registering. parent: misc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/misc/tun'
<6>eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
<6>eth1: link up, 100Mbps, full-duplex, lpa 0x45E1
<6>eth2: link up, 100Mbps, full-duplex, lpa 0x45E1
<7>kobject eth2.2: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.2'
<7>kobject eth2.3: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.3'
<7>kobject eth2.4: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.4'
<7>kobject eth2.5: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.5'
<7>kobject eth2.6: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.6'
<7>kobject eth2.7: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.7'
<7>kobject eth2.8: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.8'
<7>kobject eth2.9: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.9'
<7>kobject eth2.10: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.10'
<7>kobject eth2.11: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.11'
<4>process `named' is using obsolete setsockopt SO_BSDCOMPAT
<7>kobject sch_htb: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: sch_htb, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/sch_htb'
<7>kobject cls_u32: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: cls_u32, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/cls_u32'
<4>u32 classifier
<4>    Performance counters on
<4>    Actions configured 
<7>kobject cls_fw: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: cls_fw, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/cls_fw'
<7>kobject sch_sfq: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: sch_sfq, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/sch_sfq'
<7>kobject ebtables: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: ebtables, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/ebtables'
<6>Ebtables v2.0 registered
<7>kobject ebtable_nat: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: ebtable_nat, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/ebtable_nat'
<7>kobject ebt_ip: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: ebt_ip, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/ebt_ip'
<6>device eth2 entered promiscuous mode
<5>audit(1216114671.758:2): dev=eth2 prom=256 old_prom=0 auid=4294967295
<6>device eth2.2 entered promiscuous mode
<5>audit(1216114671.774:3): dev=eth2.2 prom=256 old_prom=0 auid=4294967295
<6>device eth2.3 entered promiscuous mode
<5>audit(1216114671.790:4): dev=eth2.3 prom=256 old_prom=0 auid=4294967295
<6>device eth2.4 entered promiscuous mode
<5>audit(1216114671.806:5): dev=eth2.4 prom=256 old_prom=0 auid=4294967295
<6>device eth2.5 entered promiscuous mode
<5>audit(1216114671.822:6): dev=eth2.5 prom=256 old_prom=0 auid=4294967295
<6>device eth2.6 entered promiscuous mode
<5>audit(1216114671.838:7): dev=eth2.6 prom=256 old_prom=0 auid=4294967295
<6>device eth2.7 entered promiscuous mode
<5>audit(1216114671.854:8): dev=eth2.7 prom=256 old_prom=0 auid=4294967295
<6>device eth2.8 entered promiscuous mode
<5>audit(1216114671.870:9): dev=eth2.8 prom=256 old_prom=0 auid=4294967295
<6>device eth2.9 entered promiscuous mode
<5>audit(1216114671.882:10): dev=eth2.9 prom=256 old_prom=0 auid=4294967295
<6>device eth2.10 entered promiscuous mode
<5>audit(1216114671.894:11): dev=eth2.10 prom=256 old_prom=0 auid=4294967295
<6>device eth2.11 entered promiscuous mode
<5>audit(1216114671.914:12): dev=eth2.11 prom=256 old_prom=0 auid=4294967295
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs1: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject vcsa1: cleaning up
<7>kobject vcs1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs2: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs2'
<7>kobject vcsa2: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa2'
<7>kobject vcsa1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs2'
<7>kobject vcs2: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa2'
<7>kobject vcsa2: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs1: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject vcsa1: cleaning up
<7>kobject vcs1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs2: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs2'
<7>kobject vcsa2: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa2'
<7>kobject vcsa1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject compat_xtables: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: compat_xtables, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/compat_xtables'
<7>kobject xt_RAWNAT: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: xt_RAWNAT, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/xt_RAWNAT'
<7>kobject iptable_rawpost: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: iptable_rawpost, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/iptable_rawpost'
<3>compat_xtables: compat layer limits reached (xtnu_skb_make_writable) - dropping packets
<1>BUG: unable to handle kernel NULL pointer dereference at virtual address 00000001
<1> printing eip:
<4>c0150f45
<1>*pde = 00000000
<0>Oops: 0000 [#1]
<0>PREEMPT 
<4>Modules linked in: iptable_rawpost xt_RAWNAT compat_xtables ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too cramfs
<0>CPU:    0
<0>EIP:    0060:[<c0150f45>]    Not tainted VLI
<0>EFLAGS: 00010002   (2.6.23.9-default #30)
<0>EIP is at kmem_cache_alloc+0x4e/0x92
<0>eax: 00000000   ebx: 00000001   ecx: c0483b18   edx: c108c560
<0>esi: 00000296   edi: 00000001   ebp: 000000d0   esp: c4615eb4
<0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
<0>Process userstatus (pid: 5867, ti=c4614000 task=c1260a80 task.ti=c4614000)
<0>Stack: bffffff4 c12a7340 c0483b18 00000000 c045aa5c c4ce7e00 c4ce7e00 c017c3a5 
<0>       00000000 059ca067 00000007 00000000 059ca067 00000007 bfffff23 00000010 
<0>       00000000 00000007 c133f160 00000000 bfffff23 c0145bfa c1260a80 00000020 
<0>Call Trace:
<0> [<c017c3a5>] load_elf_binary+0x68/0xb89
<0> [<c0145bfa>] get_user_pages+0x1f7/0x244
<0> [<c01ea803>] copy_from_user+0x31/0x52
<0> [<c01590fa>] search_binary_handler+0xe3/0x259
<0> [<c017c33d>] load_elf_binary+0x0/0xb89
<0> [<c015938c>] do_execve+0x11c/0x171
<0> [<c0102c69>] sys_execve+0x2d/0x7c
<0> [<c0103e62>] syscall_call+0x7/0xb
<0> =======================
<0>Code: 00 85 d2 74 07 8b 7a 0c 85 ff 75 19 89 54 24 04 83 c9 ff 89 ea 8b 44 24 08 89 1c 24 e8 8b fe ff ff 89 c3 eb 0c 0f b7 42 0a 89 fb <8b> 04 87 89 42 0c 56 9d c1 ed 0f 85 db 0f 95 c0 21 c5 83 e5 01 
<0>EIP: [<c0150f45>] kmem_cache_alloc+0x4e/0x92 SS:ESP 0068:c4615eb4
<1>BUG: unable to handle kernel paging request at virtual address 00010101
<1> printing eip:
<4>c015595b
<1>*pde = 00000000
<0>Oops: 0000 [#2]
<0>PREEMPT 
<4>Modules linked in: iptable_rawpost xt_RAWNAT compat_xtables ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 8139too cramfs
<0>CPU:    0
<0>EIP:    0060:[<c015595b>]    Tainted: G      D VLI
<0>EFLAGS: 00010246   (2.6.23.9-default #30)
<0>EIP is at fget_light+0x3f/0x9a
<0>eax: 00000000   ebx: c462bcc0   ecx: bf8fb9d0   edx: 00010101
<0>esi: 00000002   edi: c460dfa8   ebp: c460c000   esp: c460df8c
<0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
<0>Process arping (pid: 5713, ti=c460c000 task=c45fcfc0 task.ti=c460c000)
<0>Stack: 00000002 fffffff7 bf8fb9d0 c0154d74 c5f90a80 c45fcfc0 b7ecfb90 00000000 
<0>       00000002 0000001e c0103e62 00000002 bf8fb9d0 0000001e 0000001e bf8fb9d0 
<0>       bf8fb878 00000004 0000007b 0000007b 00000000 00000004 b7e713a8 00000073 
<0>Call Trace:

[-- Attachment #4: kernel_log3 --]
[-- Type: text/plain, Size: 131790 bytes --]

klogd 1.4.1, log source = /proc/kmsg started.
Cannot find map file.
No module symbols loaded - kernel modules not enabled.

Cannot build symbol table - disabling symbol lookups
registering. parent: pnp, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: pnp, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>pnp: PnP ACPI init
<7>kobject pnp0: registering. parent: <NULL>, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>ACPI: bus type pnp registered
<7>kobject 00:00: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:00'
<7>kobject 00:01: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:01'
<7>kobject 00:02: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:02'
<7>kobject 00:03: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:03'
<7>kobject 00:04: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:04'
<7>kobject 00:05: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:05'
<7>kobject 00:06: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:06'
<7>kobject 00:07: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:07'
<7>kobject 00:08: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:08'
<7>kobject 00:09: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:09'
<7>kobject 00:0a: registering. parent: pnp0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pnp0/00:0a'
<6>pnp: PnP ACPI: found 11 devices
<6>ACPI: ACPI bus type pnp unregistered
<7>kobject misc: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/misc'
<7>kobject scsi_host: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_host'
<7>kobject scsi: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/scsi'
<7>kobject devices: registering. parent: scsi, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: scsi, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject scsi_device: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_device'
<5>SCSI subsystem initialized
<7>libata version 2.21 loaded.
<7>kobject usb: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb'
<7>kobject devices: registering. parent: usb, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: usb, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject usb_host: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_host'
<7>kobject usbfs: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/usbfs'
<7>kobject drivers: registering. parent: usbcore, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>usbcore: registered new interface driver usbfs
<7>kobject hub: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/hub'
<6>usbcore: registered new interface driver hub
<7>kobject usb: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/usb'
<6>usbcore: registered new device driver usb
<7>kobject serio: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/serio'
<7>kobject devices: registering. parent: serio, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: serio, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject input: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/input'
<7>kobject i2c: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/i2c'
<7>kobject devices: registering. parent: i2c, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: i2c, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject i2c-adapter: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/i2c-adapter'
<4>PCI: Probing PCI hardware
<7>PCI: Probing PCI hardware (bus 00)
<7>kobject pci0000:00: registering. parent: <NULL>, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject 0000:00: registering. parent: pci_bus, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/pci_bus/0000:00'
<4>PCI quirk: region 6000-607f claimed by vt82c686 HW-mon
<4>PCI quirk: region 5000-500f claimed by vt82c686 SMB
<7>kobject 0000:01: registering. parent: pci_bus, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/pci_bus/0000:01'
<7>kobject 0000:00:00.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:00.0'
<7>kobject 0000:00:01.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0'
<7>kobject 0000:00:07.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.0'
<7>kobject 0000:00:07.1: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.1'
<7>kobject 0000:00:07.2: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2'
<7>kobject 0000:00:07.3: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3'
<7>kobject 0000:00:07.4: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.4'
<7>kobject 0000:00:07.5: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.5'
<7>kobject 0000:00:08.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:08.0'
<7>kobject 0000:00:09.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:09.0'
<7>kobject 0000:00:0b.0: registering. parent: pci0000:00, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:0b.0'
<7>kobject 0000:01:00.0: registering. parent: 0000:00:01.0, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:00.0'
<6>PCI: Using IRQ router VIA [1106/0686] at 0000:00:07.0
<7>kobject net: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net'
<6>Time: tsc clocksource has been installed.
<7>kobject system: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pnp/drivers/system'
<6>pnp: 00:00: iomem range 0xf0000-0xf3fff could not be reserved
<6>pnp: 00:00: iomem range 0xf4000-0xf7fff could not be reserved
<6>pnp: 00:00: iomem range 0xf8000-0xfbfff could not be reserved
<6>pnp: 00:00: iomem range 0xfc000-0xfffff could not be reserved
<7>kobject mem: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem'
<7>kobject mem: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/mem'
<7>kobject kmem: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/kmem'
<7>kobject null: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/null'
<7>kobject port: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/port'
<7>kobject zero: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/zero'
<7>kobject full: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/full'
<7>kobject random: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/random'
<7>kobject urandom: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/urandom'
<7>kobject kmsg: registering. parent: mem, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/mem/kmsg'
<6>PCI: Bridge: 0000:00:01.0
<6>  IO window: disabled.
<6>  MEM window: e4000000-e6ffffff
<6>  PREFETCH window: 10000000-100fffff
<7>PCI: Setting latency timer of device 0000:00:01.0 to 64
<6>NET: Registered protocol family 2
<6>IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
<6>TCP established hash table entries: 4096 (order: 3, 32768 bytes)
<6>TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
<6>TCP: Hash tables configured (established 4096 bind 4096)
<6>TCP reno registered
<6>checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
<6>Freeing initrd memory: 1085k freed
<7>kobject i8259: registering. parent: system, set: system
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/i8259'
<7>kobject i82590: registering. parent: <NULL>, set: i8259
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/i8259/i82590'
<7>kobject i8237: registering. parent: system, set: system
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/i8237'
<7>kobject i82370: registering. parent: <NULL>, set: i8237
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/i8237/i82370'
<7>kobject pcspkr: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject timekeeping: registering. parent: system, set: system
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/timekeeping'
<7>kobject timekeeping0: registering. parent: <NULL>, set: timekeeping
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/timekeeping/timekeeping0'
<7>kobject clocksource: registering. parent: system, set: system
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/clocksource'
<7>kobject clocksource0: registering. parent: <NULL>, set: clocksource
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/system/clocksource/clocksource0'
<6>audit: initializing netlink socket (disabled)
<5>audit(1216115874.808:1): initialized
<3>audit: cannot initialize inotify handle
<7>kobject slab: registering. parent: <NULL>, set: <NULL>
<7>kobject_uevent_env
<7>kobject attempted to send uevent without kset!
<7>kobject shmem_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/shmem_inode_cache'
<7>kobject :0000288: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000288'
<7>kobject :0000448: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000448'
<7>kobject :0000480: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000480'
<7>kobject :0001056: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0001056'
<7>kobject :0000104: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000104'
<7>kobject :0000912: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000912'
<7>kobject :0000184: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000184'
<7>kobject :0003072: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0003072'
<7>kobject :0001536: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0001536'
<7>kobject :0000768: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000768'
<7>kobject sock_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/sock_inode_cache'
<7>kobject :0000352: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000352'
<7>kobject file_lock_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/file_lock_cache'
<7>kobject :0000048: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000048'
<7>kobject :0000024: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000024'
<7>kobject proc_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/proc_inode_cache'
<7>kobject :0000144: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000144'
<7>kobject radix_tree_node: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/radix_tree_node'
<7>kobject bdev_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/bdev_cache'
<7>kobject :0000056: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000056'
<7>kobject inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/inode_cache'
<7>kobject :a-0000128: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:a-0000128'
<7>kobject idr_layer_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/idr_layer_cache'
<7>kobject :a-0000056: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:a-0000056'
<7>kobject :0000416: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000416'
<7>kobject :0000088: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000088'
<7>kobject :0000384: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000384'
<7>kobject sighand_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/sighand_cache'
<7>kobject :0001344: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0001344'
<7>kobject anon_vma: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/anon_vma'
<7>kobject :0000040: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000040'
<7>kobject :4194304: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:4194304'
<7>kobject :2097152: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:2097152'
<7>kobject :1048576: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:1048576'
<7>kobject :0524288: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0524288'
<7>kobject :0262144: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0262144'
<7>kobject :0131072: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0131072'
<7>kobject :0065536: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0065536'
<7>kobject :0032768: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0032768'
<7>kobject :0016384: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0016384'
<7>kobject :0008192: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0008192'
<7>kobject :0004096: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0004096'
<7>kobject :0002048: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0002048'
<7>kobject :0001024: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0001024'
<7>kobject :0000512: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000512'
<7>kobject :0000256: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000256'
<7>kobject :0000128: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000128'
<7>kobject :0000064: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000064'
<7>kobject :0000032: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000032'
<7>kobject :0000016: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000016'
<7>kobject :0000008: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000008'
<7>kobject :0000192: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000192'
<7>kobject :0000096: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000096'
<7>kobject :0000160: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000160'
<7>kobject ext2_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/ext2_inode_cache'
<7>kobject minix_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/minix_inode_cache'
<7>kobject fat_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/fat_cache'
<7>kobject fat_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/fat_inode_cache'
<7>kobject isofs_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/isofs_inode_cache'
<7>kobject nfs_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/nfs_inode_cache'
<7>kobject :a-0000072: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:a-0000072'
<7>kobject mqueue_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/mqueue_inode_cache'
<6>io scheduler noop registered
<6>io scheduler deadline registered (default)
<6>PCI: VIA PCI bridge detected. Disabling DAC.
<7>Boot video device is 0000:01:00.0
<7>kobject pnp1: registering. parent: <NULL>, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>isapnp: Scanning for PnP cards...
<6>isapnp: No Plug & Play device found
<7>kobject tty: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty'
<7>kobject console: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/console'
<7>kobject ptmx: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptmx'
<7>kobject tty0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty0'
<7>kobject vc: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc'
<7>kobject vcs: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs'
<7>kobject vcsa: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa'
<7>kobject tty1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty1'
<7>kobject tty2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty2'
<7>kobject tty3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty3'
<7>kobject tty4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty4'
<7>kobject tty5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty5'
<7>kobject tty6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty6'
<7>kobject tty7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty7'
<7>kobject tty8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty8'
<7>kobject tty9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty9'
<7>kobject tty10: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty10'
<7>kobject tty11: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty11'
<7>kobject tty12: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty12'
<7>kobject tty13: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty13'
<7>kobject tty14: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty14'
<7>kobject tty15: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty15'
<7>kobject tty16: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty16'
<7>kobject tty17: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty17'
<7>kobject tty18: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty18'
<7>kobject tty19: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty19'
<7>kobject tty20: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty20'
<7>kobject tty21: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty21'
<7>kobject tty22: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty22'
<7>kobject tty23: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty23'
<7>kobject tty24: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty24'
<7>kobject tty25: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty25'
<7>kobject tty26: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty26'
<7>kobject tty27: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty27'
<7>kobject tty28: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty28'
<7>kobject tty29: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty29'
<7>kobject tty30: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty30'
<7>kobject tty31: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty31'
<7>kobject tty32: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty32'
<7>kobject tty33: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty33'
<7>kobject tty34: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty34'
<7>kobject tty35: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty35'
<7>kobject tty36: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty36'
<7>kobject tty37: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty37'
<7>kobject tty38: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty38'
<7>kobject tty39: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty39'
<7>kobject tty40: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty40'
<7>kobject tty41: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty41'
<7>kobject tty42: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty42'
<7>kobject tty43: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty43'
<7>kobject tty44: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty44'
<7>kobject tty45: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty45'
<7>kobject tty46: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty46'
<7>kobject tty47: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty47'
<7>kobject tty48: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty48'
<7>kobject tty49: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty49'
<7>kobject tty50: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty50'
<7>kobject tty51: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty51'
<7>kobject tty52: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty52'
<7>kobject tty53: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty53'
<7>kobject tty54: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty54'
<7>kobject tty55: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty55'
<7>kobject tty56: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty56'
<7>kobject tty57: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty57'
<7>kobject tty58: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty58'
<7>kobject tty59: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty59'
<7>kobject tty60: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty60'
<7>kobject tty61: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty61'
<7>kobject tty62: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty62'
<7>kobject tty63: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/tty63'
<7>kobject ptyp0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp0'
<7>kobject ptyp1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp1'
<7>kobject ptyp2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp2'
<7>kobject ptyp3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp3'
<7>kobject ptyp4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp4'
<7>kobject ptyp5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp5'
<7>kobject ptyp6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp6'
<7>kobject ptyp7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp7'
<7>kobject ptyp8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp8'
<7>kobject ptyp9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyp9'
<7>kobject ptypa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptypa'
<7>kobject ptypb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptypb'
<7>kobject ptypc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptypc'
<7>kobject ptypd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptypd'
<7>kobject ptype: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptype'
<7>kobject ptypf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptypf'
<7>kobject ptyq0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq0'
<7>kobject ptyq1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq1'
<7>kobject ptyq2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq2'
<7>kobject ptyq3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq3'
<7>kobject ptyq4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq4'
<7>kobject ptyq5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq5'
<7>kobject ptyq6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq6'
<7>kobject ptyq7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq7'
<7>kobject ptyq8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq8'
<7>kobject ptyq9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyq9'
<7>kobject ptyqa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqa'
<7>kobject ptyqb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqb'
<7>kobject ptyqc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqc'
<7>kobject ptyqd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqd'
<7>kobject ptyqe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqe'
<7>kobject ptyqf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyqf'
<7>kobject ptyr0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr0'
<7>kobject ptyr1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr1'
<7>kobject ptyr2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr2'
<7>kobject ptyr3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr3'
<7>kobject ptyr4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr4'
<7>kobject ptyr5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr5'
<7>kobject ptyr6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr6'
<7>kobject ptyr7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr7'
<7>kobject ptyr8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr8'
<7>kobject ptyr9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyr9'
<7>kobject ptyra: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyra'
<7>kobject ptyrb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyrb'
<7>kobject ptyrc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyrc'
<7>kobject ptyrd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyrd'
<7>kobject ptyre: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyre'
<7>kobject ptyrf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyrf'
<7>kobject ptys0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys0'
<7>kobject ptys1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys1'
<7>kobject ptys2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys2'
<7>kobject ptys3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys3'
<7>kobject ptys4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys4'
<7>kobject ptys5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys5'
<7>kobject ptys6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys6'
<7>kobject ptys7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys7'
<7>kobject ptys8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys8'
<7>kobject ptys9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptys9'
<7>kobject ptysa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptysa'
<7>kobject ptysb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptysb'
<7>kobject ptysc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptysc'
<7>kobject ptysd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptysd'
<7>kobject ptyse: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyse'
<7>kobject ptysf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptysf'
<7>kobject ptyt0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt0'
<7>kobject ptyt1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt1'
<7>kobject ptyt2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt2'
<7>kobject ptyt3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt3'
<7>kobject ptyt4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt4'
<7>kobject ptyt5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt5'
<7>kobject ptyt6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt6'
<7>kobject ptyt7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt7'
<7>kobject ptyt8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt8'
<7>kobject ptyt9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyt9'
<7>kobject ptyta: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyta'
<7>kobject ptytb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptytb'
<7>kobject ptytc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptytc'
<7>kobject ptytd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptytd'
<7>kobject ptyte: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyte'
<7>kobject ptytf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptytf'
<7>kobject ptyu0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu0'
<7>kobject ptyu1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu1'
<7>kobject ptyu2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu2'
<7>kobject ptyu3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu3'
<7>kobject ptyu4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu4'
<7>kobject ptyu5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu5'
<7>kobject ptyu6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu6'
<7>kobject ptyu7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu7'
<7>kobject ptyu8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu8'
<7>kobject ptyu9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyu9'
<7>kobject ptyua: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyua'
<7>kobject ptyub: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyub'
<7>kobject ptyuc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyuc'
<7>kobject ptyud: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyud'
<7>kobject ptyue: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyue'
<7>kobject ptyuf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyuf'
<7>kobject ptyv0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv0'
<7>kobject ptyv1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv1'
<7>kobject ptyv2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv2'
<7>kobject ptyv3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv3'
<7>kobject ptyv4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv4'
<7>kobject ptyv5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv5'
<7>kobject ptyv6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv6'
<7>kobject ptyv7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv7'
<7>kobject ptyv8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv8'
<7>kobject ptyv9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyv9'
<7>kobject ptyva: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyva'
<7>kobject ptyvb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyvb'
<7>kobject ptyvc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyvc'
<7>kobject ptyvd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyvd'
<7>kobject ptyve: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyve'
<7>kobject ptyvf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyvf'
<7>kobject ptyw0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw0'
<7>kobject ptyw1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw1'
<7>kobject ptyw2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw2'
<7>kobject ptyw3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw3'
<7>kobject ptyw4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw4'
<7>kobject ptyw5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw5'
<7>kobject ptyw6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw6'
<7>kobject ptyw7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw7'
<7>kobject ptyw8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw8'
<7>kobject ptyw9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyw9'
<7>kobject ptywa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywa'
<7>kobject ptywb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywb'
<7>kobject ptywc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywc'
<7>kobject ptywd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywd'
<7>kobject ptywe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywe'
<7>kobject ptywf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptywf'
<7>kobject ptyx0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx0'
<7>kobject ptyx1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx1'
<7>kobject ptyx2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx2'
<7>kobject ptyx3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx3'
<7>kobject ptyx4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx4'
<7>kobject ptyx5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx5'
<7>kobject ptyx6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx6'
<7>kobject ptyx7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx7'
<7>kobject ptyx8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx8'
<7>kobject ptyx9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyx9'
<7>kobject ptyxa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxa'
<7>kobject ptyxb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxb'
<7>kobject ptyxc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxc'
<7>kobject ptyxd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxd'
<7>kobject ptyxe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxe'
<7>kobject ptyxf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyxf'
<7>kobject ptyy0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy0'
<7>kobject ptyy1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy1'
<7>kobject ptyy2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy2'
<7>kobject ptyy3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy3'
<7>kobject ptyy4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy4'
<7>kobject ptyy5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy5'
<7>kobject ptyy6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy6'
<7>kobject ptyy7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy7'
<7>kobject ptyy8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy8'
<7>kobject ptyy9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyy9'
<7>kobject ptyya: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyya'
<7>kobject ptyyb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyyb'
<7>kobject ptyyc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyyc'
<7>kobject ptyyd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyyd'
<7>kobject ptyye: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyye'
<7>kobject ptyyf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyyf'
<7>kobject ptyz0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz0'
<7>kobject ptyz1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz1'
<7>kobject ptyz2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz2'
<7>kobject ptyz3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz3'
<7>kobject ptyz4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz4'
<7>kobject ptyz5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz5'
<7>kobject ptyz6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz6'
<7>kobject ptyz7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz7'
<7>kobject ptyz8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz8'
<7>kobject ptyz9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyz9'
<7>kobject ptyza: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyza'
<7>kobject ptyzb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyzb'
<7>kobject ptyzc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyzc'
<7>kobject ptyzd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyzd'
<7>kobject ptyze: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyze'
<7>kobject ptyzf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyzf'
<7>kobject ptya0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya0'
<7>kobject ptya1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya1'
<7>kobject ptya2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya2'
<7>kobject ptya3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya3'
<7>kobject ptya4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya4'
<7>kobject ptya5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya5'
<7>kobject ptya6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya6'
<7>kobject ptya7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya7'
<7>kobject ptya8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya8'
<7>kobject ptya9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptya9'
<7>kobject ptyaa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyaa'
<7>kobject ptyab: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyab'
<7>kobject ptyac: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyac'
<7>kobject ptyad: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyad'
<7>kobject ptyae: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyae'
<7>kobject ptyaf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyaf'
<7>kobject ptyb0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb0'
<7>kobject ptyb1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb1'
<7>kobject ptyb2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb2'
<7>kobject ptyb3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb3'
<7>kobject ptyb4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb4'
<7>kobject ptyb5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb5'
<7>kobject ptyb6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb6'
<7>kobject ptyb7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb7'
<7>kobject ptyb8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb8'
<7>kobject ptyb9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyb9'
<7>kobject ptyba: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyba'
<7>kobject ptybb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptybb'
<7>kobject ptybc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptybc'
<7>kobject ptybd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptybd'
<7>kobject ptybe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptybe'
<7>kobject ptybf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptybf'
<7>kobject ptyc0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc0'
<7>kobject ptyc1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc1'
<7>kobject ptyc2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc2'
<7>kobject ptyc3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc3'
<7>kobject ptyc4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc4'
<7>kobject ptyc5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc5'
<7>kobject ptyc6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc6'
<7>kobject ptyc7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc7'
<7>kobject ptyc8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc8'
<7>kobject ptyc9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyc9'
<7>kobject ptyca: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyca'
<7>kobject ptycb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptycb'
<7>kobject ptycc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptycc'
<7>kobject ptycd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptycd'
<7>kobject ptyce: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyce'
<7>kobject ptycf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptycf'
<7>kobject ptyd0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd0'
<7>kobject ptyd1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd1'
<7>kobject ptyd2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd2'
<7>kobject ptyd3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd3'
<7>kobject ptyd4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd4'
<7>kobject ptyd5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd5'
<7>kobject ptyd6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd6'
<7>kobject ptyd7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd7'
<7>kobject ptyd8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd8'
<7>kobject ptyd9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyd9'
<7>kobject ptyda: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyda'
<7>kobject ptydb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptydb'
<7>kobject ptydc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptydc'
<7>kobject ptydd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptydd'
<7>kobject ptyde: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyde'
<7>kobject ptydf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptydf'
<7>kobject ptye0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye0'
<7>kobject ptye1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye1'
<7>kobject ptye2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye2'
<7>kobject ptye3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye3'
<7>kobject ptye4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye4'
<7>kobject ptye5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye5'
<7>kobject ptye6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye6'
<7>kobject ptye7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye7'
<7>kobject ptye8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye8'
<7>kobject ptye9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptye9'
<7>kobject ptyea: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyea'
<7>kobject ptyeb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyeb'
<7>kobject ptyec: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyec'
<7>kobject ptyed: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyed'
<7>kobject ptyee: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyee'
<7>kobject ptyef: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ptyef'
<7>kobject ttyp0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp0'
<7>kobject ttyp1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp1'
<7>kobject ttyp2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp2'
<7>kobject ttyp3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp3'
<7>kobject ttyp4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp4'
<7>kobject ttyp5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp5'
<7>kobject ttyp6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp6'
<7>kobject ttyp7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp7'
<7>kobject ttyp8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp8'
<7>kobject ttyp9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyp9'
<7>kobject ttypa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttypa'
<7>kobject ttypb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttypb'
<7>kobject ttypc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttypc'
<7>kobject ttypd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttypd'
<7>kobject ttype: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttype'
<7>kobject ttypf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttypf'
<7>kobject ttyq0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq0'
<7>kobject ttyq1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq1'
<7>kobject ttyq2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq2'
<7>kobject ttyq3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq3'
<7>kobject ttyq4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq4'
<7>kobject ttyq5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq5'
<7>kobject ttyq6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq6'
<7>kobject ttyq7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq7'
<7>kobject ttyq8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq8'
<7>kobject ttyq9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyq9'
<7>kobject ttyqa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqa'
<7>kobject ttyqb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqb'
<7>kobject ttyqc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqc'
<7>kobject ttyqd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqd'
<7>kobject ttyqe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqe'
<7>kobject ttyqf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyqf'
<7>kobject ttyr0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr0'
<7>kobject ttyr1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr1'
<7>kobject ttyr2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr2'
<7>kobject ttyr3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr3'
<7>kobject ttyr4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr4'
<7>kobject ttyr5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr5'
<7>kobject ttyr6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr6'
<7>kobject ttyr7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr7'
<7>kobject ttyr8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr8'
<7>kobject ttyr9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyr9'
<7>kobject ttyra: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyra'
<7>kobject ttyrb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyrb'
<7>kobject ttyrc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyrc'
<7>kobject ttyrd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyrd'
<7>kobject ttyre: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyre'
<7>kobject ttyrf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyrf'
<7>kobject ttys0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys0'
<7>kobject ttys1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys1'
<7>kobject ttys2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys2'
<7>kobject ttys3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys3'
<7>kobject ttys4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys4'
<7>kobject ttys5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys5'
<7>kobject ttys6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys6'
<7>kobject ttys7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys7'
<7>kobject ttys8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys8'
<7>kobject ttys9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttys9'
<7>kobject ttysa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttysa'
<7>kobject ttysb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttysb'
<7>kobject ttysc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttysc'
<7>kobject ttysd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttysd'
<7>kobject ttyse: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyse'
<7>kobject ttysf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttysf'
<7>kobject ttyt0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt0'
<7>kobject ttyt1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt1'
<7>kobject ttyt2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt2'
<7>kobject ttyt3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt3'
<7>kobject ttyt4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt4'
<7>kobject ttyt5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt5'
<7>kobject ttyt6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt6'
<7>kobject ttyt7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt7'
<7>kobject ttyt8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt8'
<7>kobject ttyt9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyt9'
<7>kobject ttyta: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyta'
<7>kobject ttytb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttytb'
<7>kobject ttytc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttytc'
<7>kobject ttytd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttytd'
<7>kobject ttyte: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyte'
<7>kobject ttytf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttytf'
<7>kobject ttyu0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu0'
<7>kobject ttyu1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu1'
<7>kobject ttyu2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu2'
<7>kobject ttyu3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu3'
<7>kobject ttyu4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu4'
<7>kobject ttyu5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu5'
<7>kobject ttyu6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu6'
<7>kobject ttyu7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu7'
<7>kobject ttyu8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu8'
<7>kobject ttyu9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyu9'
<7>kobject ttyua: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyua'
<7>kobject ttyub: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyub'
<7>kobject ttyuc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyuc'
<7>kobject ttyud: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyud'
<7>kobject ttyue: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyue'
<7>kobject ttyuf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyuf'
<7>kobject ttyv0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv0'
<7>kobject ttyv1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv1'
<7>kobject ttyv2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv2'
<7>kobject ttyv3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv3'
<7>kobject ttyv4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv4'
<7>kobject ttyv5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv5'
<7>kobject ttyv6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv6'
<7>kobject ttyv7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv7'
<7>kobject ttyv8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv8'
<7>kobject ttyv9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyv9'
<7>kobject ttyva: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyva'
<7>kobject ttyvb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyvb'
<7>kobject ttyvc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyvc'
<7>kobject ttyvd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyvd'
<7>kobject ttyve: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyve'
<7>kobject ttyvf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyvf'
<7>kobject ttyw0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw0'
<7>kobject ttyw1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw1'
<7>kobject ttyw2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw2'
<7>kobject ttyw3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw3'
<7>kobject ttyw4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw4'
<7>kobject ttyw5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw5'
<7>kobject ttyw6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw6'
<7>kobject ttyw7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw7'
<7>kobject ttyw8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw8'
<7>kobject ttyw9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyw9'
<7>kobject ttywa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywa'
<7>kobject ttywb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywb'
<7>kobject ttywc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywc'
<7>kobject ttywd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywd'
<7>kobject ttywe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywe'
<7>kobject ttywf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttywf'
<7>kobject ttyx0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx0'
<7>kobject ttyx1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx1'
<7>kobject ttyx2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx2'
<7>kobject ttyx3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx3'
<7>kobject ttyx4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx4'
<7>kobject ttyx5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx5'
<7>kobject ttyx6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx6'
<7>kobject ttyx7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx7'
<7>kobject ttyx8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx8'
<7>kobject ttyx9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyx9'
<7>kobject ttyxa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxa'
<7>kobject ttyxb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxb'
<7>kobject ttyxc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxc'
<7>kobject ttyxd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxd'
<7>kobject ttyxe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxe'
<7>kobject ttyxf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyxf'
<7>kobject ttyy0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy0'
<7>kobject ttyy1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy1'
<7>kobject ttyy2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy2'
<7>kobject ttyy3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy3'
<7>kobject ttyy4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy4'
<7>kobject ttyy5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy5'
<7>kobject ttyy6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy6'
<7>kobject ttyy7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy7'
<7>kobject ttyy8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy8'
<7>kobject ttyy9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyy9'
<7>kobject ttyya: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyya'
<7>kobject ttyyb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyyb'
<7>kobject ttyyc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyyc'
<7>kobject ttyyd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyyd'
<7>kobject ttyye: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyye'
<7>kobject ttyyf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyyf'
<7>kobject ttyz0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz0'
<7>kobject ttyz1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz1'
<7>kobject ttyz2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz2'
<7>kobject ttyz3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz3'
<7>kobject ttyz4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz4'
<7>kobject ttyz5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz5'
<7>kobject ttyz6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz6'
<7>kobject ttyz7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz7'
<7>kobject ttyz8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz8'
<7>kobject ttyz9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyz9'
<7>kobject ttyza: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyza'
<7>kobject ttyzb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyzb'
<7>kobject ttyzc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyzc'
<7>kobject ttyzd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyzd'
<7>kobject ttyze: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyze'
<7>kobject ttyzf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyzf'
<7>kobject ttya0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya0'
<7>kobject ttya1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya1'
<7>kobject ttya2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya2'
<7>kobject ttya3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya3'
<7>kobject ttya4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya4'
<7>kobject ttya5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya5'
<7>kobject ttya6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya6'
<7>kobject ttya7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya7'
<7>kobject ttya8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya8'
<7>kobject ttya9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttya9'
<7>kobject ttyaa: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyaa'
<7>kobject ttyab: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyab'
<7>kobject ttyac: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyac'
<7>kobject ttyad: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyad'
<7>kobject ttyae: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyae'
<7>kobject ttyaf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyaf'
<7>kobject ttyb0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb0'
<7>kobject ttyb1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb1'
<7>kobject ttyb2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb2'
<7>kobject ttyb3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb3'
<7>kobject ttyb4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb4'
<7>kobject ttyb5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb5'
<7>kobject ttyb6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb6'
<7>kobject ttyb7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb7'
<7>kobject ttyb8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb8'
<7>kobject ttyb9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyb9'
<7>kobject ttyba: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyba'
<7>kobject ttybb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttybb'
<7>kobject ttybc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttybc'
<7>kobject ttybd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttybd'
<7>kobject ttybe: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttybe'
<7>kobject ttybf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttybf'
<7>kobject ttyc0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc0'
<7>kobject ttyc1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc1'
<7>kobject ttyc2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc2'
<7>kobject ttyc3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc3'
<7>kobject ttyc4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc4'
<7>kobject ttyc5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc5'
<7>kobject ttyc6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc6'
<7>kobject ttyc7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc7'
<7>kobject ttyc8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc8'
<7>kobject ttyc9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyc9'
<7>kobject ttyca: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyca'
<7>kobject ttycb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttycb'
<7>kobject ttycc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttycc'
<7>kobject ttycd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttycd'
<7>kobject ttyce: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyce'
<7>kobject ttycf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttycf'
<7>kobject ttyd0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd0'
<7>kobject ttyd1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd1'
<7>kobject ttyd2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd2'
<7>kobject ttyd3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd3'
<7>kobject ttyd4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd4'
<7>kobject ttyd5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd5'
<7>kobject ttyd6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd6'
<7>kobject ttyd7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd7'
<7>kobject ttyd8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd8'
<7>kobject ttyd9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyd9'
<7>kobject ttyda: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyda'
<7>kobject ttydb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttydb'
<7>kobject ttydc: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttydc'
<7>kobject ttydd: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttydd'
<7>kobject ttyde: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyde'
<7>kobject ttydf: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttydf'
<7>kobject ttye0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye0'
<7>kobject ttye1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye1'
<7>kobject ttye2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye2'
<7>kobject ttye3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye3'
<7>kobject ttye4: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye4'
<7>kobject ttye5: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye5'
<7>kobject ttye6: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye6'
<7>kobject ttye7: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye7'
<7>kobject ttye8: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye8'
<7>kobject ttye9: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttye9'
<7>kobject ttyea: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyea'
<7>kobject ttyeb: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyeb'
<7>kobject ttyec: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyec'
<7>kobject ttyed: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyed'
<7>kobject ttyee: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyee'
<7>kobject ttyef: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyef'
<7>kobject printer: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/printer'
<6>lp: driver loaded but no devices found
<7>kobject hpet: registering. parent: misc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/misc/hpet'
<7>kobject hpet: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/acpi/drivers/hpet'
<6>Generic RTC Driver v1.07
<7>kobject rtc: registering. parent: misc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/misc/rtc'
<6>Linux agpgart interface v0.102
<7>kobject agpgart-intel: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/agpgart-intel'
<6>Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
<7>kobject serial8250: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
<7>kobject ttyS0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS0'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<6>serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
<7>kobject ttyS1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS1'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<7>kobject ttyS2: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS2'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<7>kobject ttyS3: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS3'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<7>kobject serial8250: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/platform/drivers/serial8250'
<7>kobject serial: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pnp/drivers/serial'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS0'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<7>kobject ttyS0: cleaning up
<6>00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
<7>kobject ttyS0: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS0'
<7>fill_kobj_path: path = '/devices/pnp0/00:07'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS1'
<7>fill_kobj_path: path = '/devices/platform/serial8250'
<7>kobject ttyS1: cleaning up
<6>00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
<7>kobject ttyS1: registering. parent: tty, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/tty/ttyS1'
<7>fill_kobj_path: path = '/devices/pnp0/00:08'
<7>kobject serial: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/serial'
<7>kobject parport_pc: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/platform/drivers/parport_pc'
<7>parport_pc: VIA 686A/8231 detected
<7>parport_pc: probing current configuration
<7>parport_pc: Current parallel port base: 0x378
<6>parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]
<7>kobject lp0: registering. parent: printer, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/printer/lp0'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.0'
<6>lp0: using parport0 (interrupt-driven).
<6>parport_pc: VIA parallel port: io=0x378, irq=7
<7>kobject parport_pc.956: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject parport_pc.956: cleaning up
<7>kobject parport_pc.888: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject parport_pc.888: cleaning up
<7>kobject parport_pc.632: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject parport_pc.632: cleaning up
<7>kobject parport_pc: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/parport_pc'
<7>kobject isa: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/isa'
<7>kobject devices: registering. parent: isa, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: isa, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject isa: registering. parent: <NULL>, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject ram0: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram0, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram0, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram0'
<7>kobject ram1: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram1, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram1, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram1'
<7>kobject ram2: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram2, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram2, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram2'
<7>kobject ram3: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram3, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram3, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram3'
<7>kobject ram4: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram4, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram4, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram4'
<7>kobject ram5: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram5, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram5, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram5'
<7>kobject ram6: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram6, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram6, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram6'
<7>kobject ram7: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram7, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram7, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram7'
<7>kobject ram8: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram8, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram8, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram8'
<7>kobject ram9: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram9, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram9, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram9'
<7>kobject ram10: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram10, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram10, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram10'
<7>kobject ram11: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram11, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram11, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram11'
<7>kobject ram12: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram12, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram12, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram12'
<7>kobject ram13: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram13, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram13, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram13'
<7>kobject ram14: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram14, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram14, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram14'
<7>kobject ram15: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: ram15, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: ram15, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/ram15'
<4>RAMDISK driver initialized: 16 RAM disks of 64000K size 1024 blocksize
<7>kobject loop0: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop0, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop0, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop0'
<7>kobject loop1: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop1, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop1, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop1'
<7>kobject loop2: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop2, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop2, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop2'
<7>kobject loop3: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop3, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop3, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop3'
<7>kobject loop4: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop4, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop4, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop4'
<7>kobject loop5: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop5, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop5, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop5'
<7>kobject loop6: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop6, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop6, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop6'
<7>kobject loop7: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: loop7, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: loop7, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/loop7'
<6>loop: module loaded
<7>kobject plip0: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/plip0'
<6>NET3 PLIP version 2.4-parport gniibe@mri.co.jp
<6>plip0: Parallel port at 0x378, using IRQ 7.
<7>kobject lo: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/lo'
<6>Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
<6>ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
<7>kobject ide: registering. parent: <NULL>, set: bus
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/ide'
<7>kobject devices: registering. parent: ide, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject drivers: registering. parent: ide, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject PCI_IDE: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/PCI_IDE'
<7>Probing IDE interface ide0...
<7>Probing IDE interface ide1...
<4>hdc: TOSHIBA THNCF512MBA, ATA DISK drive
<7>kobject ide1: registering. parent: <NULL>, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>Probing IDE interface ide2...
<7>Probing IDE interface ide3...
<7>Probing IDE interface ide4...
<7>Probing IDE interface ide5...
<4>ide1 at 0x170-0x177,0x376 on irq 15
<7>kobject 1.0: registering. parent: ide1, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/ide1/1.0'
<7>kobject ide-disk: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/ide/drivers/ide-disk'
<6>hdc: max request size: 128KiB
<6>hdc: 1000944 sectors (512 MB) w/2KiB Cache, CHS=993/16/63
<7>kobject hdc: registering. parent: <NULL>, set: block
<7>kobject holders: registering. parent: hdc, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject slaves: registering. parent: hdc, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6> hdc: hdc1 hdc2
<7>kobject hdc1: registering. parent: hdc, set: <NULL>
<7>kobject holders: registering. parent: hdc1, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject hdc2: registering. parent: hdc, set: <NULL>
<7>kobject holders: registering. parent: hdc2, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/hdc'
<7>fill_kobj_path: path = '/devices/ide1/1.0'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/hdc/hdc1'
<7>fill_kobj_path: path = '/devices/ide1/1.0'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/block/hdc/hdc2'
<7>fill_kobj_path: path = '/devices/ide1/1.0'
<7>kobject queue: registering. parent: hdc, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject iosched: registering. parent: queue, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject scsi_disk: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_disk'
<7>kobject sd: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/scsi/drivers/sd'
<7>kobject scsi_generic: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_generic'
<7>kobject ahci: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/ahci'
<7>kobject sata_via: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/sata_via'
<7>kobject pata_mpiix: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/pata_mpiix'
<7>kobject pata_oldpiix: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/pata_oldpiix'
<7>kobject pata_via: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/pata_via'
<7>pata_via 0000:00:07.1: version 0.3.2
<4>PCI: Unable to reserve I/O region #3:8@170 for device 0000:00:07.1
<4>pata_via 0000:00:07.1: failed to request/iomap BARs for port 1 (errno=-16)
<6>scsi0 : pata_via
<7>kobject host0: registering. parent: 0000:00:07.1, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject host0: registering. parent: scsi_host, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_host/host0'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.1/host0'
<6>scsi1 : pata_via
<7>kobject host1: registering. parent: 0000:00:07.1, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject host1: registering. parent: scsi_host, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/scsi_host/host1'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.1/host1'
<6>ata1: PATA max UDMA/100 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001c000 irq 14
<6>ata2: DUMMY
<7>kobject ehci_hcd: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/ehci_hcd'
<7>kobject drivers: registering. parent: ehci_hcd, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>USB Universal Host Controller Interface driver v3.0
<7>kobject uhci_hcd: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/uhci_hcd'
<7>PCI: setting IRQ 12 as level-triggered
<6>PCI: Found IRQ 12 for device 0000:00:07.2
<6>IRQ routing conflict for 0000:00:07.2, have irq 11, want irq 12
<6>IRQ routing conflict for 0000:00:07.3, have irq 11, want irq 12
<6>PCI: Sharing IRQ 12 with 0000:00:08.0
<6>uhci_hcd 0000:00:07.2: UHCI Host Controller
<7>kobject usb_host1: registering. parent: usb_host, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_host/usb_host1'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2'
<6>uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
<6>uhci_hcd 0000:00:07.2: irq 11, io base 0x0000c400
<7>kobject usb1: registering. parent: 0000:00:07.2, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2/usb1'
<7>kobject usb_endpoint: registering. parent: <NULL>, set: class
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_endpoint'
<7>kobject usbdev1.1_ep00: registering. parent: usb_endpoint, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_endpoint/usbdev1.1_ep00'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2/usb1'
<6>usb usb1: configuration #1 chosen from 1 choice
<7>kobject 1-0:1.0: registering. parent: usb1, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2/usb1/1-0:1.0'
<6>hub 1-0:1.0: USB hub found
<6>hub 1-0:1.0: 2 ports detected
<7>kobject usbdev1.1_ep81: registering. parent: usb_endpoint, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_endpoint/usbdev1.1_ep81'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.2/usb1/1-0:1.0'
<6>PCI: Found IRQ 12 for device 0000:00:07.3
<6>IRQ routing conflict for 0000:00:07.2, have irq 11, want irq 12
<6>IRQ routing conflict for 0000:00:07.3, have irq 11, want irq 12
<6>PCI: Sharing IRQ 12 with 0000:00:08.0
<6>uhci_hcd 0000:00:07.3: UHCI Host Controller
<7>kobject usb_host2: registering. parent: usb_host, set: class_obj
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_host/usb_host2'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3'
<6>uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2
<6>uhci_hcd 0000:00:07.3: irq 11, io base 0x0000c800
<7>kobject usb2: registering. parent: 0000:00:07.3, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3/usb2'
<7>kobject usbdev2.1_ep00: registering. parent: usb_endpoint, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_endpoint/usbdev2.1_ep00'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3/usb2'
<6>usb usb2: configuration #1 chosen from 1 choice
<7>kobject 2-0:1.0: registering. parent: usb2, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3/usb2/2-0:1.0'
<6>hub 2-0:1.0: USB hub found
<6>hub 2-0:1.0: 2 ports detected
<7>kobject usbdev2.1_ep81: registering. parent: usb_endpoint, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/usb_endpoint/usbdev2.1_ep81'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:07.3/usb2/2-0:1.0'
<7>kobject drivers: registering. parent: uhci_hcd, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject usblp: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/usblp'
<7>kobject drivers: registering. parent: usblp, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>usbcore: registered new interface driver usblp
<6>Initializing USB Mass Storage driver...
<7>kobject usb-storage: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/usb-storage'
<7>kobject drivers: registering. parent: usb_storage, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>usbcore: registered new interface driver usb-storage
<6>USB Mass Storage support registered.
<7>kobject i8042 kbd: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pnp/drivers/i8042 kbd'
<7>kobject i8042 aux: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pnp/drivers/i8042 aux'
<6>PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
<4>PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
<7>kobject i8042: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/platform/drivers/i8042'
<7>kobject i8042: registering. parent: platform, set: devices
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>serio: i8042 KBD port at 0x60,0x64 irq 1
<7>kobject mice: registering. parent: input, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/input/mice'
<7>kobject serio0: registering. parent: i8042, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/devices/platform/i8042/serio0'
<7>kobject psaux: registering. parent: misc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/misc/psaux'
<6>mice: PS/2 mouse device common for all mice
<7>kobject atkbd: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/serio/drivers/atkbd'
<7>kobject drivers: registering. parent: atkbd, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject psmouse: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/serio/drivers/psmouse'
<7>kobject input0: registering. parent: input, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/input/input0'
<7>fill_kobj_path: path = '/devices/platform/i8042/serio0'
<7>fill_kobj_path: path = '/class/input/input0'
<6>input: AT Translated Set 2 keyboard as /class/input/input0
<7>kobject drivers: registering. parent: psmouse, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject usbhid: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/usb/drivers/usbhid'
<7>kobject drivers: registering. parent: usbhid, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<6>usbcore: registered new interface driver usbhid
<6>drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
<6>oprofile: using timer interrupt.
<4>Netfilter messages via NETLINK v0.30.
<4>nf_conntrack version 0.5.0 (2048 buckets, 8192 max)
<7>kobject :0000216: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000216'
<7>kobject :0000136: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/:0000136'
<6>IPv4 over IPv4 tunneling driver
<7>kobject tunl0: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/tunl0'
<6>GRE over IPv4 tunneling driver
<7>kobject gre0: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/gre0'
<6>ip_tables: (C) 2000-2006 Netfilter Core Team
<6>arp_tables: (C) 2002 David S. Miller
<6>TCP cubic registered
<6>Initializing XFRM netlink socket
<6>NET: Registered protocol family 1
<6>NET: Registered protocol family 17
<7>kobject rpc_inode_cache: registering. parent: <NULL>, set: slab
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/slab/rpc_inode_cache'
<4>Using IPI Shortcut mode
<5>RAMDISK: Compressed image found at block 0
<4>VFS: Mounted root (minix filesystem) readonly.
<6>Freeing unused kernel memory: 176k freed
<4>Warning: unable to open an initial console.
<7>kobject vcs1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcsa1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs1: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject vcsa1: cleaning up
<7>kobject vcs1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcsa1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs1: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject vcsa1: cleaning up
<7>kobject vcs1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcsa1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject cramfs: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: cramfs, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/cramfs'
<7>kobject 8139too: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: 8139too, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/8139too'
<6>8139too Fast Ethernet driver 0.9.28
<7>kobject 8139too: registering. parent: <NULL>, set: drivers
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/bus/pci/drivers/8139too'
<6>PCI: Found IRQ 12 for device 0000:00:08.0
<6>IRQ routing conflict for 0000:00:07.2, have irq 11, want irq 12
<6>IRQ routing conflict for 0000:00:07.3, have irq 11, want irq 12
<7>kobject eth0: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth0'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:08.0'
<6>eth0: RealTek RTL8139 at 0xc8016000, 00:30:18:49:b2:31, IRQ 12
<7>eth0:  Identified 8139 chip type 'RTL-8100B/8139D'
<7>PCI: setting IRQ 10 as level-triggered
<6>PCI: Found IRQ 10 for device 0000:00:09.0
<7>kobject eth1: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth1'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:09.0'
<6>eth1: RealTek RTL8139 at 0xc8032000, 00:30:18:49:b2:30, IRQ 10
<7>eth1:  Identified 8139 chip type 'RTL-8100B/8139D'
<7>PCI: setting IRQ 11 as level-triggered
<6>PCI: Found IRQ 11 for device 0000:00:0b.0
<6>IRQ routing conflict for 0000:00:07.5, have irq 5, want irq 11
<7>kobject eth2: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2'
<7>fill_kobj_path: path = '/devices/pci0000:00/0000:00:0b.0'
<6>eth2: RealTek RTL8139 at 0xc8034000, 00:30:18:49:b2:2f, IRQ 11
<7>eth2:  Identified 8139 chip type 'RTL-8100B/8139D'
<7>kobject drivers: registering. parent: 8139too, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject 8021q: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: 8021q, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/8021q'
<6>802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
<6>All bugs added by David S. Miller <davem@redhat.com>
<7>kobject tun: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: tun, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/tun'
<6>tun: Universal TUN/TAP device driver, 1.6
<6>tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
<7>kobject tun: registering. parent: misc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/misc/tun'
<6>eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
<6>eth1: link up, 100Mbps, full-duplex, lpa 0x45E1
<6>eth2: link up, 100Mbps, full-duplex, lpa 0x45E1
<7>kobject eth2.2: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.2'
<7>kobject eth2.3: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.3'
<7>kobject eth2.4: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.4'
<7>kobject eth2.5: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.5'
<7>kobject eth2.6: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.6'
<7>kobject eth2.7: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.7'
<7>kobject eth2.8: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.8'
<7>kobject eth2.9: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.9'
<7>kobject eth2.10: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.10'
<7>kobject eth2.11: registering. parent: net, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/net/eth2.11'
<4>process `named' is using obsolete setsockopt SO_BSDCOMPAT
<7>kobject sch_htb: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: sch_htb, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/sch_htb'
<7>kobject cls_u32: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: cls_u32, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/cls_u32'
<4>u32 classifier
<4>    Performance counters on
<4>    Actions configured 
<7>kobject cls_fw: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: cls_fw, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/cls_fw'
<7>kobject sch_sfq: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: sch_sfq, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/sch_sfq'
<7>kobject ebtables: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: ebtables, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/ebtables'
<6>Ebtables v2.0 registered
<7>kobject ebtable_nat: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: ebtable_nat, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/ebtable_nat'
<7>kobject ebt_ip: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: ebt_ip, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/ebt_ip'
<6>device eth2 entered promiscuous mode
<5>audit(1216115913.546:2): dev=eth2 prom=256 old_prom=0 auid=4294967295
<6>device eth2.2 entered promiscuous mode
<5>audit(1216115913.558:3): dev=eth2.2 prom=256 old_prom=0 auid=4294967295
<6>device eth2.3 entered promiscuous mode
<5>audit(1216115913.574:4): dev=eth2.3 prom=256 old_prom=0 auid=4294967295
<6>device eth2.4 entered promiscuous mode
<5>audit(1216115913.590:5): dev=eth2.4 prom=256 old_prom=0 auid=4294967295
<6>device eth2.5 entered promiscuous mode
<5>audit(1216115913.606:6): dev=eth2.5 prom=256 old_prom=0 auid=4294967295
<6>device eth2.6 entered promiscuous mode
<5>audit(1216115913.622:7): dev=eth2.6 prom=256 old_prom=0 auid=4294967295
<6>device eth2.7 entered promiscuous mode
<5>audit(1216115913.638:8): dev=eth2.7 prom=256 old_prom=0 auid=4294967295
<6>device eth2.8 entered promiscuous mode
<5>audit(1216115913.654:9): dev=eth2.8 prom=256 old_prom=0 auid=4294967295
<6>device eth2.9 entered promiscuous mode
<5>audit(1216115913.674:10): dev=eth2.9 prom=256 old_prom=0 auid=4294967295
<6>device eth2.10 entered promiscuous mode
<5>audit(1216115913.690:11): dev=eth2.10 prom=256 old_prom=0 auid=4294967295
<6>device eth2.11 entered promiscuous mode
<5>audit(1216115913.706:12): dev=eth2.11 prom=256 old_prom=0 auid=4294967295
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs1: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject vcsa1: cleaning up
<7>kobject vcs1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs2: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs2'
<7>kobject vcsa2: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa2'
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs2'
<7>kobject vcsa1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject vcs2: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa2'
<7>kobject vcsa2: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcs1: cleaning up
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject vcsa1: cleaning up
<7>kobject vcs2: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs2'
<7>kobject vcsa2: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa2'
<7>kobject vcs1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcs1'
<7>kobject vcsa1: registering. parent: vc, set: devices
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/class/vc/vcsa1'
<7>kobject compat_xtables: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: compat_xtables, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/compat_xtables'
<7>kobject xt_RAWNAT: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: xt_RAWNAT, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/xt_RAWNAT'
<7>kobject iptable_rawpost: registering. parent: <NULL>, set: module
<7>kobject holders: registering. parent: iptable_rawpost, set: <NULL>
<7>kobject_uevent_env
<7>kobject filter function caused the event to drop!
<7>kobject_uevent_env
<7>fill_kobj_path: path = '/module/iptable_rawpost'
<6>device eth0 entered promiscuous mode
<5>audit(1216116448.402:13): dev=eth0 prom=256 old_prom=0 auid=4294967295
<6>device eth0 left promiscuous mode
<5>audit(1216116451.503:14): dev=eth0 prom=0 old_prom=256 auid=4294967295
<6>device eth0 entered promiscuous mode
<5>audit(1216116456.575:15): dev=eth0 prom=256 old_prom=0 auid=4294967295
<6>device eth0 left promiscuous mode
<5>audit(1216116466.115:16): dev=eth0 prom=0 old_prom=256 auid=4294967295
<3>compat_xtables: compat layer limits reached (xtnu_skb_make_writable) - dropping packets

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

* Re: RAWNAT kernel crash
  2008-07-15 11:43           ` Manu
@ 2008-07-16 16:21             ` Manu
  2008-07-28 11:01               ` Manu
  0 siblings, 1 reply; 9+ messages in thread
From: Manu @ 2008-07-16 16:21 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Netfilter Developer Mailing List

Manu schrieb:
> Manu schrieb:
>> Manu schrieb:
>>> Jan Engelhardt schrieb:
>>>> (and don't strip the mailing list from cc)
>>>>
>>>> On Thursday 2008-07-10 11:56, Manu wrote:
>>>>  
>>>>>>> I can set the rules but everytime I want to send traffic through 
>>>>>>> the rules
>>>>>>> I got a system crash!?
>>>>>>>         
>>>>>> I will investigate... I assume you do have dcd0c66 at least?
>>>>>>         
>>>>> I don't know what you mean with dcd0c66. I downloaded the snapshot of
>>>>> 2008-04-28
>>>>>     
>>>>
>>>> Ah ok, if you click on that you will see "commit
>>>> dcd0c661355bc5ff95d3a587c49fa59d8c4a8fef"
>>>>
>>>>  
>>>>>> Posting the crash would be helpful.
>>>>>>       
>>>>> What exactly do you mean with posting the crash?
>>>>>     
>>>>
>>>> Kernel log, oops dump. If you just say "crash", then that could be
>>>> anything, with cosmic rays to begin.
>>>>
>>>>   
>>> maybe this is already helpful - i will work on further informations 
>>> about the "crash"
>>>
>>>
>>> <3>compat_xtables: compat layer limits reached 
>>> (xtnu_skb_make_writable) - dropping packets
>>> <3>compat_xtables: compat layer limits reached 
>>> (xtnu_skb_make_writable) - dropping packets
>>> <1>BUG: unable to handle kernel NULL pointer dereference at virtual 
>>> address 00000004
>>> <1> printing eip:
>>> <4>c02acd98
>>> <1>*pde = 00000000
>>> <0>Oops: 0002 [#1]
>>> <0>PREEMPT
>>> <4>Modules linked in: iptable_rawpost xt_RAWNAT compat_xtables 
>>> ebt_ip ebtable_nat ebtables sch_sfq cls_fw cls_u32 sch_htb tun 8021q 
>>> 8139too cramfs
>>> <0>CPU:    0
>>> <0>EIP:    0060:[<c02acd98>]    Not tainted VLI
>>> <0>EFLAGS: 00010047   (2.6.23.9-default #26)
>>> <0>EIP is at skb_dequeue+0x21/0x4d
>>> <0>eax: 00000000   ebx: c4cf93c0   ecx: 00000246   edx: c5a06c60
>>> <0>esi: c5a06c00   edi: 00000000   ebp: c512fe2c   esp: c512fdfc
>>> <0>ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
>>>
> I have got further informations about the "crash". I activated the 
> kernel debug and I adjusted the "crash" 3 times -> I got everytime 
> different log-messages?!
> see attachment!
> I think the "crash" happens after a paket passes the table of the 
> iptable rule "-t raw -I PREROUTING -s x.x.x.x -j RAWSNAT --to-source 
> x.x.x.x"
> I can see that the table "-t rawpost -I POSTROUTING -d x.x.x.x -j 
> RAWDNAT --to-destination x.x.x.x" can be passed by a few pakets 
> withour a "crash".
> I don't know how to collect more informations about the crash? What 
> else can I do to provide more informations about it to you?
>
> Regards,
> Manu
>
Hello Jan,

I updated my sources with your new releases 4 days ago, but I get still 
"crashes" if a paket passed the table "-t raw -I PREROUTING -s x.x.x.x 
-j RAWSNAT --to-source x.x.x.x"?!
Still the same message:
<3>compat_xtables: compat layer limits reached (xtnu_skb_make_writable) 
- dropping packets

Table rawpost can be passed by pakets without a crash!

For testing I commented out the following two lines of the sources in 
compat_xtables.c:
        ...
        ret = skb_make_writable(&skb, len);
        /*if (nskb != skb)
                return unable(__func__) <= 0 ? false : true;*/
        return ret;
       ...

Without those lines I got:
<3>KERNEL: assertion (!atomic_read(&sk->sk_rmem_alloc)) failed at 
net/packet/af_packet.c (230)

If I can do anything further to help, please let me know? Is there a 
kernel version that I can work with the RAWNAT-module?
Any help would be greatly appreciated!

Regards,
manu



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

* RAWNAT kernel crash
  2008-07-16 16:21             ` Manu
@ 2008-07-28 11:01               ` Manu
  2008-07-28 11:44                 ` Manu
  2008-07-29 10:11                 ` Manu
  0 siblings, 2 replies; 9+ messages in thread
From: Manu @ 2008-07-28 11:01 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Netfilter Developer Mailing List

Hello,

my issue is to connect 2 pc's with different fix IP addresses!
PC1: 10.0.0.1 and 10.0.17.1
PC2: 192.168.0.123 with gateway: 192.168.0.1
I modified the sources of actual RAWNAT (xtables-addons-6e918514b752.... 
) module from  http://dev.computergmbh.de/. See attachement!
I modified the sources of my kernel-2.6.23, as well. See attachment.

Interfaces on PC1:
eth0: 10.0.0.1
eth0:2 10.0.17.1

My arptables rules are:
arptables -A OUTPUT -d 10.0.17.2 -j mangle --mangle-ip-d 192.168.0.123 
--mangle-ip-s 10.0.17.1
arptables -A INPUT -s 192.168.0.123 -j mangle --mangle-ip-s 10.0.17.2 
--mangle-ip-d 10.0.0.1

My iptables rules are:
iptables -t raw -I PREROUTING -s 192.168.0.123 -j RAWSNAT --to-source 
10.0.17.2
iptables -t rawpost -I POSTROUTING -d 10.0.17.2 -j RAWDNAT 
--to-destination 192.168.0.123

Iptables: 1.4.1.2
Kernel: 2.6.23
gcc: 3.3

With "iptables -t rawpost -I POSTROUTING -d 10.0.17.2 -j RAWDNAT 
--to-destination 192.168.0.123", I can succesfully ping PC2 from PC1 
with command "ping 10.0.17.2"!
tcpdump says:
17:54:41.897864 10.0.17.1 > 192.168.0.123: icmp: echo request (DF) (ttl 
64, id 1, len 84)
17:54:41.898156 192.168.0.123 > 10.0.17.1: icmp: echo reply (DF) (ttl 
128, id 4526, len 84)

But If I want to ping PC1 from PC2 with command "ping 10.0.17.1" and 
with "iptables -t raw -I PREROUTING -s 192.168.0.123 -j RAWSNAT 
--to-source 10.0.17.2" I got a system "crash" (complete hang up) like 
descriped in my former postings?!
It seems that the modified paket with source address replacement is in 
improper format?!! maybe the checksum?
The system "crashed" everytime, if a paket comes from 192.168.0.123 and 
entered the rule from iptables!?! If I set a rule e.g. "iptables -t raw 
-I PREROUTING -s 192.168.0.123 -j DROP" - it works fine!

klogd says:
<3>compat_xtables: compat layer limits reached (xtnu_skb_make_writable) 
- dropping packets

one time I get this immediately before the crash:
# iptables -nvL -t raw
Chain PREROUTING (policy ACCEPT 16562 packets, 13M bytes)
 pkts bytes target     prot opt in     out     source               
destination
   15  1461 DROP       all  --  eth2   *       0.0.0.0/0            
224.0.0.251
    0     0 RAWSNAT    all  --  eth2   *       192.168.0.123        
0.0.0.0/0           to-source 10.0.17.2/32

Chain OUTPUT (policy ACCEPT 10293 packets, 1584K bytes)
 pkts bytes target     prot opt in     out     source               
destination
# iptables -nvL -t raw
Chain PREROUTING (policy ACCEPT 16575 packets, 13M bytes)
 pkts bytes target     prot opt in     out     source               
destination
Segmentation fault

happens when (tcpdump-trace): passierte bei:

13:41:39.810642 0:14:b:30:d0:2 0:30:18:49:f3:2a 0800 86: 
192.168.0.123.1025 > 192.168.0.1.53: [udp sum ok]  51493+ PTR? 
123.0.168.192.in-addr.arpa. (44) (ttl 255, id 7738, len 72)
0x0000   4500 0048 1e3a 0000 ff11 1b9e c0a8 007b        E..H.:.........{
0x0010   c0a8 0001 0401 0035 0034 efaf c925 0100        .......5.4...%..
0x0020   0001 0000 0000 0000 0331 3233 0130 0331        .........123.0.1
0x0030   3638 0331 3932 0769 6e2d 6164 6472 0461        68.192.in-addr.a
0x0040   7270 6100 000c 0001                            rpa.....


Any help would be so much appreciated!
Thank you very much in advance!

Regards,
Manu






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

* Re: RAWNAT kernel crash
  2008-07-28 11:01               ` Manu
@ 2008-07-28 11:44                 ` Manu
  2008-07-29 10:11                 ` Manu
  1 sibling, 0 replies; 9+ messages in thread
From: Manu @ 2008-07-28 11:44 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Netfilter Developer Mailing List

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

Hello again,

I forgot to attach the important files :-P


Manu schrieb:
> Hello,
>
> my issue is to connect 2 pc's with different fix IP addresses!
> PC1: 10.0.0.1 and 10.0.17.1
> PC2: 192.168.0.123 with gateway: 192.168.0.1
> I modified the sources of actual RAWNAT 
> (xtables-addons-6e918514b752.... ) module from  
> http://dev.computergmbh.de/. See attachement!
> I modified the sources of my kernel-2.6.23, as well. See attachment.
>
> Interfaces on PC1:
> eth0: 10.0.0.1
> eth0:2 10.0.17.1
>
> My arptables rules are:
> arptables -A OUTPUT -d 10.0.17.2 -j mangle --mangle-ip-d 192.168.0.123 
> --mangle-ip-s 10.0.17.1
> arptables -A INPUT -s 192.168.0.123 -j mangle --mangle-ip-s 10.0.17.2 
> --mangle-ip-d 10.0.0.1
>
> My iptables rules are:
> iptables -t raw -I PREROUTING -s 192.168.0.123 -j RAWSNAT --to-source 
> 10.0.17.2
> iptables -t rawpost -I POSTROUTING -d 10.0.17.2 -j RAWDNAT 
> --to-destination 192.168.0.123
>
> Iptables: 1.4.1.2
> Kernel: 2.6.23
> gcc: 3.3
>
> With "iptables -t rawpost -I POSTROUTING -d 10.0.17.2 -j RAWDNAT 
> --to-destination 192.168.0.123", I can succesfully ping PC2 from PC1 
> with command "ping 10.0.17.2"!
> tcpdump says:
> 17:54:41.897864 10.0.17.1 > 192.168.0.123: icmp: echo request (DF) 
> (ttl 64, id 1, len 84)
> 17:54:41.898156 192.168.0.123 > 10.0.17.1: icmp: echo reply (DF) (ttl 
> 128, id 4526, len 84)
>
> But If I want to ping PC1 from PC2 with command "ping 10.0.17.1" and 
> with "iptables -t raw -I PREROUTING -s 192.168.0.123 -j RAWSNAT 
> --to-source 10.0.17.2" I got a system "crash" (complete hang up) like 
> descriped in my former postings?!
> It seems that the modified paket with source address replacement is in 
> improper format?!! maybe the checksum?
> The system "crashed" everytime, if a paket comes from 192.168.0.123 
> and entered the rule from iptables!?! If I set a rule e.g. "iptables 
> -t raw -I PREROUTING -s 192.168.0.123 -j DROP" - it works fine!
>
> klogd says:
> <3>compat_xtables: compat layer limits reached 
> (xtnu_skb_make_writable) - dropping packets
>
> one time I get this immediately before the crash:
> # iptables -nvL -t raw
> Chain PREROUTING (policy ACCEPT 16562 packets, 13M bytes)
> pkts bytes target     prot opt in     out     source               
> destination
>   15  1461 DROP       all  --  eth2   *       0.0.0.0/0            
> 224.0.0.251
>    0     0 RAWSNAT    all  --  eth2   *       192.168.0.123        
> 0.0.0.0/0           to-source 10.0.17.2/32
>
> Chain OUTPUT (policy ACCEPT 10293 packets, 1584K bytes)
> pkts bytes target     prot opt in     out     source               
> destination
> # iptables -nvL -t raw
> Chain PREROUTING (policy ACCEPT 16575 packets, 13M bytes)
> pkts bytes target     prot opt in     out     source               
> destination
> Segmentation fault
>
> happens when (tcpdump-trace): passierte bei:
>
> 13:41:39.810642 0:14:b:30:d0:2 0:30:18:49:f3:2a 0800 86: 
> 192.168.0.123.1025 > 192.168.0.1.53: [udp sum ok]  51493+ PTR? 
> 123.0.168.192.in-addr.arpa. (44) (ttl 255, id 7738, len 72)
> 0x0000   4500 0048 1e3a 0000 ff11 1b9e c0a8 007b        E..H.:.........{
> 0x0010   c0a8 0001 0401 0035 0034 efaf c925 0100        .......5.4...%..
> 0x0020   0001 0000 0000 0000 0331 3233 0130 0331        .........123.0.1
> 0x0030   3638 0331 3932 0769 6e2d 6164 6472 0461        68.192.in-addr.a
> 0x0040   7270 6100 000c 0001                            rpa.....
>
>
> Any help would be so much appreciated!
> Thank you very much in advance!
>
> Regards,
> Manu
>
>
>
>
>
> -- 
> To unsubscribe from this list: send the line "unsubscribe 
> netfilter-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


[-- Attachment #2: arp.c --]
[-- Type: text/x-csrc, Size: 35811 bytes --]

/* linux/net/ipv4/arp.c
 *
 * Version:	$Id: arp.c,v 1.99 2001/08/30 22:55:42 davem Exp $
 *
 * Copyright (C) 1994 by Florian  La Roche
 *
 * This module implements the Address Resolution Protocol ARP (RFC 826),
 * which is used to convert IP addresses (or in the future maybe other
 * high-level addresses) into a low-level hardware address (like an Ethernet
 * address).
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version
 * 2 of the License, or (at your option) any later version.
 *
 * Fixes:
 *		Alan Cox	:	Removed the Ethernet assumptions in
 *					Florian's code
 *		Alan Cox	:	Fixed some small errors in the ARP
 *					logic
 *		Alan Cox	:	Allow >4K in /proc
 *		Alan Cox	:	Make ARP add its own protocol entry
 *		Ross Martin     :       Rewrote arp_rcv() and arp_get_info()
 *		Stephen Henson	:	Add AX25 support to arp_get_info()
 *		Alan Cox	:	Drop data when a device is downed.
 *		Alan Cox	:	Use init_timer().
 *		Alan Cox	:	Double lock fixes.
 *		Martin Seine	:	Move the arphdr structure
 *					to if_arp.h for compatibility.
 *					with BSD based programs.
 *		Andrew Tridgell :       Added ARP netmask code and
 *					re-arranged proxy handling.
 *		Alan Cox	:	Changed to use notifiers.
 *		Niibe Yutaka	:	Reply for this device or proxies only.
 *		Alan Cox	:	Don't proxy across hardware types!
 *		Jonathan Naylor :	Added support for NET/ROM.
 *		Mike Shaver     :       RFC1122 checks.
 *		Jonathan Naylor :	Only lookup the hardware address for
 *					the correct hardware type.
 *		Germano Caronni	:	Assorted subtle races.
 *		Craig Schlenter :	Don't modify permanent entry
 *					during arp_rcv.
 *		Russ Nelson	:	Tidied up a few bits.
 *		Alexey Kuznetsov:	Major changes to caching and behaviour,
 *					eg intelligent arp probing and
 *					generation
 *					of host down events.
 *		Alan Cox	:	Missing unlock in device events.
 *		Eckes		:	ARP ioctl control errors.
 *		Alexey Kuznetsov:	Arp free fix.
 *		Manuel Rodriguez:	Gratuitous ARP.
 *              Jonathan Layes  :       Added arpd support through kerneld
 *                                      message queue (960314)
 *		Mike Shaver	:	/proc/sys/net/ipv4/arp_* support
 *		Mike McLagan    :	Routing by source
 *		Stuart Cheshire	:	Metricom and grat arp fixes
 *					*** FOR 2.1 clean this up ***
 *		Lawrence V. Stefani: (08/12/96) Added FDDI support.
 *		Alan Cox 	:	Took the AP1000 nasty FDDI hack and
 *					folded into the mainstream FDDI code.
 *					Ack spit, Linus how did you allow that
 *					one in...
 *		Jes Sorensen	:	Make FDDI work again in 2.1.x and
 *					clean up the APFDDI & gen. FDDI bits.
 *		Alexey Kuznetsov:	new arp state machine;
 *					now it is in net/core/neighbour.c.
 *		Krzysztof Halasa:	Added Frame Relay ARP support.
 *		Arnaldo C. Melo :	convert /proc/net/arp to seq_file
 *		Shmulik Hen:		Split arp_send to arp_create and
 *					arp_xmit so intermediate drivers like
 *					bonding can change the skb before
 *					sending (e.g. insert 8021q tag).
 *		Harald Welte	:	convert to make use of jenkins hash
 */

#include <linux/module.h>
#include <linux/types.h>
#include <linux/string.h>
#include <linux/kernel.h>
#include <linux/capability.h>
#include <linux/socket.h>
#include <linux/sockios.h>
#include <linux/errno.h>
#include <linux/in.h>
#include <linux/mm.h>
#include <linux/inet.h>
#include <linux/inetdevice.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/fddidevice.h>
#include <linux/if_arp.h>
#include <linux/trdevice.h>
#include <linux/skbuff.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/stat.h>
#include <linux/init.h>
#include <linux/net.h>
#include <linux/rcupdate.h>
#include <linux/jhash.h>
#ifdef CONFIG_SYSCTL
#include <linux/sysctl.h>
#endif

#include <net/ip.h>
#include <net/icmp.h>
#include <net/route.h>
#include <net/protocol.h>
#include <net/tcp.h>
#include <net/sock.h>
#include <net/arp.h>
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
#include <net/ax25.h>
#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
#include <net/netrom.h>
#endif
#endif
#if defined(CONFIG_ATM_CLIP) || defined(CONFIG_ATM_CLIP_MODULE)
#include <net/atmclip.h>
struct neigh_table *clip_tbl_hook;
#endif

#include <asm/system.h>
#include <asm/uaccess.h>

#include <linux/netfilter_arp.h>

/*
 *	Interface to generic neighbour cache.
 */
static u32 arp_hash(const void *pkey, const struct net_device *dev);
static int arp_constructor(struct neighbour *neigh);
static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb);
static void arp_error_report(struct neighbour *neigh, struct sk_buff *skb);
static void parp_redo(struct sk_buff *skb);

static struct neigh_ops arp_generic_ops = {
	.family =		AF_INET,
	.solicit =		arp_solicit,
	.error_report =		arp_error_report,
	.output =		neigh_resolve_output,
	.connected_output =	neigh_connected_output,
	.hh_output =		dev_queue_xmit,
	.queue_xmit =		dev_queue_xmit,
};

static struct neigh_ops arp_hh_ops = {
	.family =		AF_INET,
	.solicit =		arp_solicit,
	.error_report =		arp_error_report,
	.output =		neigh_resolve_output,
	.connected_output =	neigh_resolve_output,
	.hh_output =		dev_queue_xmit,
	.queue_xmit =		dev_queue_xmit,
};

static struct neigh_ops arp_direct_ops = {
	.family =		AF_INET,
	.output =		dev_queue_xmit,
	.connected_output =	dev_queue_xmit,
	.hh_output =		dev_queue_xmit,
	.queue_xmit =		dev_queue_xmit,
};

struct neigh_ops arp_broken_ops = {
	.family =		AF_INET,
	.solicit =		arp_solicit,
	.error_report =		arp_error_report,
	.output =		neigh_compat_output,
	.connected_output =	neigh_compat_output,
	.hh_output =		dev_queue_xmit,
	.queue_xmit =		dev_queue_xmit,
};

struct neigh_table arp_tbl = {
	.family =	AF_INET,
	.entry_size =	sizeof(struct neighbour) + 4,
	.key_len =	4,
	.hash =		arp_hash,
	.constructor =	arp_constructor,
	.proxy_redo =	parp_redo,
	.id =		"arp_cache",
	.parms = {
		.tbl =			&arp_tbl,
		.base_reachable_time =	30 * HZ,
		.retrans_time =	1 * HZ,
		.gc_staletime =	60 * HZ,
		.reachable_time =		30 * HZ,
		.delay_probe_time =	5 * HZ,
		.queue_len =		3,
		.ucast_probes =	3,
		.mcast_probes =	3,
		.anycast_delay =	1 * HZ,
		.proxy_delay =		(8 * HZ) / 10,
		.proxy_qlen =		64,
		.locktime =		1 * HZ,
	},
	.gc_interval =	30 * HZ,
	.gc_thresh1 =	128,
	.gc_thresh2 =	512,
	.gc_thresh3 =	1024,
};

int arp_mc_map(__be32 addr, u8 *haddr, struct net_device *dev, int dir)
{
	switch (dev->type) {
	case ARPHRD_ETHER:
	case ARPHRD_FDDI:
	case ARPHRD_IEEE802:
		ip_eth_mc_map(addr, haddr);
		return 0;
	case ARPHRD_IEEE802_TR:
		ip_tr_mc_map(addr, haddr);
		return 0;
	case ARPHRD_INFINIBAND:
		ip_ib_mc_map(addr, haddr);
		return 0;
	default:
		if (dir) {
			memcpy(haddr, dev->broadcast, dev->addr_len);
			return 0;
		}
	}
	return -EINVAL;
}


static u32 arp_hash(const void *pkey, const struct net_device *dev)
{
	return jhash_2words(*(u32 *)pkey, dev->ifindex, arp_tbl.hash_rnd);
}

static int arp_constructor(struct neighbour *neigh)
{
	__be32 addr = *(__be32*)neigh->primary_key;
	struct net_device *dev = neigh->dev;
	struct in_device *in_dev;
	struct neigh_parms *parms;

	neigh->type = inet_addr_type(addr);

	rcu_read_lock();
	in_dev = __in_dev_get_rcu(dev);
	if (in_dev == NULL) {
		rcu_read_unlock();
		return -EINVAL;
	}

	parms = in_dev->arp_parms;
	__neigh_parms_put(neigh->parms);
	neigh->parms = neigh_parms_clone(parms);
	rcu_read_unlock();

	if (dev->hard_header == NULL) {
		neigh->nud_state = NUD_NOARP;
		neigh->ops = &arp_direct_ops;
		neigh->output = neigh->ops->queue_xmit;
	} else {
		/* Good devices (checked by reading texts, but only Ethernet is
		   tested)

		   ARPHRD_ETHER: (ethernet, apfddi)
		   ARPHRD_FDDI: (fddi)
		   ARPHRD_IEEE802: (tr)
		   ARPHRD_METRICOM: (strip)
		   ARPHRD_ARCNET:
		   etc. etc. etc.

		   ARPHRD_IPDDP will also work, if author repairs it.
		   I did not it, because this driver does not work even
		   in old paradigm.
		 */

#if 1
		/* So... these "amateur" devices are hopeless.
		   The only thing, that I can say now:
		   It is very sad that we need to keep ugly obsolete
		   code to make them happy.

		   They should be moved to more reasonable state, now
		   they use rebuild_header INSTEAD OF hard_start_xmit!!!
		   Besides that, they are sort of out of date
		   (a lot of redundant clones/copies, useless in 2.1),
		   I wonder why people believe that they work.
		 */
		switch (dev->type) {
		default:
			break;
		case ARPHRD_ROSE:
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
		case ARPHRD_AX25:
#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
		case ARPHRD_NETROM:
#endif
			neigh->ops = &arp_broken_ops;
			neigh->output = neigh->ops->output;
			return 0;
#endif
		;}
#endif
		if (neigh->type == RTN_MULTICAST) {
			neigh->nud_state = NUD_NOARP;
			arp_mc_map(addr, neigh->ha, dev, 1);
		} else if (dev->flags&(IFF_NOARP|IFF_LOOPBACK)) {
			neigh->nud_state = NUD_NOARP;
			memcpy(neigh->ha, dev->dev_addr, dev->addr_len);
		} else if (neigh->type == RTN_BROADCAST || dev->flags&IFF_POINTOPOINT) {
			neigh->nud_state = NUD_NOARP;
			memcpy(neigh->ha, dev->broadcast, dev->addr_len);
		}
		if (dev->hard_header_cache)
			neigh->ops = &arp_hh_ops;
		else
			neigh->ops = &arp_generic_ops;
		if (neigh->nud_state&NUD_VALID)
			neigh->output = neigh->ops->connected_output;
		else
			neigh->output = neigh->ops->output;
	}
	return 0;
}

static void arp_error_report(struct neighbour *neigh, struct sk_buff *skb)
{
	dst_link_failure(skb);
	kfree_skb(skb);
}

static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb)
{
	__be32 saddr = 0;
	u8  *dst_ha = NULL;
	struct net_device *dev = neigh->dev;
	__be32 target = *(__be32*)neigh->primary_key;
	int probes = atomic_read(&neigh->probes);
//	struct in_device *in_dev = in_dev_get(dev);

//	if (!in_dev)
//		return;

//	switch (IN_DEV_ARP_ANNOUNCE(in_dev)) {
//	default:
//	case 0:		/* By default announce any local IP */
//		if (skb && inet_addr_type(ip_hdr(skb)->saddr) == RTN_LOCAL)
//			saddr = ip_hdr(skb)->saddr;
//		break;
//	case 1:		/* Restrict announcements of saddr in same subnet */
//		if (!skb)
//			break;
//		saddr = ip_hdr(skb)->saddr;
//		if (inet_addr_type(saddr) == RTN_LOCAL) {
//			/* saddr should be known to target */
//			if (inet_addr_onlink(in_dev, target, saddr))
//				break;
//		}
//		saddr = 0;
//		break;
//	case 2:		/* Avoid secondary IPs, get a primary/preferred one */
//		break;
//	}

//	if (in_dev)
//		in_dev_put(in_dev);
//	if (!saddr)
//		saddr = inet_select_addr(dev, target, RT_SCOPE_LINK);

/* added by scheub */
	if (skb && inet_addr_type(ip_hdr(skb)->saddr) == RTN_LOCAL)
		saddr = ip_hdr(skb)->saddr;
	else
		saddr = inet_select_addr(dev, target, RT_SCOPE_LINK);

/* end added by scheub*/

	if ((probes -= neigh->parms->ucast_probes) < 0) {
		if (!(neigh->nud_state&NUD_VALID))
			printk(KERN_DEBUG "trying to ucast probe in NUD_INVALID\n");
		dst_ha = neigh->ha;
		read_lock_bh(&neigh->lock);
	} else if ((probes -= neigh->parms->app_probes) < 0) {
#ifdef CONFIG_ARPD
		neigh_app_ns(neigh);
#endif
		return;
	}

	arp_send(ARPOP_REQUEST, ETH_P_ARP, target, dev, saddr,
		 dst_ha, dev->dev_addr, NULL);
	if (dst_ha)
		read_unlock_bh(&neigh->lock);
}

//static int arp_ignore(struct in_device *in_dev, struct net_device *dev,
//		      __be32 sip, __be32 tip)
//{
//	int scope;

//	switch (IN_DEV_ARP_IGNORE(in_dev)) {
//	case 0:	/* Reply, the tip is already validated */
//		return 0;
//	case 1:	/* Reply only if tip is configured on the incoming interface */
//		sip = 0;
//		scope = RT_SCOPE_HOST;
//		break;
//	case 2:	/*
//		 * Reply only if tip is configured on the incoming interface
//		 * and is in same subnet as sip
//		 */
//		scope = RT_SCOPE_HOST;
//		break;
//	case 3:	/* Do not reply for scope host addresses */
//		sip = 0;
//		scope = RT_SCOPE_LINK;
//		dev = NULL;
//		break;
//	case 4:	/* Reserved */
//	case 5:
//	case 6:
//	case 7:
//		return 0;
//	case 8:	/* Do not reply */
//		return 1;
//	default:
//		return 0;
//	}
//	return !inet_confirm_addr(dev, sip, tip, scope);
//}

static int arp_filter(__be32 sip, __be32 tip, struct net_device *dev)
{
	struct flowi fl = { .nl_u = { .ip4_u = { .daddr = sip,
						 .saddr = tip } } };
	struct rtable *rt;
	int flag = 0;
	/*unsigned long now; */

	if (ip_route_output_key(&rt, &fl) < 0)
		return 1;
	if (rt->u.dst.dev != dev) {
		NET_INC_STATS_BH(LINUX_MIB_ARPFILTER);
		flag = 1;
	}
	ip_rt_put(rt);
	return flag;
}

/* OBSOLETE FUNCTIONS */

/*
 *	Find an arp mapping in the cache. If not found, post a request.
 *
 *	It is very UGLY routine: it DOES NOT use skb->dst->neighbour,
 *	even if it exists. It is supposed that skb->dev was mangled
 *	by a virtual device (eql, shaper). Nobody but broken devices
 *	is allowed to use this function, it is scheduled to be removed. --ANK
 */

static int arp_set_predefined(int addr_hint, unsigned char * haddr, __be32 paddr, struct net_device * dev)
{
	switch (addr_hint) {
	case RTN_LOCAL:
		printk(KERN_DEBUG "ARP: arp called for own IP address\n");
		memcpy(haddr, dev->dev_addr, dev->addr_len);
		return 1;
	case RTN_MULTICAST:
		arp_mc_map(paddr, haddr, dev, 1);
		return 1;
	case RTN_BROADCAST:
		memcpy(haddr, dev->broadcast, dev->addr_len);
		return 1;
	}
	return 0;
}


int arp_find(unsigned char *haddr, struct sk_buff *skb)
{
	struct net_device *dev = skb->dev;
	__be32 paddr;
	struct neighbour *n;

	if (!skb->dst) {
		printk(KERN_DEBUG "arp_find is called with dst==NULL\n");
		kfree_skb(skb);
		return 1;
	}

	paddr = ((struct rtable*)skb->dst)->rt_gateway;

	if (arp_set_predefined(inet_addr_type(paddr), haddr, paddr, dev))
		return 0;

	n = __neigh_lookup(&arp_tbl, &paddr, dev, 1);

	if (n) {
		n->used = jiffies;
		if (n->nud_state&NUD_VALID || neigh_event_send(n, skb) == 0) {
			read_lock_bh(&n->lock);
			memcpy(haddr, n->ha, dev->addr_len);
			read_unlock_bh(&n->lock);
			neigh_release(n);
			return 0;
		}
		neigh_release(n);
	} else
		kfree_skb(skb);
	return 1;
}

/* END OF OBSOLETE FUNCTIONS */

int arp_bind_neighbour(struct dst_entry *dst)
{
	struct net_device *dev = dst->dev;
	struct neighbour *n = dst->neighbour;

	if (dev == NULL)
		return -EINVAL;
	if (n == NULL) {
		__be32 nexthop = ((struct rtable*)dst)->rt_gateway;
		if (dev->flags&(IFF_LOOPBACK|IFF_POINTOPOINT))
			nexthop = 0;
		n = __neigh_lookup_errno(
#if defined(CONFIG_ATM_CLIP) || defined(CONFIG_ATM_CLIP_MODULE)
		    dev->type == ARPHRD_ATM ? clip_tbl_hook :
#endif
		    &arp_tbl, &nexthop, dev);
		if (IS_ERR(n))
			return PTR_ERR(n);
		dst->neighbour = n;
	}
	return 0;
}

/*
 * Check if we can use proxy ARP for this path
 */

static inline int arp_fwd_proxy(struct in_device *in_dev, struct rtable *rt)
{
	struct in_device *out_dev;
	int imi, omi = -1;

	if (!IN_DEV_PROXY_ARP(in_dev))
		return 0;

	if ((imi = IN_DEV_MEDIUM_ID(in_dev)) == 0)
		return 1;
	if (imi == -1)
		return 0;

	/* place to check for proxy_arp for routes */

	if ((out_dev = in_dev_get(rt->u.dst.dev)) != NULL) {
		omi = IN_DEV_MEDIUM_ID(out_dev);
		in_dev_put(out_dev);
	}
	return (omi != imi && omi != -1);
}

/*
 *	Interface to link layer: send routine and receive handler.
 */

/*
 *	Create an arp packet. If (dest_hw == NULL), we create a broadcast
 *	message.
 */
struct sk_buff *arp_create(int type, int ptype, __be32 dest_ip,
			   struct net_device *dev, __be32 src_ip,
			   unsigned char *dest_hw, unsigned char *src_hw,
			   unsigned char *target_hw)
{
	struct sk_buff *skb;
	struct arphdr *arp;
	unsigned char *arp_ptr;

	/*
	 *	Allocate a buffer
	 */

	skb = alloc_skb(sizeof(struct arphdr)+ 2*(dev->addr_len+4)
				+ LL_RESERVED_SPACE(dev), GFP_ATOMIC);
	if (skb == NULL)
		return NULL;

	skb_reserve(skb, LL_RESERVED_SPACE(dev));
	skb_reset_network_header(skb);
	arp = (struct arphdr *) skb_put(skb,sizeof(struct arphdr) + 2*(dev->addr_len+4));
	skb->dev = dev;
	skb->protocol = htons(ETH_P_ARP);
	if (src_hw == NULL)
		src_hw = dev->dev_addr;
	if (dest_hw == NULL)
		dest_hw = dev->broadcast;

	/*
	 *	Fill the device header for the ARP frame
	 */
	if (dev->hard_header &&
	    dev->hard_header(skb,dev,ptype,dest_hw,src_hw,skb->len) < 0)
		goto out;

	/*
	 * Fill out the arp protocol part.
	 *
	 * The arp hardware type should match the device type, except for FDDI,
	 * which (according to RFC 1390) should always equal 1 (Ethernet).
	 */
	/*
	 *	Exceptions everywhere. AX.25 uses the AX.25 PID value not the
	 *	DIX code for the protocol. Make these device structure fields.
	 */
	switch (dev->type) {
	default:
		arp->ar_hrd = htons(dev->type);
		arp->ar_pro = htons(ETH_P_IP);
		break;

#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
	case ARPHRD_AX25:
		arp->ar_hrd = htons(ARPHRD_AX25);
		arp->ar_pro = htons(AX25_P_IP);
		break;

#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
	case ARPHRD_NETROM:
		arp->ar_hrd = htons(ARPHRD_NETROM);
		arp->ar_pro = htons(AX25_P_IP);
		break;
#endif
#endif

#ifdef CONFIG_FDDI
	case ARPHRD_FDDI:
		arp->ar_hrd = htons(ARPHRD_ETHER);
		arp->ar_pro = htons(ETH_P_IP);
		break;
#endif
#ifdef CONFIG_TR
	case ARPHRD_IEEE802_TR:
		arp->ar_hrd = htons(ARPHRD_IEEE802);
		arp->ar_pro = htons(ETH_P_IP);
		break;
#endif
	}

	arp->ar_hln = dev->addr_len;
	arp->ar_pln = 4;
	arp->ar_op = htons(type);

	arp_ptr=(unsigned char *)(arp+1);

	memcpy(arp_ptr, src_hw, dev->addr_len);
	arp_ptr+=dev->addr_len;
	memcpy(arp_ptr, &src_ip,4);
	arp_ptr+=4;
	if (target_hw != NULL)
		memcpy(arp_ptr, target_hw, dev->addr_len);
	else
		memset(arp_ptr, 0, dev->addr_len);
	arp_ptr+=dev->addr_len;
	memcpy(arp_ptr, &dest_ip, 4);

	return skb;

out:
	kfree_skb(skb);
	return NULL;
}

/*
 *	Send an arp packet.
 */
void arp_xmit(struct sk_buff *skb)
{
	/* Send it off, maybe filter it using firewalling first.  */
	NF_HOOK(NF_ARP, NF_ARP_OUT, skb, NULL, skb->dev, dev_queue_xmit);
}

/*
 *	Create and send an arp packet.
 */
void arp_send(int type, int ptype, __be32 dest_ip,
	      struct net_device *dev, __be32 src_ip,
	      unsigned char *dest_hw, unsigned char *src_hw,
	      unsigned char *target_hw)
{
	struct sk_buff *skb;

	/*
	 *	No arp on this interface.
	 */

	if (dev->flags&IFF_NOARP)
		return;

	skb = arp_create(type, ptype, dest_ip, dev, src_ip,
			 dest_hw, src_hw, target_hw);
	if (skb == NULL) {
		return;
	}

	arp_xmit(skb);
}

/*
 *	Process an arp request.
 */

static int arp_process(struct sk_buff *skb)
{
	struct net_device *dev = skb->dev;
	struct in_device *in_dev = in_dev_get(dev);
	struct arphdr *arp;
	unsigned char *arp_ptr;
	struct rtable *rt;
	unsigned char *sha, *tha;
	__be32 sip, tip;
	u16 dev_type = dev->type;
	int addr_type;
	struct neighbour *n;

	/* arp_rcv below verifies the ARP header and verifies the device
	 * is ARP'able.
	 */

	if (in_dev == NULL)
		goto out;

	arp = arp_hdr(skb);

	switch (dev_type) {
	default:
		if (arp->ar_pro != htons(ETH_P_IP) ||
		    htons(dev_type) != arp->ar_hrd)
			goto out;
		break;
#ifdef CONFIG_NET_ETHERNET
	case ARPHRD_ETHER:
#endif
#ifdef CONFIG_TR
	case ARPHRD_IEEE802_TR:
#endif
#ifdef CONFIG_FDDI
	case ARPHRD_FDDI:
#endif
#ifdef CONFIG_NET_FC
	case ARPHRD_IEEE802:
#endif
#if defined(CONFIG_NET_ETHERNET) || defined(CONFIG_TR) || \
    defined(CONFIG_FDDI)	 || defined(CONFIG_NET_FC)
		/*
		 * ETHERNET, Token Ring and Fibre Channel (which are IEEE 802
		 * devices, according to RFC 2625) devices will accept ARP
		 * hardware types of either 1 (Ethernet) or 6 (IEEE 802.2).
		 * This is the case also of FDDI, where the RFC 1390 says that
		 * FDDI devices should accept ARP hardware of (1) Ethernet,
		 * however, to be more robust, we'll accept both 1 (Ethernet)
		 * or 6 (IEEE 802.2)
		 */
		if ((arp->ar_hrd != htons(ARPHRD_ETHER) &&
		     arp->ar_hrd != htons(ARPHRD_IEEE802)) ||
		    arp->ar_pro != htons(ETH_P_IP))
			goto out;
		break;
#endif
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
	case ARPHRD_AX25:
		if (arp->ar_pro != htons(AX25_P_IP) ||
		    arp->ar_hrd != htons(ARPHRD_AX25))
			goto out;
		break;
#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
	case ARPHRD_NETROM:
		if (arp->ar_pro != htons(AX25_P_IP) ||
		    arp->ar_hrd != htons(ARPHRD_NETROM))
			goto out;
		break;
#endif
#endif
	}

	/* Understand only these message types */

	if (arp->ar_op != htons(ARPOP_REPLY) &&
	    arp->ar_op != htons(ARPOP_REQUEST))
		goto out;

/*
 *	Extract fields
 */
	arp_ptr= (unsigned char *)(arp+1);
	sha	= arp_ptr;
	arp_ptr += dev->addr_len;
	memcpy(&sip, arp_ptr, 4);
	arp_ptr += 4;
	tha	= arp_ptr;
	arp_ptr += dev->addr_len;
	memcpy(&tip, arp_ptr, 4);
/*
 *	Check for bad requests for 127.x.x.x and requests for multicast
 *	addresses.  If this is one such, delete it.
 */
	if (LOOPBACK(tip) || MULTICAST(tip))
		goto out;

/*
 *     Special case: We must set Frame Relay source Q.922 address
 */
	if (dev_type == ARPHRD_DLCI)
		sha = dev->broadcast;

/*
 *  Process entry.  The idea here is we want to send a reply if it is a
 *  request for us or if it is a request for someone else that we hold
 *  a proxy for.  We want to add an entry to our cache if it is a reply
 *  to us or if it is a request for our address.
 *  (The assumption for this last is that if someone is requesting our
 *  address, they are probably intending to talk to us, so it saves time
 *  if we cache their address.  Their address is also probably not in
 *  our cache, since ours is not in their cache.)
 *
 *  Putting this another way, we only care about replies if they are to
 *  us, in which case we add them to the cache.  For requests, we care
 *  about those for us and those for our proxies.  We reply to both,
 *  and in the case of requests for us we add the requester to the arp
 *  cache.
 */

	/* Special case: IPv4 duplicate address detection packet (RFC2131) */
	if (sip == 0) {
//		if (arp->ar_op == htons(ARPOP_REQUEST) &&
//		    inet_addr_type(tip) == RTN_LOCAL &&
//		    !arp_ignore(in_dev,dev,sip,tip))
		if (arp->ar_op == htons(ARPOP_REQUEST) &&
                    inet_addr_type(tip) == RTN_LOCAL)
			arp_send(ARPOP_REPLY,ETH_P_ARP,tip,dev,tip,sha,dev->dev_addr,dev->dev_addr);
		goto out;
	}

	if (arp->ar_op == htons(ARPOP_REQUEST) &&
	    ip_route_input(skb, tip, sip, 0, dev) == 0) {

		rt = (struct rtable*)skb->dst;
		addr_type = rt->rt_type;

		if (addr_type == RTN_LOCAL) {
			n = neigh_event_ns(&arp_tbl, sha, &sip, dev);
			if (n) {
				int dont_send = 0;

//				if (!dont_send)
//					dont_send |= arp_ignore(in_dev,dev,sip,tip);
				if (!dont_send && IN_DEV_ARPFILTER(in_dev))
					dont_send |= arp_filter(sip,tip,dev);
				if (!dont_send)
					arp_send(ARPOP_REPLY,ETH_P_ARP,sip,dev,tip,sha,dev->dev_addr,sha);

				neigh_release(n);
			}
			goto out;
		} else if (IN_DEV_FORWARD(in_dev)) {
			if ((rt->rt_flags&RTCF_DNAT) ||
			    (addr_type == RTN_UNICAST  && rt->u.dst.dev != dev &&
			     (arp_fwd_proxy(in_dev, rt) || pneigh_lookup(&arp_tbl, &tip, dev, 0)))) {
				n = neigh_event_ns(&arp_tbl, sha, &sip, dev);
				if (n)
					neigh_release(n);

				if (NEIGH_CB(skb)->flags & LOCALLY_ENQUEUED ||
				    skb->pkt_type == PACKET_HOST ||
				    in_dev->arp_parms->proxy_delay == 0) {
					arp_send(ARPOP_REPLY,ETH_P_ARP,sip,dev,tip,sha,dev->dev_addr,sha);
				} else {
					pneigh_enqueue(&arp_tbl, in_dev->arp_parms, skb);
					in_dev_put(in_dev);
					return 0;
				}
				goto out;
			}
		}
	}

	/* Update our ARP tables */

	n = __neigh_lookup(&arp_tbl, &sip, dev, 0);

	if (IPV4_DEVCONF_ALL(ARP_ACCEPT)) {
		/* Unsolicited ARP is not accepted by default.
		   It is possible, that this option should be enabled for some
		   devices (strip is candidate)
		 */
		if (n == NULL &&
		    arp->ar_op == htons(ARPOP_REPLY) &&
		    inet_addr_type(sip) == RTN_UNICAST)
			n = __neigh_lookup(&arp_tbl, &sip, dev, 1);
	}

	if (n) {
		int state = NUD_REACHABLE;
		int override;

		/* If several different ARP replies follows back-to-back,
		   use the FIRST one. It is possible, if several proxy
		   agents are active. Taking the first reply prevents
		   arp trashing and chooses the fastest router.
		 */
		override = time_after(jiffies, n->updated + n->parms->locktime);

		/* Broadcast replies and request packets
		   do not assert neighbour reachability.
		 */
		if (arp->ar_op != htons(ARPOP_REPLY) ||
		    skb->pkt_type != PACKET_HOST)
			state = NUD_STALE;
		neigh_update(n, sha, state, override ? NEIGH_UPDATE_F_OVERRIDE : 0);
		neigh_release(n);
	}

out:
	if (in_dev)
		in_dev_put(in_dev);
	kfree_skb(skb);
	return 0;
}

static void parp_redo(struct sk_buff *skb)
{
	arp_process(skb);
}


/*
 *	Receive an arp request from the device layer.
 */

static int arp_rcv(struct sk_buff *skb, struct net_device *dev,
		   struct packet_type *pt, struct net_device *orig_dev)
{
	struct arphdr *arp;

	/* ARP header, plus 2 device addresses, plus 2 IP addresses.  */
	if (!pskb_may_pull(skb, (sizeof(struct arphdr) +
				 (2 * dev->addr_len) +
				 (2 * sizeof(u32)))))
		goto freeskb;

	arp = arp_hdr(skb);
	if (arp->ar_hln != dev->addr_len ||
	    dev->flags & IFF_NOARP ||
	    skb->pkt_type == PACKET_OTHERHOST ||
	    skb->pkt_type == PACKET_LOOPBACK ||
	    arp->ar_pln != 4)
		goto freeskb;

	if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL)
		goto out_of_mem;

	memset(NEIGH_CB(skb), 0, sizeof(struct neighbour_cb));

	return NF_HOOK(NF_ARP, NF_ARP_IN, skb, dev, NULL, arp_process);

freeskb:
	kfree_skb(skb);
out_of_mem:
	return 0;
}

/*
 *	User level interface (ioctl)
 */

/*
 *	Set (create) an ARP cache entry.
 */

static int arp_req_set(struct arpreq *r, struct net_device * dev)
{
	__be32 ip = ((struct sockaddr_in *) &r->arp_pa)->sin_addr.s_addr;
	struct neighbour *neigh;
	int err;

	if (r->arp_flags&ATF_PUBL) {
		__be32 mask = ((struct sockaddr_in *) &r->arp_netmask)->sin_addr.s_addr;
		if (mask && mask != htonl(0xFFFFFFFF))
			return -EINVAL;
		if (!dev && (r->arp_flags & ATF_COM)) {
			dev = dev_getbyhwaddr(r->arp_ha.sa_family, r->arp_ha.sa_data);
			if (!dev)
				return -ENODEV;
		}
		if (mask) {
			if (pneigh_lookup(&arp_tbl, &ip, dev, 1) == NULL)
				return -ENOBUFS;
			return 0;
		}
		if (dev == NULL) {
			IPV4_DEVCONF_ALL(PROXY_ARP) = 1;
			return 0;
		}
		if (__in_dev_get_rtnl(dev)) {
			IN_DEV_CONF_SET(__in_dev_get_rtnl(dev), PROXY_ARP, 1);
			return 0;
		}
		return -ENXIO;
	}

	if (r->arp_flags & ATF_PERM)
		r->arp_flags |= ATF_COM;
	if (dev == NULL) {
		struct flowi fl = { .nl_u = { .ip4_u = { .daddr = ip,
							 .tos = RTO_ONLINK } } };
		struct rtable * rt;
		if ((err = ip_route_output_key(&rt, &fl)) != 0)
			return err;
		dev = rt->u.dst.dev;
		ip_rt_put(rt);
		if (!dev)
			return -EINVAL;
	}
	switch (dev->type) {
#ifdef CONFIG_FDDI
	case ARPHRD_FDDI:
		/*
		 * According to RFC 1390, FDDI devices should accept ARP
		 * hardware types of 1 (Ethernet).  However, to be more
		 * robust, we'll accept hardware types of either 1 (Ethernet)
		 * or 6 (IEEE 802.2).
		 */
		if (r->arp_ha.sa_family != ARPHRD_FDDI &&
		    r->arp_ha.sa_family != ARPHRD_ETHER &&
		    r->arp_ha.sa_family != ARPHRD_IEEE802)
			return -EINVAL;
		break;
#endif
	default:
		if (r->arp_ha.sa_family != dev->type)
			return -EINVAL;
		break;
	}

	neigh = __neigh_lookup_errno(&arp_tbl, &ip, dev);
	err = PTR_ERR(neigh);
	if (!IS_ERR(neigh)) {
		unsigned state = NUD_STALE;
		if (r->arp_flags & ATF_PERM)
			state = NUD_PERMANENT;
		err = neigh_update(neigh, (r->arp_flags&ATF_COM) ?
				   r->arp_ha.sa_data : NULL, state,
				   NEIGH_UPDATE_F_OVERRIDE|
				   NEIGH_UPDATE_F_ADMIN);
		neigh_release(neigh);
	}
	return err;
}

static unsigned arp_state_to_flags(struct neighbour *neigh)
{
	unsigned flags = 0;
	if (neigh->nud_state&NUD_PERMANENT)
		flags = ATF_PERM|ATF_COM;
	else if (neigh->nud_state&NUD_VALID)
		flags = ATF_COM;
	return flags;
}

/*
 *	Get an ARP cache entry.
 */

static int arp_req_get(struct arpreq *r, struct net_device *dev)
{
	__be32 ip = ((struct sockaddr_in *) &r->arp_pa)->sin_addr.s_addr;
	struct neighbour *neigh;
	int err = -ENXIO;

	neigh = neigh_lookup(&arp_tbl, &ip, dev);
	if (neigh) {
		read_lock_bh(&neigh->lock);
		memcpy(r->arp_ha.sa_data, neigh->ha, dev->addr_len);
		r->arp_flags = arp_state_to_flags(neigh);
		read_unlock_bh(&neigh->lock);
		r->arp_ha.sa_family = dev->type;
		strlcpy(r->arp_dev, dev->name, sizeof(r->arp_dev));
		neigh_release(neigh);
		err = 0;
	}
	return err;
}

static int arp_req_delete(struct arpreq *r, struct net_device * dev)
{
	int err;
	__be32 ip = ((struct sockaddr_in *)&r->arp_pa)->sin_addr.s_addr;
	struct neighbour *neigh;

	if (r->arp_flags & ATF_PUBL) {
		__be32 mask =
		       ((struct sockaddr_in *)&r->arp_netmask)->sin_addr.s_addr;
		if (mask == htonl(0xFFFFFFFF))
			return pneigh_delete(&arp_tbl, &ip, dev);
		if (mask == 0) {
			if (dev == NULL) {
				IPV4_DEVCONF_ALL(PROXY_ARP) = 0;
				return 0;
			}
			if (__in_dev_get_rtnl(dev)) {
				IN_DEV_CONF_SET(__in_dev_get_rtnl(dev),
						PROXY_ARP, 0);
				return 0;
			}
			return -ENXIO;
		}
		return -EINVAL;
	}

	if (dev == NULL) {
		struct flowi fl = { .nl_u = { .ip4_u = { .daddr = ip,
							 .tos = RTO_ONLINK } } };
		struct rtable * rt;
		if ((err = ip_route_output_key(&rt, &fl)) != 0)
			return err;
		dev = rt->u.dst.dev;
		ip_rt_put(rt);
		if (!dev)
			return -EINVAL;
	}
	err = -ENXIO;
	neigh = neigh_lookup(&arp_tbl, &ip, dev);
	if (neigh) {
		if (neigh->nud_state&~NUD_NOARP)
			err = neigh_update(neigh, NULL, NUD_FAILED,
					   NEIGH_UPDATE_F_OVERRIDE|
					   NEIGH_UPDATE_F_ADMIN);
		neigh_release(neigh);
	}
	return err;
}

/*
 *	Handle an ARP layer I/O control request.
 */

int arp_ioctl(unsigned int cmd, void __user *arg)
{
	int err;
	struct arpreq r;
	struct net_device *dev = NULL;

	switch (cmd) {
		case SIOCDARP:
		case SIOCSARP:
			if (!capable(CAP_NET_ADMIN))
				return -EPERM;
		case SIOCGARP:
			err = copy_from_user(&r, arg, sizeof(struct arpreq));
			if (err)
				return -EFAULT;
			break;
		default:
			return -EINVAL;
	}

	if (r.arp_pa.sa_family != AF_INET)
		return -EPFNOSUPPORT;

	if (!(r.arp_flags & ATF_PUBL) &&
	    (r.arp_flags & (ATF_NETMASK|ATF_DONTPUB)))
		return -EINVAL;
	if (!(r.arp_flags & ATF_NETMASK))
		((struct sockaddr_in *)&r.arp_netmask)->sin_addr.s_addr =
							   htonl(0xFFFFFFFFUL);
	rtnl_lock();
	if (r.arp_dev[0]) {
		err = -ENODEV;
		if ((dev = __dev_get_by_name(r.arp_dev)) == NULL)
			goto out;

		/* Mmmm... It is wrong... ARPHRD_NETROM==0 */
		if (!r.arp_ha.sa_family)
			r.arp_ha.sa_family = dev->type;
		err = -EINVAL;
		if ((r.arp_flags & ATF_COM) && r.arp_ha.sa_family != dev->type)
			goto out;
	} else if (cmd == SIOCGARP) {
		err = -ENODEV;
		goto out;
	}

	switch (cmd) {
	case SIOCDARP:
		err = arp_req_delete(&r, dev);
		break;
	case SIOCSARP:
		err = arp_req_set(&r, dev);
		break;
	case SIOCGARP:
		err = arp_req_get(&r, dev);
		if (!err && copy_to_user(arg, &r, sizeof(r)))
			err = -EFAULT;
		break;
	}
out:
	rtnl_unlock();
	return err;
}

static int arp_netdev_event(struct notifier_block *this, unsigned long event, void *ptr)
{
	struct net_device *dev = ptr;

	switch (event) {
	case NETDEV_CHANGEADDR:
		neigh_changeaddr(&arp_tbl, dev);
		rt_cache_flush(0);
		break;
	default:
		break;
	}

	return NOTIFY_DONE;
}

static struct notifier_block arp_netdev_notifier = {
	.notifier_call = arp_netdev_event,
};

/* Note, that it is not on notifier chain.
   It is necessary, that this routine was called after route cache will be
   flushed.
 */
void arp_ifdown(struct net_device *dev)
{
	neigh_ifdown(&arp_tbl, dev);
}


/*
 *	Called once on startup.
 */

static struct packet_type arp_packet_type = {
	.type =	__constant_htons(ETH_P_ARP),
	.func =	arp_rcv,
};

static int arp_proc_init(void);

void __init arp_init(void)
{
	neigh_table_init(&arp_tbl);

	dev_add_pack(&arp_packet_type);
	arp_proc_init();
#ifdef CONFIG_SYSCTL
	neigh_sysctl_register(NULL, &arp_tbl.parms, NET_IPV4,
			      NET_IPV4_NEIGH, "ipv4", NULL, NULL);
#endif
	register_netdevice_notifier(&arp_netdev_notifier);
}

#ifdef CONFIG_PROC_FS
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)

/* ------------------------------------------------------------------------ */
/*
 *	ax25 -> ASCII conversion
 */
static char *ax2asc2(ax25_address *a, char *buf)
{
	char c, *s;
	int n;

	for (n = 0, s = buf; n < 6; n++) {
		c = (a->ax25_call[n] >> 1) & 0x7F;

		if (c != ' ') *s++ = c;
	}

	*s++ = '-';

	if ((n = ((a->ax25_call[6] >> 1) & 0x0F)) > 9) {
		*s++ = '1';
		n -= 10;
	}

	*s++ = n + '0';
	*s++ = '\0';

	if (*buf == '\0' || *buf == '-')
	   return "*";

	return buf;

}
#endif /* CONFIG_AX25 */

#define HBUFFERLEN 30

static void arp_format_neigh_entry(struct seq_file *seq,
				   struct neighbour *n)
{
	char hbuffer[HBUFFERLEN];
	const char hexbuf[] = "0123456789ABCDEF";
	int k, j;
	char tbuf[16];
	struct net_device *dev = n->dev;
	int hatype = dev->type;

	read_lock(&n->lock);
	/* Convert hardware address to XX:XX:XX:XX ... form. */
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
	if (hatype == ARPHRD_AX25 || hatype == ARPHRD_NETROM)
		ax2asc2((ax25_address *)n->ha, hbuffer);
	else {
#endif
	for (k = 0, j = 0; k < HBUFFERLEN - 3 && j < dev->addr_len; j++) {
		hbuffer[k++] = hexbuf[(n->ha[j] >> 4) & 15];
		hbuffer[k++] = hexbuf[n->ha[j] & 15];
		hbuffer[k++] = ':';
	}
	hbuffer[--k] = 0;
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
	}
#endif
	sprintf(tbuf, "%u.%u.%u.%u", NIPQUAD(*(u32*)n->primary_key));
	seq_printf(seq, "%-16s 0x%-10x0x%-10x%s     *        %s\n",
		   tbuf, hatype, arp_state_to_flags(n), hbuffer, dev->name);
	read_unlock(&n->lock);
}

static void arp_format_pneigh_entry(struct seq_file *seq,
				    struct pneigh_entry *n)
{
	struct net_device *dev = n->dev;
	int hatype = dev ? dev->type : 0;
	char tbuf[16];

	sprintf(tbuf, "%u.%u.%u.%u", NIPQUAD(*(u32*)n->key));
	seq_printf(seq, "%-16s 0x%-10x0x%-10x%s     *        %s\n",
		   tbuf, hatype, ATF_PUBL | ATF_PERM, "00:00:00:00:00:00",
		   dev ? dev->name : "*");
}

static int arp_seq_show(struct seq_file *seq, void *v)
{
	if (v == SEQ_START_TOKEN) {
		seq_puts(seq, "IP address       HW type     Flags       "
			      "HW address            Mask     Device\n");
	} else {
		struct neigh_seq_state *state = seq->private;

		if (state->flags & NEIGH_SEQ_IS_PNEIGH)
			arp_format_pneigh_entry(seq, v);
		else
			arp_format_neigh_entry(seq, v);
	}

	return 0;
}

static void *arp_seq_start(struct seq_file *seq, loff_t *pos)
{
	/* Don't want to confuse "arp -a" w/ magic entries,
	 * so we tell the generic iterator to skip NUD_NOARP.
	 */
	return neigh_seq_start(seq, pos, &arp_tbl, NEIGH_SEQ_SKIP_NOARP);
}

/* ------------------------------------------------------------------------ */

static const struct seq_operations arp_seq_ops = {
	.start  = arp_seq_start,
	.next   = neigh_seq_next,
	.stop   = neigh_seq_stop,
	.show   = arp_seq_show,
};

static int arp_seq_open(struct inode *inode, struct file *file)
{
	struct seq_file *seq;
	int rc = -ENOMEM;
	struct neigh_seq_state *s = kzalloc(sizeof(*s), GFP_KERNEL);

	if (!s)
		goto out;

	rc = seq_open(file, &arp_seq_ops);
	if (rc)
		goto out_kfree;

	seq	     = file->private_data;
	seq->private = s;
out:
	return rc;
out_kfree:
	kfree(s);
	goto out;
}

static const struct file_operations arp_seq_fops = {
	.owner		= THIS_MODULE,
	.open           = arp_seq_open,
	.read           = seq_read,
	.llseek         = seq_lseek,
	.release	= seq_release_private,
};

static int __init arp_proc_init(void)
{
	if (!proc_net_fops_create("arp", S_IRUGO, &arp_seq_fops))
		return -ENOMEM;
	return 0;
}

#else /* CONFIG_PROC_FS */

static int __init arp_proc_init(void)
{
	return 0;
}

#endif /* CONFIG_PROC_FS */

EXPORT_SYMBOL(arp_broken_ops);
EXPORT_SYMBOL(arp_find);
EXPORT_SYMBOL(arp_create);
EXPORT_SYMBOL(arp_xmit);
EXPORT_SYMBOL(arp_send);
EXPORT_SYMBOL(arp_tbl);

#if defined(CONFIG_ATM_CLIP) || defined(CONFIG_ATM_CLIP_MODULE)
EXPORT_SYMBOL(clip_tbl_hook);
#endif

[-- Attachment #3: arp.c.orig --]
[-- Type: text/plain, Size: 35379 bytes --]

/* linux/net/ipv4/arp.c
 *
 * Version:	$Id: arp.c,v 1.99 2001/08/30 22:55:42 davem Exp $
 *
 * Copyright (C) 1994 by Florian  La Roche
 *
 * This module implements the Address Resolution Protocol ARP (RFC 826),
 * which is used to convert IP addresses (or in the future maybe other
 * high-level addresses) into a low-level hardware address (like an Ethernet
 * address).
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version
 * 2 of the License, or (at your option) any later version.
 *
 * Fixes:
 *		Alan Cox	:	Removed the Ethernet assumptions in
 *					Florian's code
 *		Alan Cox	:	Fixed some small errors in the ARP
 *					logic
 *		Alan Cox	:	Allow >4K in /proc
 *		Alan Cox	:	Make ARP add its own protocol entry
 *		Ross Martin     :       Rewrote arp_rcv() and arp_get_info()
 *		Stephen Henson	:	Add AX25 support to arp_get_info()
 *		Alan Cox	:	Drop data when a device is downed.
 *		Alan Cox	:	Use init_timer().
 *		Alan Cox	:	Double lock fixes.
 *		Martin Seine	:	Move the arphdr structure
 *					to if_arp.h for compatibility.
 *					with BSD based programs.
 *		Andrew Tridgell :       Added ARP netmask code and
 *					re-arranged proxy handling.
 *		Alan Cox	:	Changed to use notifiers.
 *		Niibe Yutaka	:	Reply for this device or proxies only.
 *		Alan Cox	:	Don't proxy across hardware types!
 *		Jonathan Naylor :	Added support for NET/ROM.
 *		Mike Shaver     :       RFC1122 checks.
 *		Jonathan Naylor :	Only lookup the hardware address for
 *					the correct hardware type.
 *		Germano Caronni	:	Assorted subtle races.
 *		Craig Schlenter :	Don't modify permanent entry
 *					during arp_rcv.
 *		Russ Nelson	:	Tidied up a few bits.
 *		Alexey Kuznetsov:	Major changes to caching and behaviour,
 *					eg intelligent arp probing and
 *					generation
 *					of host down events.
 *		Alan Cox	:	Missing unlock in device events.
 *		Eckes		:	ARP ioctl control errors.
 *		Alexey Kuznetsov:	Arp free fix.
 *		Manuel Rodriguez:	Gratuitous ARP.
 *              Jonathan Layes  :       Added arpd support through kerneld
 *                                      message queue (960314)
 *		Mike Shaver	:	/proc/sys/net/ipv4/arp_* support
 *		Mike McLagan    :	Routing by source
 *		Stuart Cheshire	:	Metricom and grat arp fixes
 *					*** FOR 2.1 clean this up ***
 *		Lawrence V. Stefani: (08/12/96) Added FDDI support.
 *		Alan Cox 	:	Took the AP1000 nasty FDDI hack and
 *					folded into the mainstream FDDI code.
 *					Ack spit, Linus how did you allow that
 *					one in...
 *		Jes Sorensen	:	Make FDDI work again in 2.1.x and
 *					clean up the APFDDI & gen. FDDI bits.
 *		Alexey Kuznetsov:	new arp state machine;
 *					now it is in net/core/neighbour.c.
 *		Krzysztof Halasa:	Added Frame Relay ARP support.
 *		Arnaldo C. Melo :	convert /proc/net/arp to seq_file
 *		Shmulik Hen:		Split arp_send to arp_create and
 *					arp_xmit so intermediate drivers like
 *					bonding can change the skb before
 *					sending (e.g. insert 8021q tag).
 *		Harald Welte	:	convert to make use of jenkins hash
 */

#include <linux/module.h>
#include <linux/types.h>
#include <linux/string.h>
#include <linux/kernel.h>
#include <linux/capability.h>
#include <linux/socket.h>
#include <linux/sockios.h>
#include <linux/errno.h>
#include <linux/in.h>
#include <linux/mm.h>
#include <linux/inet.h>
#include <linux/inetdevice.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/fddidevice.h>
#include <linux/if_arp.h>
#include <linux/trdevice.h>
#include <linux/skbuff.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/stat.h>
#include <linux/init.h>
#include <linux/net.h>
#include <linux/rcupdate.h>
#include <linux/jhash.h>
#ifdef CONFIG_SYSCTL
#include <linux/sysctl.h>
#endif

#include <net/ip.h>
#include <net/icmp.h>
#include <net/route.h>
#include <net/protocol.h>
#include <net/tcp.h>
#include <net/sock.h>
#include <net/arp.h>
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
#include <net/ax25.h>
#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
#include <net/netrom.h>
#endif
#endif
#if defined(CONFIG_ATM_CLIP) || defined(CONFIG_ATM_CLIP_MODULE)
#include <net/atmclip.h>
struct neigh_table *clip_tbl_hook;
#endif

#include <asm/system.h>
#include <asm/uaccess.h>

#include <linux/netfilter_arp.h>

/*
 *	Interface to generic neighbour cache.
 */
static u32 arp_hash(const void *pkey, const struct net_device *dev);
static int arp_constructor(struct neighbour *neigh);
static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb);
static void arp_error_report(struct neighbour *neigh, struct sk_buff *skb);
static void parp_redo(struct sk_buff *skb);

static struct neigh_ops arp_generic_ops = {
	.family =		AF_INET,
	.solicit =		arp_solicit,
	.error_report =		arp_error_report,
	.output =		neigh_resolve_output,
	.connected_output =	neigh_connected_output,
	.hh_output =		dev_queue_xmit,
	.queue_xmit =		dev_queue_xmit,
};

static struct neigh_ops arp_hh_ops = {
	.family =		AF_INET,
	.solicit =		arp_solicit,
	.error_report =		arp_error_report,
	.output =		neigh_resolve_output,
	.connected_output =	neigh_resolve_output,
	.hh_output =		dev_queue_xmit,
	.queue_xmit =		dev_queue_xmit,
};

static struct neigh_ops arp_direct_ops = {
	.family =		AF_INET,
	.output =		dev_queue_xmit,
	.connected_output =	dev_queue_xmit,
	.hh_output =		dev_queue_xmit,
	.queue_xmit =		dev_queue_xmit,
};

struct neigh_ops arp_broken_ops = {
	.family =		AF_INET,
	.solicit =		arp_solicit,
	.error_report =		arp_error_report,
	.output =		neigh_compat_output,
	.connected_output =	neigh_compat_output,
	.hh_output =		dev_queue_xmit,
	.queue_xmit =		dev_queue_xmit,
};

struct neigh_table arp_tbl = {
	.family =	AF_INET,
	.entry_size =	sizeof(struct neighbour) + 4,
	.key_len =	4,
	.hash =		arp_hash,
	.constructor =	arp_constructor,
	.proxy_redo =	parp_redo,
	.id =		"arp_cache",
	.parms = {
		.tbl =			&arp_tbl,
		.base_reachable_time =	30 * HZ,
		.retrans_time =	1 * HZ,
		.gc_staletime =	60 * HZ,
		.reachable_time =		30 * HZ,
		.delay_probe_time =	5 * HZ,
		.queue_len =		3,
		.ucast_probes =	3,
		.mcast_probes =	3,
		.anycast_delay =	1 * HZ,
		.proxy_delay =		(8 * HZ) / 10,
		.proxy_qlen =		64,
		.locktime =		1 * HZ,
	},
	.gc_interval =	30 * HZ,
	.gc_thresh1 =	128,
	.gc_thresh2 =	512,
	.gc_thresh3 =	1024,
};

int arp_mc_map(__be32 addr, u8 *haddr, struct net_device *dev, int dir)
{
	switch (dev->type) {
	case ARPHRD_ETHER:
	case ARPHRD_FDDI:
	case ARPHRD_IEEE802:
		ip_eth_mc_map(addr, haddr);
		return 0;
	case ARPHRD_IEEE802_TR:
		ip_tr_mc_map(addr, haddr);
		return 0;
	case ARPHRD_INFINIBAND:
		ip_ib_mc_map(addr, haddr);
		return 0;
	default:
		if (dir) {
			memcpy(haddr, dev->broadcast, dev->addr_len);
			return 0;
		}
	}
	return -EINVAL;
}


static u32 arp_hash(const void *pkey, const struct net_device *dev)
{
	return jhash_2words(*(u32 *)pkey, dev->ifindex, arp_tbl.hash_rnd);
}

static int arp_constructor(struct neighbour *neigh)
{
	__be32 addr = *(__be32*)neigh->primary_key;
	struct net_device *dev = neigh->dev;
	struct in_device *in_dev;
	struct neigh_parms *parms;

	neigh->type = inet_addr_type(addr);

	rcu_read_lock();
	in_dev = __in_dev_get_rcu(dev);
	if (in_dev == NULL) {
		rcu_read_unlock();
		return -EINVAL;
	}

	parms = in_dev->arp_parms;
	__neigh_parms_put(neigh->parms);
	neigh->parms = neigh_parms_clone(parms);
	rcu_read_unlock();

	if (dev->hard_header == NULL) {
		neigh->nud_state = NUD_NOARP;
		neigh->ops = &arp_direct_ops;
		neigh->output = neigh->ops->queue_xmit;
	} else {
		/* Good devices (checked by reading texts, but only Ethernet is
		   tested)

		   ARPHRD_ETHER: (ethernet, apfddi)
		   ARPHRD_FDDI: (fddi)
		   ARPHRD_IEEE802: (tr)
		   ARPHRD_METRICOM: (strip)
		   ARPHRD_ARCNET:
		   etc. etc. etc.

		   ARPHRD_IPDDP will also work, if author repairs it.
		   I did not it, because this driver does not work even
		   in old paradigm.
		 */

#if 1
		/* So... these "amateur" devices are hopeless.
		   The only thing, that I can say now:
		   It is very sad that we need to keep ugly obsolete
		   code to make them happy.

		   They should be moved to more reasonable state, now
		   they use rebuild_header INSTEAD OF hard_start_xmit!!!
		   Besides that, they are sort of out of date
		   (a lot of redundant clones/copies, useless in 2.1),
		   I wonder why people believe that they work.
		 */
		switch (dev->type) {
		default:
			break;
		case ARPHRD_ROSE:
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
		case ARPHRD_AX25:
#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
		case ARPHRD_NETROM:
#endif
			neigh->ops = &arp_broken_ops;
			neigh->output = neigh->ops->output;
			return 0;
#endif
		;}
#endif
		if (neigh->type == RTN_MULTICAST) {
			neigh->nud_state = NUD_NOARP;
			arp_mc_map(addr, neigh->ha, dev, 1);
		} else if (dev->flags&(IFF_NOARP|IFF_LOOPBACK)) {
			neigh->nud_state = NUD_NOARP;
			memcpy(neigh->ha, dev->dev_addr, dev->addr_len);
		} else if (neigh->type == RTN_BROADCAST || dev->flags&IFF_POINTOPOINT) {
			neigh->nud_state = NUD_NOARP;
			memcpy(neigh->ha, dev->broadcast, dev->addr_len);
		}
		if (dev->hard_header_cache)
			neigh->ops = &arp_hh_ops;
		else
			neigh->ops = &arp_generic_ops;
		if (neigh->nud_state&NUD_VALID)
			neigh->output = neigh->ops->connected_output;
		else
			neigh->output = neigh->ops->output;
	}
	return 0;
}

static void arp_error_report(struct neighbour *neigh, struct sk_buff *skb)
{
	dst_link_failure(skb);
	kfree_skb(skb);
}

static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb)
{
	__be32 saddr = 0;
	u8  *dst_ha = NULL;
	struct net_device *dev = neigh->dev;
	__be32 target = *(__be32*)neigh->primary_key;
	int probes = atomic_read(&neigh->probes);
	struct in_device *in_dev = in_dev_get(dev);

	if (!in_dev)
		return;

	switch (IN_DEV_ARP_ANNOUNCE(in_dev)) {
	default:
	case 0:		/* By default announce any local IP */
		if (skb && inet_addr_type(ip_hdr(skb)->saddr) == RTN_LOCAL)
			saddr = ip_hdr(skb)->saddr;
		break;
	case 1:		/* Restrict announcements of saddr in same subnet */
		if (!skb)
			break;
		saddr = ip_hdr(skb)->saddr;
		if (inet_addr_type(saddr) == RTN_LOCAL) {
			/* saddr should be known to target */
			if (inet_addr_onlink(in_dev, target, saddr))
				break;
		}
		saddr = 0;
		break;
	case 2:		/* Avoid secondary IPs, get a primary/preferred one */
		break;
	}

	if (in_dev)
		in_dev_put(in_dev);
	if (!saddr)
		saddr = inet_select_addr(dev, target, RT_SCOPE_LINK);

	if ((probes -= neigh->parms->ucast_probes) < 0) {
		if (!(neigh->nud_state&NUD_VALID))
			printk(KERN_DEBUG "trying to ucast probe in NUD_INVALID\n");
		dst_ha = neigh->ha;
		read_lock_bh(&neigh->lock);
	} else if ((probes -= neigh->parms->app_probes) < 0) {
#ifdef CONFIG_ARPD
		neigh_app_ns(neigh);
#endif
		return;
	}

	arp_send(ARPOP_REQUEST, ETH_P_ARP, target, dev, saddr,
		 dst_ha, dev->dev_addr, NULL);
	if (dst_ha)
		read_unlock_bh(&neigh->lock);
}

static int arp_ignore(struct in_device *in_dev, struct net_device *dev,
		      __be32 sip, __be32 tip)
{
	int scope;

	switch (IN_DEV_ARP_IGNORE(in_dev)) {
	case 0:	/* Reply, the tip is already validated */
		return 0;
	case 1:	/* Reply only if tip is configured on the incoming interface */
		sip = 0;
		scope = RT_SCOPE_HOST;
		break;
	case 2:	/*
		 * Reply only if tip is configured on the incoming interface
		 * and is in same subnet as sip
		 */
		scope = RT_SCOPE_HOST;
		break;
	case 3:	/* Do not reply for scope host addresses */
		sip = 0;
		scope = RT_SCOPE_LINK;
		dev = NULL;
		break;
	case 4:	/* Reserved */
	case 5:
	case 6:
	case 7:
		return 0;
	case 8:	/* Do not reply */
		return 1;
	default:
		return 0;
	}
	return !inet_confirm_addr(dev, sip, tip, scope);
}

static int arp_filter(__be32 sip, __be32 tip, struct net_device *dev)
{
	struct flowi fl = { .nl_u = { .ip4_u = { .daddr = sip,
						 .saddr = tip } } };
	struct rtable *rt;
	int flag = 0;
	/*unsigned long now; */

	if (ip_route_output_key(&rt, &fl) < 0)
		return 1;
	if (rt->u.dst.dev != dev) {
		NET_INC_STATS_BH(LINUX_MIB_ARPFILTER);
		flag = 1;
	}
	ip_rt_put(rt);
	return flag;
}

/* OBSOLETE FUNCTIONS */

/*
 *	Find an arp mapping in the cache. If not found, post a request.
 *
 *	It is very UGLY routine: it DOES NOT use skb->dst->neighbour,
 *	even if it exists. It is supposed that skb->dev was mangled
 *	by a virtual device (eql, shaper). Nobody but broken devices
 *	is allowed to use this function, it is scheduled to be removed. --ANK
 */

static int arp_set_predefined(int addr_hint, unsigned char * haddr, __be32 paddr, struct net_device * dev)
{
	switch (addr_hint) {
	case RTN_LOCAL:
		printk(KERN_DEBUG "ARP: arp called for own IP address\n");
		memcpy(haddr, dev->dev_addr, dev->addr_len);
		return 1;
	case RTN_MULTICAST:
		arp_mc_map(paddr, haddr, dev, 1);
		return 1;
	case RTN_BROADCAST:
		memcpy(haddr, dev->broadcast, dev->addr_len);
		return 1;
	}
	return 0;
}


int arp_find(unsigned char *haddr, struct sk_buff *skb)
{
	struct net_device *dev = skb->dev;
	__be32 paddr;
	struct neighbour *n;

	if (!skb->dst) {
		printk(KERN_DEBUG "arp_find is called with dst==NULL\n");
		kfree_skb(skb);
		return 1;
	}

	paddr = ((struct rtable*)skb->dst)->rt_gateway;

	if (arp_set_predefined(inet_addr_type(paddr), haddr, paddr, dev))
		return 0;

	n = __neigh_lookup(&arp_tbl, &paddr, dev, 1);

	if (n) {
		n->used = jiffies;
		if (n->nud_state&NUD_VALID || neigh_event_send(n, skb) == 0) {
			read_lock_bh(&n->lock);
			memcpy(haddr, n->ha, dev->addr_len);
			read_unlock_bh(&n->lock);
			neigh_release(n);
			return 0;
		}
		neigh_release(n);
	} else
		kfree_skb(skb);
	return 1;
}

/* END OF OBSOLETE FUNCTIONS */

int arp_bind_neighbour(struct dst_entry *dst)
{
	struct net_device *dev = dst->dev;
	struct neighbour *n = dst->neighbour;

	if (dev == NULL)
		return -EINVAL;
	if (n == NULL) {
		__be32 nexthop = ((struct rtable*)dst)->rt_gateway;
		if (dev->flags&(IFF_LOOPBACK|IFF_POINTOPOINT))
			nexthop = 0;
		n = __neigh_lookup_errno(
#if defined(CONFIG_ATM_CLIP) || defined(CONFIG_ATM_CLIP_MODULE)
		    dev->type == ARPHRD_ATM ? clip_tbl_hook :
#endif
		    &arp_tbl, &nexthop, dev);
		if (IS_ERR(n))
			return PTR_ERR(n);
		dst->neighbour = n;
	}
	return 0;
}

/*
 * Check if we can use proxy ARP for this path
 */

static inline int arp_fwd_proxy(struct in_device *in_dev, struct rtable *rt)
{
	struct in_device *out_dev;
	int imi, omi = -1;

	if (!IN_DEV_PROXY_ARP(in_dev))
		return 0;

	if ((imi = IN_DEV_MEDIUM_ID(in_dev)) == 0)
		return 1;
	if (imi == -1)
		return 0;

	/* place to check for proxy_arp for routes */

	if ((out_dev = in_dev_get(rt->u.dst.dev)) != NULL) {
		omi = IN_DEV_MEDIUM_ID(out_dev);
		in_dev_put(out_dev);
	}
	return (omi != imi && omi != -1);
}

/*
 *	Interface to link layer: send routine and receive handler.
 */

/*
 *	Create an arp packet. If (dest_hw == NULL), we create a broadcast
 *	message.
 */
struct sk_buff *arp_create(int type, int ptype, __be32 dest_ip,
			   struct net_device *dev, __be32 src_ip,
			   unsigned char *dest_hw, unsigned char *src_hw,
			   unsigned char *target_hw)
{
	struct sk_buff *skb;
	struct arphdr *arp;
	unsigned char *arp_ptr;

	/*
	 *	Allocate a buffer
	 */

	skb = alloc_skb(sizeof(struct arphdr)+ 2*(dev->addr_len+4)
				+ LL_RESERVED_SPACE(dev), GFP_ATOMIC);
	if (skb == NULL)
		return NULL;

	skb_reserve(skb, LL_RESERVED_SPACE(dev));
	skb_reset_network_header(skb);
	arp = (struct arphdr *) skb_put(skb,sizeof(struct arphdr) + 2*(dev->addr_len+4));
	skb->dev = dev;
	skb->protocol = htons(ETH_P_ARP);
	if (src_hw == NULL)
		src_hw = dev->dev_addr;
	if (dest_hw == NULL)
		dest_hw = dev->broadcast;

	/*
	 *	Fill the device header for the ARP frame
	 */
	if (dev->hard_header &&
	    dev->hard_header(skb,dev,ptype,dest_hw,src_hw,skb->len) < 0)
		goto out;

	/*
	 * Fill out the arp protocol part.
	 *
	 * The arp hardware type should match the device type, except for FDDI,
	 * which (according to RFC 1390) should always equal 1 (Ethernet).
	 */
	/*
	 *	Exceptions everywhere. AX.25 uses the AX.25 PID value not the
	 *	DIX code for the protocol. Make these device structure fields.
	 */
	switch (dev->type) {
	default:
		arp->ar_hrd = htons(dev->type);
		arp->ar_pro = htons(ETH_P_IP);
		break;

#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
	case ARPHRD_AX25:
		arp->ar_hrd = htons(ARPHRD_AX25);
		arp->ar_pro = htons(AX25_P_IP);
		break;

#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
	case ARPHRD_NETROM:
		arp->ar_hrd = htons(ARPHRD_NETROM);
		arp->ar_pro = htons(AX25_P_IP);
		break;
#endif
#endif

#ifdef CONFIG_FDDI
	case ARPHRD_FDDI:
		arp->ar_hrd = htons(ARPHRD_ETHER);
		arp->ar_pro = htons(ETH_P_IP);
		break;
#endif
#ifdef CONFIG_TR
	case ARPHRD_IEEE802_TR:
		arp->ar_hrd = htons(ARPHRD_IEEE802);
		arp->ar_pro = htons(ETH_P_IP);
		break;
#endif
	}

	arp->ar_hln = dev->addr_len;
	arp->ar_pln = 4;
	arp->ar_op = htons(type);

	arp_ptr=(unsigned char *)(arp+1);

	memcpy(arp_ptr, src_hw, dev->addr_len);
	arp_ptr+=dev->addr_len;
	memcpy(arp_ptr, &src_ip,4);
	arp_ptr+=4;
	if (target_hw != NULL)
		memcpy(arp_ptr, target_hw, dev->addr_len);
	else
		memset(arp_ptr, 0, dev->addr_len);
	arp_ptr+=dev->addr_len;
	memcpy(arp_ptr, &dest_ip, 4);

	return skb;

out:
	kfree_skb(skb);
	return NULL;
}

/*
 *	Send an arp packet.
 */
void arp_xmit(struct sk_buff *skb)
{
	/* Send it off, maybe filter it using firewalling first.  */
	NF_HOOK(NF_ARP, NF_ARP_OUT, skb, NULL, skb->dev, dev_queue_xmit);
}

/*
 *	Create and send an arp packet.
 */
void arp_send(int type, int ptype, __be32 dest_ip,
	      struct net_device *dev, __be32 src_ip,
	      unsigned char *dest_hw, unsigned char *src_hw,
	      unsigned char *target_hw)
{
	struct sk_buff *skb;

	/*
	 *	No arp on this interface.
	 */

	if (dev->flags&IFF_NOARP)
		return;

	skb = arp_create(type, ptype, dest_ip, dev, src_ip,
			 dest_hw, src_hw, target_hw);
	if (skb == NULL) {
		return;
	}

	arp_xmit(skb);
}

/*
 *	Process an arp request.
 */

static int arp_process(struct sk_buff *skb)
{
	struct net_device *dev = skb->dev;
	struct in_device *in_dev = in_dev_get(dev);
	struct arphdr *arp;
	unsigned char *arp_ptr;
	struct rtable *rt;
	unsigned char *sha, *tha;
	__be32 sip, tip;
	u16 dev_type = dev->type;
	int addr_type;
	struct neighbour *n;

	/* arp_rcv below verifies the ARP header and verifies the device
	 * is ARP'able.
	 */

	if (in_dev == NULL)
		goto out;

	arp = arp_hdr(skb);

	switch (dev_type) {
	default:
		if (arp->ar_pro != htons(ETH_P_IP) ||
		    htons(dev_type) != arp->ar_hrd)
			goto out;
		break;
#ifdef CONFIG_NET_ETHERNET
	case ARPHRD_ETHER:
#endif
#ifdef CONFIG_TR
	case ARPHRD_IEEE802_TR:
#endif
#ifdef CONFIG_FDDI
	case ARPHRD_FDDI:
#endif
#ifdef CONFIG_NET_FC
	case ARPHRD_IEEE802:
#endif
#if defined(CONFIG_NET_ETHERNET) || defined(CONFIG_TR) || \
    defined(CONFIG_FDDI)	 || defined(CONFIG_NET_FC)
		/*
		 * ETHERNET, Token Ring and Fibre Channel (which are IEEE 802
		 * devices, according to RFC 2625) devices will accept ARP
		 * hardware types of either 1 (Ethernet) or 6 (IEEE 802.2).
		 * This is the case also of FDDI, where the RFC 1390 says that
		 * FDDI devices should accept ARP hardware of (1) Ethernet,
		 * however, to be more robust, we'll accept both 1 (Ethernet)
		 * or 6 (IEEE 802.2)
		 */
		if ((arp->ar_hrd != htons(ARPHRD_ETHER) &&
		     arp->ar_hrd != htons(ARPHRD_IEEE802)) ||
		    arp->ar_pro != htons(ETH_P_IP))
			goto out;
		break;
#endif
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
	case ARPHRD_AX25:
		if (arp->ar_pro != htons(AX25_P_IP) ||
		    arp->ar_hrd != htons(ARPHRD_AX25))
			goto out;
		break;
#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
	case ARPHRD_NETROM:
		if (arp->ar_pro != htons(AX25_P_IP) ||
		    arp->ar_hrd != htons(ARPHRD_NETROM))
			goto out;
		break;
#endif
#endif
	}

	/* Understand only these message types */

	if (arp->ar_op != htons(ARPOP_REPLY) &&
	    arp->ar_op != htons(ARPOP_REQUEST))
		goto out;

/*
 *	Extract fields
 */
	arp_ptr= (unsigned char *)(arp+1);
	sha	= arp_ptr;
	arp_ptr += dev->addr_len;
	memcpy(&sip, arp_ptr, 4);
	arp_ptr += 4;
	tha	= arp_ptr;
	arp_ptr += dev->addr_len;
	memcpy(&tip, arp_ptr, 4);
/*
 *	Check for bad requests for 127.x.x.x and requests for multicast
 *	addresses.  If this is one such, delete it.
 */
	if (LOOPBACK(tip) || MULTICAST(tip))
		goto out;

/*
 *     Special case: We must set Frame Relay source Q.922 address
 */
	if (dev_type == ARPHRD_DLCI)
		sha = dev->broadcast;

/*
 *  Process entry.  The idea here is we want to send a reply if it is a
 *  request for us or if it is a request for someone else that we hold
 *  a proxy for.  We want to add an entry to our cache if it is a reply
 *  to us or if it is a request for our address.
 *  (The assumption for this last is that if someone is requesting our
 *  address, they are probably intending to talk to us, so it saves time
 *  if we cache their address.  Their address is also probably not in
 *  our cache, since ours is not in their cache.)
 *
 *  Putting this another way, we only care about replies if they are to
 *  us, in which case we add them to the cache.  For requests, we care
 *  about those for us and those for our proxies.  We reply to both,
 *  and in the case of requests for us we add the requester to the arp
 *  cache.
 */

	/* Special case: IPv4 duplicate address detection packet (RFC2131) */
	if (sip == 0) {
		if (arp->ar_op == htons(ARPOP_REQUEST) &&
		    inet_addr_type(tip) == RTN_LOCAL &&
		    !arp_ignore(in_dev,dev,sip,tip))
			arp_send(ARPOP_REPLY,ETH_P_ARP,tip,dev,tip,sha,dev->dev_addr,dev->dev_addr);
		goto out;
	}

	if (arp->ar_op == htons(ARPOP_REQUEST) &&
	    ip_route_input(skb, tip, sip, 0, dev) == 0) {

		rt = (struct rtable*)skb->dst;
		addr_type = rt->rt_type;

		if (addr_type == RTN_LOCAL) {
			n = neigh_event_ns(&arp_tbl, sha, &sip, dev);
			if (n) {
				int dont_send = 0;

				if (!dont_send)
					dont_send |= arp_ignore(in_dev,dev,sip,tip);
				if (!dont_send && IN_DEV_ARPFILTER(in_dev))
					dont_send |= arp_filter(sip,tip,dev);
				if (!dont_send)
					arp_send(ARPOP_REPLY,ETH_P_ARP,sip,dev,tip,sha,dev->dev_addr,sha);

				neigh_release(n);
			}
			goto out;
		} else if (IN_DEV_FORWARD(in_dev)) {
			if ((rt->rt_flags&RTCF_DNAT) ||
			    (addr_type == RTN_UNICAST  && rt->u.dst.dev != dev &&
			     (arp_fwd_proxy(in_dev, rt) || pneigh_lookup(&arp_tbl, &tip, dev, 0)))) {
				n = neigh_event_ns(&arp_tbl, sha, &sip, dev);
				if (n)
					neigh_release(n);

				if (NEIGH_CB(skb)->flags & LOCALLY_ENQUEUED ||
				    skb->pkt_type == PACKET_HOST ||
				    in_dev->arp_parms->proxy_delay == 0) {
					arp_send(ARPOP_REPLY,ETH_P_ARP,sip,dev,tip,sha,dev->dev_addr,sha);
				} else {
					pneigh_enqueue(&arp_tbl, in_dev->arp_parms, skb);
					in_dev_put(in_dev);
					return 0;
				}
				goto out;
			}
		}
	}

	/* Update our ARP tables */

	n = __neigh_lookup(&arp_tbl, &sip, dev, 0);

	if (IPV4_DEVCONF_ALL(ARP_ACCEPT)) {
		/* Unsolicited ARP is not accepted by default.
		   It is possible, that this option should be enabled for some
		   devices (strip is candidate)
		 */
		if (n == NULL &&
		    arp->ar_op == htons(ARPOP_REPLY) &&
		    inet_addr_type(sip) == RTN_UNICAST)
			n = __neigh_lookup(&arp_tbl, &sip, dev, 1);
	}

	if (n) {
		int state = NUD_REACHABLE;
		int override;

		/* If several different ARP replies follows back-to-back,
		   use the FIRST one. It is possible, if several proxy
		   agents are active. Taking the first reply prevents
		   arp trashing and chooses the fastest router.
		 */
		override = time_after(jiffies, n->updated + n->parms->locktime);

		/* Broadcast replies and request packets
		   do not assert neighbour reachability.
		 */
		if (arp->ar_op != htons(ARPOP_REPLY) ||
		    skb->pkt_type != PACKET_HOST)
			state = NUD_STALE;
		neigh_update(n, sha, state, override ? NEIGH_UPDATE_F_OVERRIDE : 0);
		neigh_release(n);
	}

out:
	if (in_dev)
		in_dev_put(in_dev);
	kfree_skb(skb);
	return 0;
}

static void parp_redo(struct sk_buff *skb)
{
	arp_process(skb);
}


/*
 *	Receive an arp request from the device layer.
 */

static int arp_rcv(struct sk_buff *skb, struct net_device *dev,
		   struct packet_type *pt, struct net_device *orig_dev)
{
	struct arphdr *arp;

	/* ARP header, plus 2 device addresses, plus 2 IP addresses.  */
	if (!pskb_may_pull(skb, (sizeof(struct arphdr) +
				 (2 * dev->addr_len) +
				 (2 * sizeof(u32)))))
		goto freeskb;

	arp = arp_hdr(skb);
	if (arp->ar_hln != dev->addr_len ||
	    dev->flags & IFF_NOARP ||
	    skb->pkt_type == PACKET_OTHERHOST ||
	    skb->pkt_type == PACKET_LOOPBACK ||
	    arp->ar_pln != 4)
		goto freeskb;

	if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL)
		goto out_of_mem;

	memset(NEIGH_CB(skb), 0, sizeof(struct neighbour_cb));

	return NF_HOOK(NF_ARP, NF_ARP_IN, skb, dev, NULL, arp_process);

freeskb:
	kfree_skb(skb);
out_of_mem:
	return 0;
}

/*
 *	User level interface (ioctl)
 */

/*
 *	Set (create) an ARP cache entry.
 */

static int arp_req_set(struct arpreq *r, struct net_device * dev)
{
	__be32 ip = ((struct sockaddr_in *) &r->arp_pa)->sin_addr.s_addr;
	struct neighbour *neigh;
	int err;

	if (r->arp_flags&ATF_PUBL) {
		__be32 mask = ((struct sockaddr_in *) &r->arp_netmask)->sin_addr.s_addr;
		if (mask && mask != htonl(0xFFFFFFFF))
			return -EINVAL;
		if (!dev && (r->arp_flags & ATF_COM)) {
			dev = dev_getbyhwaddr(r->arp_ha.sa_family, r->arp_ha.sa_data);
			if (!dev)
				return -ENODEV;
		}
		if (mask) {
			if (pneigh_lookup(&arp_tbl, &ip, dev, 1) == NULL)
				return -ENOBUFS;
			return 0;
		}
		if (dev == NULL) {
			IPV4_DEVCONF_ALL(PROXY_ARP) = 1;
			return 0;
		}
		if (__in_dev_get_rtnl(dev)) {
			IN_DEV_CONF_SET(__in_dev_get_rtnl(dev), PROXY_ARP, 1);
			return 0;
		}
		return -ENXIO;
	}

	if (r->arp_flags & ATF_PERM)
		r->arp_flags |= ATF_COM;
	if (dev == NULL) {
		struct flowi fl = { .nl_u = { .ip4_u = { .daddr = ip,
							 .tos = RTO_ONLINK } } };
		struct rtable * rt;
		if ((err = ip_route_output_key(&rt, &fl)) != 0)
			return err;
		dev = rt->u.dst.dev;
		ip_rt_put(rt);
		if (!dev)
			return -EINVAL;
	}
	switch (dev->type) {
#ifdef CONFIG_FDDI
	case ARPHRD_FDDI:
		/*
		 * According to RFC 1390, FDDI devices should accept ARP
		 * hardware types of 1 (Ethernet).  However, to be more
		 * robust, we'll accept hardware types of either 1 (Ethernet)
		 * or 6 (IEEE 802.2).
		 */
		if (r->arp_ha.sa_family != ARPHRD_FDDI &&
		    r->arp_ha.sa_family != ARPHRD_ETHER &&
		    r->arp_ha.sa_family != ARPHRD_IEEE802)
			return -EINVAL;
		break;
#endif
	default:
		if (r->arp_ha.sa_family != dev->type)
			return -EINVAL;
		break;
	}

	neigh = __neigh_lookup_errno(&arp_tbl, &ip, dev);
	err = PTR_ERR(neigh);
	if (!IS_ERR(neigh)) {
		unsigned state = NUD_STALE;
		if (r->arp_flags & ATF_PERM)
			state = NUD_PERMANENT;
		err = neigh_update(neigh, (r->arp_flags&ATF_COM) ?
				   r->arp_ha.sa_data : NULL, state,
				   NEIGH_UPDATE_F_OVERRIDE|
				   NEIGH_UPDATE_F_ADMIN);
		neigh_release(neigh);
	}
	return err;
}

static unsigned arp_state_to_flags(struct neighbour *neigh)
{
	unsigned flags = 0;
	if (neigh->nud_state&NUD_PERMANENT)
		flags = ATF_PERM|ATF_COM;
	else if (neigh->nud_state&NUD_VALID)
		flags = ATF_COM;
	return flags;
}

/*
 *	Get an ARP cache entry.
 */

static int arp_req_get(struct arpreq *r, struct net_device *dev)
{
	__be32 ip = ((struct sockaddr_in *) &r->arp_pa)->sin_addr.s_addr;
	struct neighbour *neigh;
	int err = -ENXIO;

	neigh = neigh_lookup(&arp_tbl, &ip, dev);
	if (neigh) {
		read_lock_bh(&neigh->lock);
		memcpy(r->arp_ha.sa_data, neigh->ha, dev->addr_len);
		r->arp_flags = arp_state_to_flags(neigh);
		read_unlock_bh(&neigh->lock);
		r->arp_ha.sa_family = dev->type;
		strlcpy(r->arp_dev, dev->name, sizeof(r->arp_dev));
		neigh_release(neigh);
		err = 0;
	}
	return err;
}

static int arp_req_delete(struct arpreq *r, struct net_device * dev)
{
	int err;
	__be32 ip = ((struct sockaddr_in *)&r->arp_pa)->sin_addr.s_addr;
	struct neighbour *neigh;

	if (r->arp_flags & ATF_PUBL) {
		__be32 mask =
		       ((struct sockaddr_in *)&r->arp_netmask)->sin_addr.s_addr;
		if (mask == htonl(0xFFFFFFFF))
			return pneigh_delete(&arp_tbl, &ip, dev);
		if (mask == 0) {
			if (dev == NULL) {
				IPV4_DEVCONF_ALL(PROXY_ARP) = 0;
				return 0;
			}
			if (__in_dev_get_rtnl(dev)) {
				IN_DEV_CONF_SET(__in_dev_get_rtnl(dev),
						PROXY_ARP, 0);
				return 0;
			}
			return -ENXIO;
		}
		return -EINVAL;
	}

	if (dev == NULL) {
		struct flowi fl = { .nl_u = { .ip4_u = { .daddr = ip,
							 .tos = RTO_ONLINK } } };
		struct rtable * rt;
		if ((err = ip_route_output_key(&rt, &fl)) != 0)
			return err;
		dev = rt->u.dst.dev;
		ip_rt_put(rt);
		if (!dev)
			return -EINVAL;
	}
	err = -ENXIO;
	neigh = neigh_lookup(&arp_tbl, &ip, dev);
	if (neigh) {
		if (neigh->nud_state&~NUD_NOARP)
			err = neigh_update(neigh, NULL, NUD_FAILED,
					   NEIGH_UPDATE_F_OVERRIDE|
					   NEIGH_UPDATE_F_ADMIN);
		neigh_release(neigh);
	}
	return err;
}

/*
 *	Handle an ARP layer I/O control request.
 */

int arp_ioctl(unsigned int cmd, void __user *arg)
{
	int err;
	struct arpreq r;
	struct net_device *dev = NULL;

	switch (cmd) {
		case SIOCDARP:
		case SIOCSARP:
			if (!capable(CAP_NET_ADMIN))
				return -EPERM;
		case SIOCGARP:
			err = copy_from_user(&r, arg, sizeof(struct arpreq));
			if (err)
				return -EFAULT;
			break;
		default:
			return -EINVAL;
	}

	if (r.arp_pa.sa_family != AF_INET)
		return -EPFNOSUPPORT;

	if (!(r.arp_flags & ATF_PUBL) &&
	    (r.arp_flags & (ATF_NETMASK|ATF_DONTPUB)))
		return -EINVAL;
	if (!(r.arp_flags & ATF_NETMASK))
		((struct sockaddr_in *)&r.arp_netmask)->sin_addr.s_addr =
							   htonl(0xFFFFFFFFUL);
	rtnl_lock();
	if (r.arp_dev[0]) {
		err = -ENODEV;
		if ((dev = __dev_get_by_name(r.arp_dev)) == NULL)
			goto out;

		/* Mmmm... It is wrong... ARPHRD_NETROM==0 */
		if (!r.arp_ha.sa_family)
			r.arp_ha.sa_family = dev->type;
		err = -EINVAL;
		if ((r.arp_flags & ATF_COM) && r.arp_ha.sa_family != dev->type)
			goto out;
	} else if (cmd == SIOCGARP) {
		err = -ENODEV;
		goto out;
	}

	switch (cmd) {
	case SIOCDARP:
		err = arp_req_delete(&r, dev);
		break;
	case SIOCSARP:
		err = arp_req_set(&r, dev);
		break;
	case SIOCGARP:
		err = arp_req_get(&r, dev);
		if (!err && copy_to_user(arg, &r, sizeof(r)))
			err = -EFAULT;
		break;
	}
out:
	rtnl_unlock();
	return err;
}

static int arp_netdev_event(struct notifier_block *this, unsigned long event, void *ptr)
{
	struct net_device *dev = ptr;

	switch (event) {
	case NETDEV_CHANGEADDR:
		neigh_changeaddr(&arp_tbl, dev);
		rt_cache_flush(0);
		break;
	default:
		break;
	}

	return NOTIFY_DONE;
}

static struct notifier_block arp_netdev_notifier = {
	.notifier_call = arp_netdev_event,
};

/* Note, that it is not on notifier chain.
   It is necessary, that this routine was called after route cache will be
   flushed.
 */
void arp_ifdown(struct net_device *dev)
{
	neigh_ifdown(&arp_tbl, dev);
}


/*
 *	Called once on startup.
 */

static struct packet_type arp_packet_type = {
	.type =	__constant_htons(ETH_P_ARP),
	.func =	arp_rcv,
};

static int arp_proc_init(void);

void __init arp_init(void)
{
	neigh_table_init(&arp_tbl);

	dev_add_pack(&arp_packet_type);
	arp_proc_init();
#ifdef CONFIG_SYSCTL
	neigh_sysctl_register(NULL, &arp_tbl.parms, NET_IPV4,
			      NET_IPV4_NEIGH, "ipv4", NULL, NULL);
#endif
	register_netdevice_notifier(&arp_netdev_notifier);
}

#ifdef CONFIG_PROC_FS
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)

/* ------------------------------------------------------------------------ */
/*
 *	ax25 -> ASCII conversion
 */
static char *ax2asc2(ax25_address *a, char *buf)
{
	char c, *s;
	int n;

	for (n = 0, s = buf; n < 6; n++) {
		c = (a->ax25_call[n] >> 1) & 0x7F;

		if (c != ' ') *s++ = c;
	}

	*s++ = '-';

	if ((n = ((a->ax25_call[6] >> 1) & 0x0F)) > 9) {
		*s++ = '1';
		n -= 10;
	}

	*s++ = n + '0';
	*s++ = '\0';

	if (*buf == '\0' || *buf == '-')
	   return "*";

	return buf;

}
#endif /* CONFIG_AX25 */

#define HBUFFERLEN 30

static void arp_format_neigh_entry(struct seq_file *seq,
				   struct neighbour *n)
{
	char hbuffer[HBUFFERLEN];
	const char hexbuf[] = "0123456789ABCDEF";
	int k, j;
	char tbuf[16];
	struct net_device *dev = n->dev;
	int hatype = dev->type;

	read_lock(&n->lock);
	/* Convert hardware address to XX:XX:XX:XX ... form. */
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
	if (hatype == ARPHRD_AX25 || hatype == ARPHRD_NETROM)
		ax2asc2((ax25_address *)n->ha, hbuffer);
	else {
#endif
	for (k = 0, j = 0; k < HBUFFERLEN - 3 && j < dev->addr_len; j++) {
		hbuffer[k++] = hexbuf[(n->ha[j] >> 4) & 15];
		hbuffer[k++] = hexbuf[n->ha[j] & 15];
		hbuffer[k++] = ':';
	}
	hbuffer[--k] = 0;
#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
	}
#endif
	sprintf(tbuf, "%u.%u.%u.%u", NIPQUAD(*(u32*)n->primary_key));
	seq_printf(seq, "%-16s 0x%-10x0x%-10x%s     *        %s\n",
		   tbuf, hatype, arp_state_to_flags(n), hbuffer, dev->name);
	read_unlock(&n->lock);
}

static void arp_format_pneigh_entry(struct seq_file *seq,
				    struct pneigh_entry *n)
{
	struct net_device *dev = n->dev;
	int hatype = dev ? dev->type : 0;
	char tbuf[16];

	sprintf(tbuf, "%u.%u.%u.%u", NIPQUAD(*(u32*)n->key));
	seq_printf(seq, "%-16s 0x%-10x0x%-10x%s     *        %s\n",
		   tbuf, hatype, ATF_PUBL | ATF_PERM, "00:00:00:00:00:00",
		   dev ? dev->name : "*");
}

static int arp_seq_show(struct seq_file *seq, void *v)
{
	if (v == SEQ_START_TOKEN) {
		seq_puts(seq, "IP address       HW type     Flags       "
			      "HW address            Mask     Device\n");
	} else {
		struct neigh_seq_state *state = seq->private;

		if (state->flags & NEIGH_SEQ_IS_PNEIGH)
			arp_format_pneigh_entry(seq, v);
		else
			arp_format_neigh_entry(seq, v);
	}

	return 0;
}

static void *arp_seq_start(struct seq_file *seq, loff_t *pos)
{
	/* Don't want to confuse "arp -a" w/ magic entries,
	 * so we tell the generic iterator to skip NUD_NOARP.
	 */
	return neigh_seq_start(seq, pos, &arp_tbl, NEIGH_SEQ_SKIP_NOARP);
}

/* ------------------------------------------------------------------------ */

static const struct seq_operations arp_seq_ops = {
	.start  = arp_seq_start,
	.next   = neigh_seq_next,
	.stop   = neigh_seq_stop,
	.show   = arp_seq_show,
};

static int arp_seq_open(struct inode *inode, struct file *file)
{
	struct seq_file *seq;
	int rc = -ENOMEM;
	struct neigh_seq_state *s = kzalloc(sizeof(*s), GFP_KERNEL);

	if (!s)
		goto out;

	rc = seq_open(file, &arp_seq_ops);
	if (rc)
		goto out_kfree;

	seq	     = file->private_data;
	seq->private = s;
out:
	return rc;
out_kfree:
	kfree(s);
	goto out;
}

static const struct file_operations arp_seq_fops = {
	.owner		= THIS_MODULE,
	.open           = arp_seq_open,
	.read           = seq_read,
	.llseek         = seq_lseek,
	.release	= seq_release_private,
};

static int __init arp_proc_init(void)
{
	if (!proc_net_fops_create("arp", S_IRUGO, &arp_seq_fops))
		return -ENOMEM;
	return 0;
}

#else /* CONFIG_PROC_FS */

static int __init arp_proc_init(void)
{
	return 0;
}

#endif /* CONFIG_PROC_FS */

EXPORT_SYMBOL(arp_broken_ops);
EXPORT_SYMBOL(arp_find);
EXPORT_SYMBOL(arp_create);
EXPORT_SYMBOL(arp_xmit);
EXPORT_SYMBOL(arp_send);
EXPORT_SYMBOL(arp_tbl);

#if defined(CONFIG_ATM_CLIP) || defined(CONFIG_ATM_CLIP_MODULE)
EXPORT_SYMBOL(clip_tbl_hook);
#endif

[-- Attachment #4: arpt_mangle.c --]
[-- Type: text/x-csrc, Size: 3242 bytes --]

/* module that allows mangling of the arp payload */
#include <linux/module.h>
#include <linux/netfilter_arp/arpt_mangle.h>
#include <net/sock.h>
#include <net/arp.h>

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Bart De Schuymer <bdschuym@pandora.be>");
MODULE_DESCRIPTION("arptables arp payload mangle target");

static unsigned int
target(struct sk_buff **pskb,
       const struct net_device *in, const struct net_device *out,
       unsigned int hooknum, const struct xt_target *target,
       const void *targinfo)
{
	const struct arpt_mangle *mangle = targinfo;
	struct arphdr *arp;
	unsigned char *arpptr;
	int pln, hln;
	__be32 sip, tip;
        unsigned char sha[ETH_ALEN];
        unsigned char tha[ETH_ALEN];

	if (skb_shared(*pskb) || skb_cloned(*pskb)) {
		struct sk_buff *nskb;

		nskb = skb_copy(*pskb, GFP_ATOMIC);
		if (!nskb)
			return NF_DROP;
		if ((*pskb)->sk)
			skb_set_owner_w(nskb, (*pskb)->sk);
		kfree_skb(*pskb);
		*pskb = nskb;
	}

	arp = arp_hdr(*pskb);
	arpptr = skb_network_header(*pskb) + sizeof(*arp);
	pln = arp->ar_pln;
	hln = arp->ar_hln;
	/* We assume that pln and hln were checked in the match */
	memcpy(sha, arpptr, hln);
	if (mangle->flags & ARPT_MANGLE_SDEV) {
		if (ARPT_DEV_ADDR_LEN_MAX < hln ||
		   (arpptr + hln > skb_tail_pointer(*pskb)))
			return NF_DROP;
		memcpy(arpptr, mangle->src_devaddr, hln);
	}
	arpptr += hln;
	memcpy(&sip, arpptr, pln);
	if (mangle->flags & ARPT_MANGLE_SIP) {
		if (ARPT_MANGLE_ADDR_LEN_MAX < pln ||
		   (arpptr + pln > skb_tail_pointer(*pskb)))
			return NF_DROP;
		memcpy(arpptr, &mangle->u_s.src_ip, pln);
	}
	arpptr += pln;
	memcpy(tha, arpptr, hln);
	if (mangle->flags & ARPT_MANGLE_TDEV) {
		if (ARPT_DEV_ADDR_LEN_MAX < hln ||
		   (arpptr + hln > skb_tail_pointer(*pskb)))
			return NF_DROP;
		memcpy(arpptr, mangle->tgt_devaddr, hln);
	}
	arpptr += hln;
	memcpy(&tip, arpptr, pln);
	if (mangle->flags & ARPT_MANGLE_TIP) {
		if (ARPT_MANGLE_ADDR_LEN_MAX < pln ||
		   (arpptr + pln > skb_tail_pointer(*pskb)))
			return NF_DROP;
		memcpy(arpptr, &mangle->u_t.tgt_ip, pln);
	}
	if ((mangle->flags & ARPT_MANGLE_AUTO) && (arp->ar_op == __constant_htons(ARPOP_REQUEST)) &&
                (sip != tip)) {
                arp_send( ARPOP_REPLY, ETH_P_ARP,sip,(struct net_device *)in,
			tip,sha,(unsigned char *) mangle->tgt_devaddr,sha);
        }
	return mangle->target;
}

static bool
checkentry(const char *tablename, const void *e, const struct xt_target *target,
	   void *targinfo, unsigned int hook_mask)
{
	const struct arpt_mangle *mangle = targinfo;

	if (mangle->flags & ~ARPT_MANGLE_MASK ||
	    !(mangle->flags & ARPT_MANGLE_MASK))
		return false;

	if (mangle->target != NF_DROP && mangle->target != NF_ACCEPT &&
	   mangle->target != ARPT_CONTINUE)
		return false;
	return true;
}

static struct arpt_target arpt_mangle_reg __read_mostly = {
	.name		= "mangle",
	.target		= target,
	.targetsize	= sizeof(struct arpt_mangle),
	.checkentry	= checkentry,
	.me		= THIS_MODULE,
};

static int __init arpt_mangle_init(void)
{
	if (arpt_register_target(&arpt_mangle_reg))
		return -EINVAL;

	return 0;
}

static void __exit arpt_mangle_fini(void)
{
	arpt_unregister_target(&arpt_mangle_reg);
}

module_init(arpt_mangle_init);
module_exit(arpt_mangle_fini);

[-- Attachment #5: arpt_mangle.c.orig --]
[-- Type: text/plain, Size: 2750 bytes --]

/* module that allows mangling of the arp payload */
#include <linux/module.h>
#include <linux/netfilter_arp/arpt_mangle.h>
#include <net/sock.h>

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Bart De Schuymer <bdschuym@pandora.be>");
MODULE_DESCRIPTION("arptables arp payload mangle target");

static unsigned int
target(struct sk_buff **pskb,
       const struct net_device *in, const struct net_device *out,
       unsigned int hooknum, const struct xt_target *target,
       const void *targinfo)
{
	const struct arpt_mangle *mangle = targinfo;
	struct arphdr *arp;
	unsigned char *arpptr;
	int pln, hln;

	if (skb_shared(*pskb) || skb_cloned(*pskb)) {
		struct sk_buff *nskb;

		nskb = skb_copy(*pskb, GFP_ATOMIC);
		if (!nskb)
			return NF_DROP;
		if ((*pskb)->sk)
			skb_set_owner_w(nskb, (*pskb)->sk);
		kfree_skb(*pskb);
		*pskb = nskb;
	}

	arp = arp_hdr(*pskb);
	arpptr = skb_network_header(*pskb) + sizeof(*arp);
	pln = arp->ar_pln;
	hln = arp->ar_hln;
	/* We assume that pln and hln were checked in the match */
	if (mangle->flags & ARPT_MANGLE_SDEV) {
		if (ARPT_DEV_ADDR_LEN_MAX < hln ||
		   (arpptr + hln > skb_tail_pointer(*pskb)))
			return NF_DROP;
		memcpy(arpptr, mangle->src_devaddr, hln);
	}
	arpptr += hln;
	if (mangle->flags & ARPT_MANGLE_SIP) {
		if (ARPT_MANGLE_ADDR_LEN_MAX < pln ||
		   (arpptr + pln > skb_tail_pointer(*pskb)))
			return NF_DROP;
		memcpy(arpptr, &mangle->u_s.src_ip, pln);
	}
	arpptr += pln;
	if (mangle->flags & ARPT_MANGLE_TDEV) {
		if (ARPT_DEV_ADDR_LEN_MAX < hln ||
		   (arpptr + hln > skb_tail_pointer(*pskb)))
			return NF_DROP;
		memcpy(arpptr, mangle->tgt_devaddr, hln);
	}
	arpptr += hln;
	if (mangle->flags & ARPT_MANGLE_TIP) {
		if (ARPT_MANGLE_ADDR_LEN_MAX < pln ||
		   (arpptr + pln > skb_tail_pointer(*pskb)))
			return NF_DROP;
		memcpy(arpptr, &mangle->u_t.tgt_ip, pln);
	}
	return mangle->target;
}

static bool
checkentry(const char *tablename, const void *e, const struct xt_target *target,
	   void *targinfo, unsigned int hook_mask)
{
	const struct arpt_mangle *mangle = targinfo;

	if (mangle->flags & ~ARPT_MANGLE_MASK ||
	    !(mangle->flags & ARPT_MANGLE_MASK))
		return false;

	if (mangle->target != NF_DROP && mangle->target != NF_ACCEPT &&
	   mangle->target != ARPT_CONTINUE)
		return false;
	return true;
}

static struct arpt_target arpt_mangle_reg __read_mostly = {
	.name		= "mangle",
	.target		= target,
	.targetsize	= sizeof(struct arpt_mangle),
	.checkentry	= checkentry,
	.me		= THIS_MODULE,
};

static int __init arpt_mangle_init(void)
{
	if (arpt_register_target(&arpt_mangle_reg))
		return -EINVAL;

	return 0;
}

static void __exit arpt_mangle_fini(void)
{
	arpt_unregister_target(&arpt_mangle_reg);
}

module_init(arpt_mangle_init);
module_exit(arpt_mangle_fini);

[-- Attachment #6: arpt_mangle.h --]
[-- Type: text/x-chdr, Size: 577 bytes --]

#ifndef _ARPT_MANGLE_H
#define _ARPT_MANGLE_H
#include <linux/netfilter_arp/arp_tables.h>

#define ARPT_MANGLE_ADDR_LEN_MAX sizeof(struct in_addr)
struct arpt_mangle
{
	char src_devaddr[ARPT_DEV_ADDR_LEN_MAX];
	char tgt_devaddr[ARPT_DEV_ADDR_LEN_MAX];
	union {
		struct in_addr src_ip;
	} u_s;
	union {
		struct in_addr tgt_ip;
	} u_t;
	u_int8_t flags;
	int target;
};

#define ARPT_MANGLE_SDEV 0x01
#define ARPT_MANGLE_TDEV 0x02
#define ARPT_MANGLE_SIP 0x04
#define ARPT_MANGLE_TIP 0x08
#define ARPT_MANGLE_AUTO 0x10
#define ARPT_MANGLE_MASK 0x1f

#endif /* _ARPT_MANGLE_H */

[-- Attachment #7: arpt_mangle.h.orig --]
[-- Type: text/plain, Size: 547 bytes --]

#ifndef _ARPT_MANGLE_H
#define _ARPT_MANGLE_H
#include <linux/netfilter_arp/arp_tables.h>

#define ARPT_MANGLE_ADDR_LEN_MAX sizeof(struct in_addr)
struct arpt_mangle
{
	char src_devaddr[ARPT_DEV_ADDR_LEN_MAX];
	char tgt_devaddr[ARPT_DEV_ADDR_LEN_MAX];
	union {
		struct in_addr src_ip;
	} u_s;
	union {
		struct in_addr tgt_ip;
	} u_t;
	u_int8_t flags;
	int target;
};

#define ARPT_MANGLE_SDEV 0x01
#define ARPT_MANGLE_TDEV 0x02
#define ARPT_MANGLE_SIP 0x04
#define ARPT_MANGLE_TIP 0x08
#define ARPT_MANGLE_MASK 0x0f

#endif /* _ARPT_MANGLE_H */

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #8: xt_RAWNAT.c --]
[-- Type: text/x-csrc; name="xt_RAWNAT.c", Size: 6854 bytes --]

/*
 *	xt_RAWNAT - Netfilter module to do untracked NAT
 *
 *	Copyright © CC Computer Consultants GmbH, 2008
 *
 *	This program is free software; you can redistribute it and/or
 *	modify it under the terms of the GNU General Public License
 *	version 2 or 3 as published by the Free Software Foundation.
 */
#include <linux/ip.h>
#include <linux/ipv6.h>
#include <linux/module.h>
#include <linux/skbuff.h>
#include <linux/netfilter.h>
#include <linux/netfilter/nf_conntrack_common.h>
#include <linux/netfilter/x_tables.h>
#include <net/tcp.h>
#include <net/netfilter/nf_conntrack.h>
#include "compat_xtables.h"
#include "xt_RAWNAT.h"

#if LINUX_VERSION_CODE != KERNEL_VERSION(2, 6, 23)
#	warning Have not compile-tested this on anything else than 2.6.23 yet.
#endif

static inline void csum_repl4(__u16 *sum, __be32 from, __be32 to)
{
	__be32 diff[] = {~from, to};

	*sum = csum_fold(csum_partial((const char *)diff,
	       sizeof(diff), ~csum_unfold(*sum)));
}

static inline u_int32_t
remask(u_int32_t addr, u_int32_t repl, unsigned int shift)
{
	u_int32_t mask = (shift == 32) ? 0 : (~(u_int32_t)0 >> shift);
	return htonl((ntohl(addr) & ~mask) | ntohl(repl));
}

static void
rawnat_ipv6_mask(__be32 *addr, const __be32 *repl, unsigned int mask)
{
	switch (mask) {
	case 0:
		break;
	case 1 ... 31:
		addr[0] = remask(addr[0], repl[0], mask);
		break;
	case 32:
		addr[0] = repl[0];
		break;
	case 33 ... 63:
		addr[0] = repl[0];
		addr[1] = remask(addr[1], repl[1], mask - 64);
		break;
	case 64:
		addr[0] = repl[0];
		addr[1] = repl[1];
		break;
	case 65 ... 95:
		addr[0] = repl[0];
		addr[1] = repl[1];
		addr[2] = remask(addr[2], repl[2], mask - 96);
	case 96:
		addr[0] = repl[0];
		addr[1] = repl[1];
		addr[2] = repl[2];
		break;
	case 97 ... 127:
		addr[0] = repl[0];
		addr[1] = repl[1];
		addr[2] = repl[2];
		addr[3] = remask(addr[3], repl[3], mask - 128);
		break;
	case 128:
		addr[0] = repl[0];
		addr[1] = repl[1];
		addr[2] = repl[2];
		addr[3] = repl[3];
		break;
	}
}

static void rawnat4_update_l4(const struct sk_buff *skb)
{
	const struct iphdr *iph = ip_hdr(skb);
	struct tcphdr *tcph;
	struct udphdr *udph;
	unsigned int l4len;

	switch (iph->protocol) {
	case IPPROTO_TCP:
		tcph = tcp_hdr(skb);
		tcph->check = 0;
		tcph->check = tcp_v4_check(sizeof(struct tcphdr), iph->saddr,
		              iph->daddr,
		              csum_partial(skb_transport_header(skb), sizeof(struct tcphdr), 0));
		break;
	case IPPROTO_UDP:
		l4len = skb->len - ip_hdrlen(skb);
		udph  = udp_hdr(skb);
		udph->check = 0;
		udph->check = csum_tcpudp_magic(iph->saddr, iph->daddr, l4len,
		              IPPROTO_UDP,
		              csum_partial(skb_transport_header(skb), l4len, 0));
		break;
	}
}

static unsigned int
rawsnat_tg4(struct sk_buff *skb, const struct net_device *in,
            const struct net_device *out, unsigned int hooknum,
            const struct xt_target *target, const void *targinfo)
{
	const struct xt_rawnat_tginfo *info = targinfo;
	struct iphdr *iph;
	__be32 na;
	//u_int32_t na;

	iph = ip_hdr(skb);
	//na  = remask(iph->saddr, info->addr.ip, info->mask);
	na = info->addr.ip;
	
	if (iph->saddr == na)
                return XT_CONTINUE;

	if (!skb_make_writable(skb, sizeof(struct iphdr)))
		return NF_DROP;

//	iph = ip_hdr(skb);
	csum_repl4(&iph->check, iph->saddr, na);
	iph->saddr = na;
//	rawnat4_update_l4(skb);
	return XT_CONTINUE;
}

static unsigned int
rawdnat_tg4(struct sk_buff *skb, const struct net_device *in,
            const struct net_device *out, unsigned int hooknum,
            const struct xt_target *target, const void *targinfo)
{
	const struct xt_rawnat_tginfo *info = targinfo;
	struct iphdr *iph;
	__be32 new_addr;
	//u_int32_t new_addr;

	iph = ip_hdr(skb);
	//new_addr = remask(iph->daddr, info->addr.ip, info->mask);
	new_addr = info->addr.ip;

	if (iph->daddr == new_addr)
		return XT_CONTINUE;

	if (!skb_make_writable(skb, sizeof(struct iphdr)))
		return NF_DROP;

	iph = ip_hdr(skb);
	csum_repl4(&iph->check, iph->daddr, new_addr);
	iph->daddr = new_addr;
	rawnat4_update_l4(skb);
	return XT_CONTINUE;
}

static unsigned int
rawsnat_tg6(struct sk_buff *skb, const struct net_device *in,
            const struct net_device *out, unsigned int hooknum,
            const struct xt_target *target, const void *targinfo)
{
	const struct xt_rawnat_tginfo *info = targinfo;
	struct ipv6hdr *iph;

	if (!skb_make_writable(skb, sizeof(struct ipv6hdr)))
		return NF_DROP;

	iph = ipv6_hdr(skb);
//	rawnat_ipv6_mask(iph->saddr.s6_addr32, info->addr.ip6, info->mask);
	return XT_CONTINUE;
}

static unsigned int
rawdnat_tg6(struct sk_buff *skb, const struct net_device *in,
            const struct net_device *out, unsigned int hooknum,
            const struct xt_target *target, const void *targinfo)
{
	const struct xt_rawnat_tginfo *info = targinfo;
	struct ipv6hdr *iph;

	if (!skb_make_writable(skb, sizeof(struct ipv6hdr)))
		return NF_DROP;

	iph = ipv6_hdr(skb);
//	rawnat_ipv6_mask(iph->daddr.s6_addr32, info->addr.ip6, info->mask);
	return XT_CONTINUE;
}

static bool rawnat_tg_check(const char *table, const void *entry,
    const struct xt_target *target, void *targinfo, unsigned int hook_mask)
{
	if (strcmp(table, "raw") == 0 || strcmp(table, "rawpost") == 0)
		return true;

	printk(KERN_ERR KBUILD_MODNAME " may only be used in the \"raw\" or "
	       "\"rawpost\" table.\n");
	return false;
}

static struct xt_target rawnat_tg_reg[] __read_mostly = {
	{
		.name       = "RAWSNAT",
		.revision   = 0,
		.family     = PF_INET,
		.target     = rawsnat_tg4,
		.targetsize = sizeof(struct xt_rawnat_tginfo),
		.checkentry = rawnat_tg_check,
		.me         = THIS_MODULE,
	},
	{
		.name       = "RAWSNAT",
		.revision   = 0,
		.family     = PF_INET6,
		.target     = rawsnat_tg6,
		.targetsize = sizeof(struct xt_rawnat_tginfo),
		.checkentry = rawnat_tg_check,
		.me         = THIS_MODULE,
	},
	{
		.name       = "RAWDNAT",
		.revision   = 0,
		.family     = PF_INET,
		.target     = rawdnat_tg4,
		.targetsize = sizeof(struct xt_rawnat_tginfo),
		.checkentry = rawnat_tg_check,
		.me         = THIS_MODULE,
	},
	{
		.name       = "RAWDNAT",
		.revision   = 0,
		.family     = PF_INET6,
		.target     = rawdnat_tg6,
		.targetsize = sizeof(struct xt_rawnat_tginfo),
		.checkentry = rawnat_tg_check,
		.me         = THIS_MODULE,
	},
};

static int __init rawnat_tg_init(void)
{
	return xt_register_targets(rawnat_tg_reg, ARRAY_SIZE(rawnat_tg_reg));
}

static void __exit rawnat_tg_exit(void)
{
	xt_unregister_targets(rawnat_tg_reg, ARRAY_SIZE(rawnat_tg_reg));
}

module_init(rawnat_tg_init);
module_exit(rawnat_tg_exit);
MODULE_AUTHOR("Jan Engelhardt <jengelh@computergmbh.de>");
MODULE_DESCRIPTION("Xtables: conntrack-less raw NAT");
MODULE_LICENSE("GPL");
MODULE_ALIAS("ipt_RAWSNAT");
MODULE_ALIAS("ipt_RAWDNAT");
MODULE_ALIAS("ip6t_RAWSNAT");
MODULE_ALIAS("ip6t_RAWDNAT");

[-- Attachment #9: xt_RAWNAT.c.orig --]
[-- Type: text/plain, Size: 6650 bytes --]

/*
 *	xt_RAWNAT - Netfilter module to do untracked NAT
 *
 *	Copyright © CC Computer Consultants GmbH, 2008
 *
 *	This program is free software; you can redistribute it and/or
 *	modify it under the terms of the GNU General Public License
 *	version 2 or 3 as published by the Free Software Foundation.
 */
#include <linux/ip.h>
#include <linux/ipv6.h>
#include <linux/module.h>
#include <linux/skbuff.h>
#include <linux/netfilter.h>
#include <linux/netfilter/nf_conntrack_common.h>
#include <linux/netfilter/x_tables.h>
#include <net/tcp.h>
#include <net/netfilter/nf_conntrack.h>
#include "compat_xtables.h"
#include "xt_RAWNAT.h"

#if LINUX_VERSION_CODE != KERNEL_VERSION(2, 6, 23)
#	warning Have not compile-tested this on anything else than 2.6.23 yet.
#endif

static inline void csum_repl4(__u16 *sum, __be32 from, __be32 to)
{
	__be32 diff[] = {~from, to};

	*sum = csum_fold(csum_partial((const char *)diff,
	       sizeof(diff), ~csum_unfold(*sum)));
}

static inline u_int32_t
remask(u_int32_t addr, u_int32_t repl, unsigned int shift)
{
	u_int32_t mask = (shift == 32) ? 0 : (~(u_int32_t)0 >> shift);
	return htonl((ntohl(addr) & ~mask) | ntohl(repl));
}

static void
rawnat_ipv6_mask(__be32 *addr, const __be32 *repl, unsigned int mask)
{
	switch (mask) {
	case 0:
		break;
	case 1 ... 31:
		addr[0] = remask(addr[0], repl[0], mask);
		break;
	case 32:
		addr[0] = repl[0];
		break;
	case 33 ... 63:
		addr[0] = repl[0];
		addr[1] = remask(addr[1], repl[1], mask - 64);
		break;
	case 64:
		addr[0] = repl[0];
		addr[1] = repl[1];
		break;
	case 65 ... 95:
		addr[0] = repl[0];
		addr[1] = repl[1];
		addr[2] = remask(addr[2], repl[2], mask - 96);
	case 96:
		addr[0] = repl[0];
		addr[1] = repl[1];
		addr[2] = repl[2];
		break;
	case 97 ... 127:
		addr[0] = repl[0];
		addr[1] = repl[1];
		addr[2] = repl[2];
		addr[3] = remask(addr[3], repl[3], mask - 128);
		break;
	case 128:
		addr[0] = repl[0];
		addr[1] = repl[1];
		addr[2] = repl[2];
		addr[3] = repl[3];
		break;
	}
}

static void rawnat4_update_l4(const struct sk_buff *skb)
{
	const struct iphdr *iph = ip_hdr(skb);
	struct tcphdr *tcph;
	struct udphdr *udph;
	unsigned int l4len;

	switch (iph->protocol) {
	case IPPROTO_TCP:
		tcph = tcp_hdr(skb);
		tcph->check = 0;
		tcph->check = tcp_v4_check(sizeof(struct tcphdr), iph->saddr,
		              iph->daddr,
		              csum_partial(skb_transport_header(skb), sizeof(struct tcphdr), 0));
		break;
	case IPPROTO_UDP:
		l4len = skb->len - ip_hdrlen(skb);
		udph  = udp_hdr(skb);
		udph->check = 0;
		udph->check = csum_tcpudp_magic(iph->saddr, iph->daddr, l4len,
		              IPPROTO_UDP,
		              csum_partial(skb_transport_header(skb), l4len, 0));
		break;
	}
}

static unsigned int
rawsnat_tg4(struct sk_buff *skb, const struct net_device *in,
            const struct net_device *out, unsigned int hooknum,
            const struct xt_target *target, const void *targinfo)
{
	const struct xt_rawnat_tginfo *info = targinfo;
	struct iphdr *iph;
	u_int32_t na;

	if (!skb_make_writable(skb, sizeof(struct iphdr)))
		return NF_DROP;

	iph = ip_hdr(skb);
	na  = remask(iph->saddr, info->addr.ip, info->mask);
	csum_repl4(&iph->check, iph->saddr, na);
	iph->saddr = na;
	return XT_CONTINUE;
}

static unsigned int
rawdnat_tg4(struct sk_buff *skb, const struct net_device *in,
            const struct net_device *out, unsigned int hooknum,
            const struct xt_target *target, const void *targinfo)
{
	const struct xt_rawnat_tginfo *info = targinfo;
	struct iphdr *iph;
	__be32 new_addr;

	iph = ip_hdr(skb);
	new_addr = remask(iph->daddr, info->addr.ip, info->mask);

	if (iph->daddr == new_addr)
		return XT_CONTINUE;

	if (!skb_make_writable(skb, sizeof(struct iphdr)))
		return NF_DROP;

	iph = ip_hdr(skb);
	csum_repl4(&iph->check, iph->daddr, new_addr);
	iph->daddr = new_addr;
	rawnat4_update_l4(skb);
	return XT_CONTINUE;
}

static unsigned int
rawsnat_tg6(struct sk_buff *skb, const struct net_device *in,
            const struct net_device *out, unsigned int hooknum,
            const struct xt_target *target, const void *targinfo)
{
	const struct xt_rawnat_tginfo *info = targinfo;
	struct ipv6hdr *iph;

	if (!skb_make_writable(skb, sizeof(struct ipv6hdr)))
		return NF_DROP;

	iph = ipv6_hdr(skb);
	rawnat_ipv6_mask(iph->saddr.s6_addr32, info->addr.ip6, info->mask);
	return XT_CONTINUE;
}

static unsigned int
rawdnat_tg6(struct sk_buff *skb, const struct net_device *in,
            const struct net_device *out, unsigned int hooknum,
            const struct xt_target *target, const void *targinfo)
{
	const struct xt_rawnat_tginfo *info = targinfo;
	struct ipv6hdr *iph;

	if (!skb_make_writable(skb, sizeof(struct ipv6hdr)))
		return NF_DROP;

	iph = ipv6_hdr(skb);
	rawnat_ipv6_mask(iph->daddr.s6_addr32, info->addr.ip6, info->mask);
	return XT_CONTINUE;
}

static bool rawnat_tg_check(const char *table, const void *entry,
    const struct xt_target *target, void *targinfo, unsigned int hook_mask)
{
	if (strcmp(table, "raw") == 0 || strcmp(table, "rawpost") == 0)
		return true;

	printk(KERN_ERR KBUILD_MODNAME " may only be used in the \"raw\" or "
	       "\"rawpost\" table.\n");
	return false;
}

static struct xt_target rawnat_tg_reg[] __read_mostly = {
	{
		.name       = "RAWSNAT",
		.revision   = 0,
		.family     = PF_INET,
		.target     = rawsnat_tg4,
		.targetsize = sizeof(struct xt_rawnat_tginfo),
		.checkentry = rawnat_tg_check,
		.me         = THIS_MODULE,
	},
	{
		.name       = "RAWSNAT",
		.revision   = 0,
		.family     = PF_INET6,
		.target     = rawsnat_tg6,
		.targetsize = sizeof(struct xt_rawnat_tginfo),
		.checkentry = rawnat_tg_check,
		.me         = THIS_MODULE,
	},
	{
		.name       = "RAWDNAT",
		.revision   = 0,
		.family     = PF_INET,
		.target     = rawdnat_tg4,
		.targetsize = sizeof(struct xt_rawnat_tginfo),
		.checkentry = rawnat_tg_check,
		.me         = THIS_MODULE,
	},
	{
		.name       = "RAWDNAT",
		.revision   = 0,
		.family     = PF_INET6,
		.target     = rawdnat_tg6,
		.targetsize = sizeof(struct xt_rawnat_tginfo),
		.checkentry = rawnat_tg_check,
		.me         = THIS_MODULE,
	},
};

static int __init rawnat_tg_init(void)
{
	return xt_register_targets(rawnat_tg_reg, ARRAY_SIZE(rawnat_tg_reg));
}

static void __exit rawnat_tg_exit(void)
{
	xt_unregister_targets(rawnat_tg_reg, ARRAY_SIZE(rawnat_tg_reg));
}

module_init(rawnat_tg_init);
module_exit(rawnat_tg_exit);
MODULE_AUTHOR("Jan Engelhardt <jengelh@computergmbh.de>");
MODULE_DESCRIPTION("Xtables: conntrack-less raw NAT");
MODULE_LICENSE("GPL");
MODULE_ALIAS("ipt_RAWSNAT");
MODULE_ALIAS("ipt_RAWDNAT");
MODULE_ALIAS("ip6t_RAWSNAT");
MODULE_ALIAS("ip6t_RAWDNAT");

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

* Re: RAWNAT kernel crash
  2008-07-28 11:01               ` Manu
  2008-07-28 11:44                 ` Manu
@ 2008-07-29 10:11                 ` Manu
  1 sibling, 0 replies; 9+ messages in thread
From: Manu @ 2008-07-29 10:11 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Netfilter Developer Mailing List

Hello,

I have further informations in my issue:
If I modified the sources (see below) - so I can succesfully replace the 
source address:

xtables-addons/extensions/xt_RAWNAT.c

...
static unsigned int
rawsnat_tg4(struct sk_buff *skb, const struct net_device *in,
            const struct net_device *out, unsigned int hooknum,
            const struct xt_target *target, const void *targinfo)
{
        const struct xt_rawnat_tginfo *info = targinfo;
...
       /*     if (!skb_make_writable(skb, sizeof(struct iphdr)))
                return NF_DROP; */
...

My question is: why do I have to make the skb writeable, if I can 
already replace the source address?
My tcpdump from PC1: 10.0.12.1 to PC2: 192.168.0.123


08:56:32.453443 0:30:18:49:b2:2f 0:40:f4:82:df:94 0800 98: 10.0.12.1 > 
192.168.0.123: icmp: echo request (DF) (ttl 64, id 0, len 84)
0x0000   4500 0054 0000 4000 4001 6385 0a00 0c01        E..T..@.@.c.....
0x0010   c0a8 007b 0800 40cd c53c 0001 20bf 8e48        ...{..@..<.....H
0x0020   51ea 0600 0809 0a0b 0c0d 0e0f 1011 1213        Q...............
0x0030   1415 1617 1819 1a1b 1c1d 1e1f 2021 2223        .............!"#
0x0040   2425 2627 2829 2a2b 2c2d 2e2f 3031 3233        $%&'()*+,-./0123
0x0050   3435                                           45
08:56:32.453749 0:40:f4:82:df:94 0:30:18:49:b2:2f 0800 98: 10.0.12.2 > 
10.0.12.1: icmp: echo reply (DF) (ttl 128, id 18266, len 84)
0x0000   4500 0054 475a 4000 8001 874c 0a00 0c02        E..TGZ@....L....
0x0010   0a00 0c01 0000 48cd c53c 0001 20bf 8e48        ......H..<.....H
0x0020   51ea 0600 0809 0a0b 0c0d 0e0f 1011 1213        Q...............
0x0030   1415 1617 1819 1a1b 1c1d 1e1f 2021 2223        .............!"#
0x0040   2425 2627 2829 2a2b 2c2d 2e2f 3031 3233        $%&'()*+,-./0123
0x0050   3435                                           45




Manu schrieb:
> Hello,
>
> my issue is to connect 2 pc's with different fix IP addresses!
> PC1: 10.0.0.1 and 10.0.17.1
> PC2: 192.168.0.123 with gateway: 192.168.0.1
> I modified the sources of actual RAWNAT 
> (xtables-addons-6e918514b752.... ) module from  
> http://dev.computergmbh.de/. See attachement!
> I modified the sources of my kernel-2.6.23, as well. See attachment.
>
> Interfaces on PC1:
> eth0: 10.0.0.1
> eth0:2 10.0.17.1
>
> My arptables rules are:
> arptables -A OUTPUT -d 10.0.17.2 -j mangle --mangle-ip-d 192.168.0.123 
> --mangle-ip-s 10.0.17.1
> arptables -A INPUT -s 192.168.0.123 -j mangle --mangle-ip-s 10.0.17.2 
> --mangle-ip-d 10.0.0.1
>
> My iptables rules are:
> iptables -t raw -I PREROUTING -s 192.168.0.123 -j RAWSNAT --to-source 
> 10.0.17.2
> iptables -t rawpost -I POSTROUTING -d 10.0.17.2 -j RAWDNAT 
> --to-destination 192.168.0.123
>
> Iptables: 1.4.1.2
> Kernel: 2.6.23
> gcc: 3.3
>
> With "iptables -t rawpost -I POSTROUTING -d 10.0.17.2 -j RAWDNAT 
> --to-destination 192.168.0.123", I can succesfully ping PC2 from PC1 
> with command "ping 10.0.17.2"!
> tcpdump says:
> 17:54:41.897864 10.0.17.1 > 192.168.0.123: icmp: echo request (DF) 
> (ttl 64, id 1, len 84)
> 17:54:41.898156 192.168.0.123 > 10.0.17.1: icmp: echo reply (DF) (ttl 
> 128, id 4526, len 84)
>
> But If I want to ping PC1 from PC2 with command "ping 10.0.17.1" and 
> with "iptables -t raw -I PREROUTING -s 192.168.0.123 -j RAWSNAT 
> --to-source 10.0.17.2" I got a system "crash" (complete hang up) like 
> descriped in my former postings?!
> It seems that the modified paket with source address replacement is in 
> improper format?!! maybe the checksum?
> The system "crashed" everytime, if a paket comes from 192.168.0.123 
> and entered the rule from iptables!?! If I set a rule e.g. "iptables 
> -t raw -I PREROUTING -s 192.168.0.123 -j DROP" - it works fine!
>
> klogd says:
> <3>compat_xtables: compat layer limits reached 
> (xtnu_skb_make_writable) - dropping packets
>
> one time I get this immediately before the crash:
> # iptables -nvL -t raw
> Chain PREROUTING (policy ACCEPT 16562 packets, 13M bytes)
> pkts bytes target     prot opt in     out     source               
> destination
>   15  1461 DROP       all  --  eth2   *       0.0.0.0/0            
> 224.0.0.251
>    0     0 RAWSNAT    all  --  eth2   *       192.168.0.123        
> 0.0.0.0/0           to-source 10.0.17.2/32
>
> Chain OUTPUT (policy ACCEPT 10293 packets, 1584K bytes)
> pkts bytes target     prot opt in     out     source               
> destination
> # iptables -nvL -t raw
> Chain PREROUTING (policy ACCEPT 16575 packets, 13M bytes)
> pkts bytes target     prot opt in     out     source               
> destination
> Segmentation fault
>
> happens when (tcpdump-trace): passierte bei:
>
> 13:41:39.810642 0:14:b:30:d0:2 0:30:18:49:f3:2a 0800 86: 
> 192.168.0.123.1025 > 192.168.0.1.53: [udp sum ok]  51493+ PTR? 
> 123.0.168.192.in-addr.arpa. (44) (ttl 255, id 7738, len 72)
> 0x0000   4500 0048 1e3a 0000 ff11 1b9e c0a8 007b        E..H.:.........{
> 0x0010   c0a8 0001 0401 0035 0034 efaf c925 0100        .......5.4...%..
> 0x0020   0001 0000 0000 0000 0331 3233 0130 0331        .........123.0.1
> 0x0030   3638 0331 3932 0769 6e2d 6164 6472 0461        68.192.in-addr.a
> 0x0040   7270 6100 000c 0001                            rpa.....
>
>
> Any help would be so much appreciated!
> Thank you very much in advance!
>
> Regards,
> Manu

I have further informations in my issue:
If I modify the sources (see below) - I can succesfully replace the 
source address:

xtables-addons/extensions/xt_RAWNAT.c

...
static unsigned int
rawsnat_tg4(struct sk_buff *skb, const struct net_device *in,
            const struct net_device *out, unsigned int hooknum,
            const struct xt_target *target, const void *targinfo)
{
        const struct xt_rawnat_tginfo *info = targinfo;
...
       /*     if (!skb_make_writable(skb, sizeof(struct iphdr)))
                return NF_DROP; */
...

My question is: why do I have to make the skb writeable, if I can 
already replace the source address?
My tcpdump from PC1: 10.0.12.1 to PC2: 192.168.0.123
with iptables:
iptables -t raw -I PREROUTING -s 192.168.0.123 -j RAWSNAT --to-source 
10.0.12.2
iptables -t rawpost -I POSTROUTING -d 10.0.12.2 -j RAWDNAT 
--to-destination 192.168.0.123

08:56:32.453443 0:30:18:49:b2:2f 0:40:f4:82:df:94 0800 98: 10.0.12.1 > 
192.168.0.123: icmp: echo request (DF) (ttl 64, id 0, len 84)
0x0000   4500 0054 0000 4000 4001 6385 0a00 0c01        E..T..@.@.c.....
0x0010   c0a8 007b 0800 40cd c53c 0001 20bf 8e48        ...{..@..<.....H
0x0020   51ea 0600 0809 0a0b 0c0d 0e0f 1011 1213        Q...............
0x0030   1415 1617 1819 1a1b 1c1d 1e1f 2021 2223        .............!"#
0x0040   2425 2627 2829 2a2b 2c2d 2e2f 3031 3233        $%&'()*+,-./0123
0x0050   3435                                           45
08:56:32.453749 0:40:f4:82:df:94 0:30:18:49:b2:2f 0800 98: 10.0.12.2 > 
10.0.12.1: icmp: echo reply (DF) (ttl 128, id 18266, len 84)
0x0000   4500 0054 475a 4000 8001 874c 0a00 0c02        E..TGZ@....L....
0x0010   0a00 0c01 0000 48cd c53c 0001 20bf 8e48        ......H..<.....H
0x0020   51ea 0600 0809 0a0b 0c0d 0e0f 1011 1213        Q...............
0x0030   1415 1617 1819 1a1b 1c1d 1e1f 2021 2223        .............!"#
0x0040   2425 2627 2829 2a2b 2c2d 2e2f 3031 3233        $%&'()*+,-./0123
0x0050   3435                                           45


Maybe somebody can help me to solve my problem?!
thank you in advance



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

end of thread, other threads:[~2008-07-29 10:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-10  9:14 RAWNAT kernel crash Manu
2008-07-10  9:22 ` Jan Engelhardt
     [not found]   ` <4875DCD0.9070107@gmx.de>
2008-07-10 10:11     ` Jan Engelhardt
     [not found]       ` <4875EF77.8060700@gmx.de>
2008-07-10 11:23         ` Manu
2008-07-15 11:43           ` Manu
2008-07-16 16:21             ` Manu
2008-07-28 11:01               ` Manu
2008-07-28 11:44                 ` Manu
2008-07-29 10:11                 ` Manu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.