linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: 2.6.10-rc2-mm4
  2004-11-30 18:32       ` 2.6.10-rc2-mm4 Andrew Morton
@ 2004-11-30 17:44         ` Alan Cox
  2004-11-30 19:46           ` 2.6.10-rc2-mm4 Andrew Morton
  2004-11-30 19:36         ` 2.6.10-rc2-mm4 Arjan van de Ven
  1 sibling, 1 reply; 50+ messages in thread
From: Alan Cox @ 2004-11-30 17:44 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Arjan van de Ven, Linux Kernel Mailing List

On Maw, 2004-11-30 at 18:32, Andrew Morton wrote:
> "This helps mainly graphic drivers who really need a lot of memory below
> the 4GB area.  Previous they could only use IOMMU+16MB GFP_DMA, which was
> not enough memory."
> 
> >  Is there code using the zone GFP mask yet ??
> 
> Nope.

You mean its a private hook for a proprietary graphics driver, which
because it is that can't use it anyway ? That sounds dubious to me as
policy has always been to avoid such hooks. What other drivers need this
- I've seen people claim aacraid does which is untrue but no others.

Alan


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

* 2.6.10-rc2-mm4
@ 2004-11-30 17:50 Andrew Morton
  2004-11-30 18:06 ` 2.6.10-rc2-mm4 Arjan van de Ven
                   ` (11 more replies)
  0 siblings, 12 replies; 50+ messages in thread
From: Andrew Morton @ 2004-11-30 17:50 UTC (permalink / raw)
  To: linux-kernel



http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/

- Various fixes and cleanups

- A decent-sized x86_64 update.

- x86_64 supports a fourth VM zone: ZONE_DMA32.  This may affect memory
  reclaim, but shouldn't.



Changes since 2.6.10-rc2-mm3:


 linus.patch
 bk-acpi.patch
 bk-agpgart.patch
 bk-alsa.patch
 bk-cifs.patch
 bk-driver-core.patch
 bk-drm.patch
 bk-i2c.patch
 bk-ide-dev.patch
 bk-input.patch
 bk-dtor-input.patch
 bk-jfs.patch
 bk-libata.patch
 bk-mtd.patch
 bk-netdev.patch
 bk-ntfs.patch
 bk-pci.patch
 bk-scsi.patch
 bk-serial.patch
 bk-usb.patch
 bk-watchdog.patch

 Latest versions of external trees.

-map-unix-seqpacket-sockets-to-appropriate.patch
-serial-add-support-for-dell-remote-access-card-4.patch
-proc-cmdline-missing-mmput.patch
-smc91c92_cs-silly.patch
-fix-typo-in-init-kconfig.patch
-mtd_xip-dependencies-fix.patch
-m68k-hp300-dio-bus-fix-typo-in-dio_resource_len.patch
-m68k-hp-lance-ethernet-fix-leaks-on-probe-removal.patch
-m68k-update-hp300-defconfig-enable-dio-and-hp-lance-ethernet.patch
-m68k-update-atari-defconfig-enable-ethernet-and-mii.patch
-make-ibmveth-link-always-up.patch
-tulip-make-tulip_stop_rxtx-wait-for-dma-to-fully-stop.patch
-ppc32-have-the-8260-board-hook-happen-a-bit-later.patch
-ppc32-fix-__iomem-warnings-in-todc-code.patch
-ppc32-fix-an-irq-issue-with-cpufreq.patch
-ppc64-fix-compilation-with-recent-toolchains.patch
-ppc64-linuxrtas-fixes.patch
-ppc64-reserve-kernel-memory-in-kernel-instead-of-wrapper.patch
-ppc64-linuxtce-changes.patch
-ppc64-make-early-processor-spinup-based-on-physical-ids.patch
-ppc64-remove-the-volatile-from-cpus_in_xmon.patch
-ptrace-locked-accesss-to-ptrace-last_siginfo.patch
-mc146818rtch-include-fix.patch
-video-buf-oops-crash-fixes.patch
-v4l-disable-unused-function.patch
-v4l-more-modparam.patch
-tuner-update.patch
-mm-only-fixed-pmd_order-for-mips.patch

 Merged

+raid10-overwrites-partition-tables.patch

 RAID10 fix

+3c59x-add-eeprom_reset-for-3c900-boomerang.patch

 3com net driver fix

+mips-updates.patch

 Huge mips arch update

+cfq-iosched-kill-show_status-sysfs-entry.patch

 Kill a buggy debugging function in cfq-iosched.

+buffer-overrun-in-arch-x86_64-sys_ia32csys32_ni_syscall.patch

 x86_64's not-implemented syscall is incorrectly implemented.

+register_disk-hack.patch
+register_disk-hack-warnings.patch

 Might prevent some crash related to usb-storage.

+x86-fix-reboot-hang--apic-errors.patch

 Fix dodgy APIC shutdown sequencing in bk-acpi.patch

+ixgb-lr-card-support.patch

 Additional device support.

+vmlib-wrapped-executable-brk.patch
+vmlib-wrapped-mprotect-flags.patch

 Fix /proc/meminfo:VmLib

-net-socketcsys_bind-cleanup.patch

 Dropped - it made slight functional changes (looked OK to me though).

+net-netconsole-poll-support-for-3c509.patch

 netconsole-via-3c509.

+avoid-deadlock-in-smc91x-driver.patch

 Fix a deadlock in this net driver

+ppc32-marvell-host-bridge-support-mv64x60-review-fixes.patch

 Fix things in ppc32-marvell-host-bridge-support-mv64x60.patch

+ppc32-ppc4xx-pic-rewrite-cleanup.patch

 ppc32 fixups

+ppc64-tweaks-to-cpu-sysfs-information.patch

 ppc64 susfs updates

+frv-pci-dma-fixes.patch
+fix-frv-pci-config-space-write.patch

 FRV architecture fixes

+assign-pkmap_base-dynamically.patch

 x86 pkmap layout fix

+x86_64-do_general_protection-retval-check.patch
+x86_64-add-a-real-pfn_valid.patch
+x86_64-make-irda-devices-are-not-really-isa-devices-not.patch
+x86_64-fix-bugs-in-the-amd-k8-cmp-support-code.patch
+x86_64-reenable-mga-dri-on-x86-64.patch
+x86_64-remove-duplicated-fake_stack_frame-macro.patch
+x86_64-remove-bios-reboot-code.patch
+x86_64-add-reboot=force.patch
+x86_64-collected-ioremap-fixes.patch
+x86_64-handle-nx-correctly-in-pageattr.patch
+x86_64-split-acpi-boot-table-parsing.patch
+x86_64-add-srat-numa-discovery-to-x86-64.patch
+x86_64-update-uptime-after-suspend.patch
+x86_64-cleanups-preparing-for-memory-hotplug.patch
+x86_64-allow-a-kernel-debugger-to-hide-single-steps-in.patch
+x86_64-remove-debug-information-for-vsyscalls.patch
+x86_64-rename-htvalid-to-cmp_legacy.patch
+x86_64-scheduler-support-for-amd-cmp.patch
+x86_64-add-a-missing-__iomem-pointed-out-by-linus.patch
+x86_64-add-a-missing-newline-in-proc-cpuinfo.patch
+x86_64-add-sysfs-file-to-map-pci-busses-to-cpus-warning-fix.patch
+x86_64-always-print-segfaults-for-init.patch
+x86_64-export-phys_proc_id.patch
+x86_64-allow-to-configure-more-cpus-and-nodes.patch
+x86_64-allow-to-configure-more-cpus-and-nodes-fix.patch
+x86_64-fix-a-warning-in-the-cmp-support-code-for.patch
+x86_64-fix-some-outdated-assumptions-that-cpu-numbers.patch
+x86_64-fix-em64t-config-description.patch
+x86_64-remove-unneeded-ifdef-in-hardirqh.patch
+x86_64-add-slit-inter-node-distance-information-to.patch
+x86_64-add-x86_64-support-for-jack-steiners-slit-sysfs.patch
+x86_64-eliminate-some-useless-printks-in-acpi-numac.patch

 x86_64 updates

+x86_64-experimental-4gb-dma-zone.patch

 Add a fourth memory zone on x86_64: ZONE_DMA32
 
+swsusp-kconfig-change-in-wording-fwd.patch
+typeofdev-powersaved_state.patch

 power management tweaks

+uml-fix-some-ptrace-functions-returns-values.patch
+uml-redo-the-signal-delivery-mechanism.patch
+uml-make-restorer-match-i386.patch
+uml-unistdh-cleanup.patch
+uml-remove-a-quilt-induced-duplicity.patch
+uml-fix-sigreturn-to-not-copy_user-under-a-spinlock.patch
+uml-close-host-file-descriptors-properly.patch
+uml-free-host-resources-associated-with-freed-irqs.patch
+uml-unregister-signal-handlers-at-reboot.patch
+uml-terminal-cleanup.patch

 UML udpates

+s390-remove-compat-setup_arg_pages32.patch

 Remove unneeded function

+time-run-too-fast-after-s3.patch

 Fix timekeeping after resume

+fork-total_forks-not-counted-under-tasklist_lock.patch

 Small locking fix

+suppress-might_sleep-if-oopsing.patch

 Don't emit might_sleep warnings after the kernel has oopsed

+i4l-fix-deadlock-in-capi-code-reenable-smp.patch

 ISDN deadlock fix

+cont_prepare_write-fix.patch

 Fix data loss via cont_prepare_write()

+fix-an-xfs-direct-i-o-deadlock.patch

 XFS direct-io deadlock fix

+file-sync-no-i_sem.patch

 Reduce i_sem coverage during sync operations

+generic_make_request-stack-savings.patch

 Save some stack space in the disk I/O submission path

+sys_stime-needs-a-compat-function.patch
+sys_stime-needs-a-compat-function-fix.patch
+sys_stime-needs-a-compat-function-fix-fix.patch

 Add compat wrapper for sys_stime().  Clean up (and break) several other
 things.

+sync-in-core-time-granuality-with-filesystems.patch
+sync-in-core-time-granuality-with-filesystems-sonypi-fix.patch

 Fix up the mtime-went-backwards-because-the-inode-was-reclaimed problem.

+use-pid_alive-in-proc_pid_status.patch

 Might fix a /proc oops

+fix-parameter-handling-in-ibm_acpic.patch

 Fix this driver

+remove-ip2-programs.patch

 Remove not-working userspace code from the kernel

+rcu-eliminate-rcu_ctrlblklock.patch
+rcu-eliminate-rcu_datalast_qsctr.patch

 RCU cleanups

+smb_file_open-retval-fix.patch

 Fix smb_file_open() return value.

+shmctl-shm_lock-perms.patch

 Fix locking permissions in shared memory.

+sys_sched_setaffinity-on-up-should-fail-for-non-zero.patch

 setaffinity() bounds checking fix

+fix-occasional-stop_machine-lockup-with-2-cpus.patch

 Fix rare CPU hotplug lockup

+Add-PCI-quirks-for-ASUS-M6Ne-notebook.patch

 Add a quirk for this notebook's smbus

+vfs_quota_off-oops-fix.patch
+quota-umount-race-fix.patch

 Fixes to the quota code in -mm

-oprofile-i386-support-for-stack-trace-sampling-tidy.patch

 Drop this - it could cause weird false positives with spinlock debugging
 enabled.

+oprofile-minor-cleanups.patch

 oprofile cleanup

+pcmcia-add-disable_clkrun-option.patch

 Add a disable_clkrun option to the yenta driver to work around some hardware
 bugs.

+dvb-follow-changes-in-dvb-ttpci-and-budget-drivers-linkage-fix.patch

 Fix a -mm-only DVB patch.

+perfctr-x86-update-2.patch
+perfctr-ppc32-update-2.patch
+perfctr-virtual-update.patch

 perfctr updates

+oprofile-preempt-warning-fixes.patch

 Fix false positives in the preempt debugging code

+add-page-becoming-writable-notification-fix.patch

 Fix add-page-becoming-writable-notification.patch for other changes in -mm.

+kexec-apic-virt-wire-fix.patch

 Fix kexec APIC handling

+kexec-ppc-support.patch

 Restore kexec-for-ppc32

+reiser4-fix-a-use-after-free-bug-in-reiser4_parse_options.patch

 Reiser4 fix

+fbdev-sis-framebuffer-driver-update-1717.patch

 Update the SiS framebuffer driver

+remove-export_symbol_novers.patch

 Remove EXPORT_SYMBOL_NOVERS

+documentation-for-ide-and-cdrom-ioctls.patch

 Documentation

-bad-ipc-shared-memory-defaults.patch

 This wasn't obviously the right thing to do.

+remove-early_param-tests.patch
+MODULE_PARM-allmod.patch
+MODULE_PARM-allyes.patch

 Lots of MODULE_PARM conversions

+fix-typo-in-cdromc.patch

 Small fix for the cdrom driver.

+lockd-fix-two-struct-definitions.patch
+small-mca-cleanups-fwd.patch
+small-drivers-media-radio-cleanups-fwd.patch

 Small cleanups

+make-number-of-ramdisks-kconfigurable.patch
+make-number-of-ramdisks-kconfigurable-tidy.patch

 Allow build-time configuration of the maximum number of ramdisks.



number of patches in -mm: 618
number of changesets in external trees: 745
number of patches in -mm only: 598
total patches: 1343



All 618 patches:


linus.patch

raid10-overwrites-partition-tables.patch
  RAID10 overwrites partition tables

3c59x-reload-eeprom-values-at-rmmod-for-needy-cards.patch
  3c59x: reload EEPROM values at rmmod for needy cards

3c59x-remove-eeprom_reset-for-3c905b.patch
  3c59x: remove EEPROM_RESET for 3c905B

3c59x-add-eeprom_reset-for-3c900-boomerang.patch
  3c59x: Add EEPROM_RESET for 3c900 Boomerang

mips-updates.patch
  MIPS updates

cfq-iosched-kill-show_status-sysfs-entry.patch
  cfq-iosched: kill show_status sysfs entry

buffer-overrun-in-arch-x86_64-sys_ia32csys32_ni_syscall.patch
  Buffer overrun in arch/x86_64/sys_ia32.c:sys32_ni_syscall()

register_disk-hack.patch
  register_disk hack

register_disk-hack-warnings.patch
  register_disk-hack-warnings

4level-core-patch.patch
  4level core patch

4level-bogus-bug_on.patch
  4level: remove bogus BUG_ON()

4level-fix-vmalloc-overflow.patch
  4level: fix vmalloc overflow

4level-core-tweaks.patch
  4level core tweaks

4level-highpte-fix.patch
  4level highpte fix

4level-architecture-changes-for-alpha.patch
  4level: Architecture changes for alpha

4level-architecture-changes-for-arm.patch
  4level: Architecture changes for arm

4level-fixes-arm.patch
  4level fixes (ARM)

4level-architecture-changes-for-cris.patch
  4level: Architecture changes for cris

4level-convert-drm-to-4levels.patch
  4level: convert DRM to 4levels.

4level-add-asm-generic-support-for-emulating.patch
  4level: Add asm-generic support for emulating 2/3level tables.

4level-make-3level-fallback-more-type-safe.patch
  4level: make 3level fallback more type safe

4level-ia64-support.patch
  4level: ia64 support

4level-ia64-support-fix.patch
  4level-ia64-support fix

pml4-ia64-build-fix.patch
  Fix ia64 pml4 build problem

4level-architecture-changes-for-i386.patch
  4level: Architecture changes for i386

4level-architecture-changes-for-i386-fix.patch
  4level build fix

4level-architecture-changes-for-m32r.patch
  4level: Architecture changes for m32r

4level-architecture-changes-for-ppc.patch
  4level: Architecture changes for ppc

4level-architecture-changes-for-ppc64.patch
  4level: Architecture changes for ppc64

4level-architecture-changes-for-s390.patch
  4level: Architecture changes for s390

4level-architecture-changes-for-s390-fix.patch
  4level-architecture-changes-for-s390 fix

4level-architecture-changes-for-sh.patch
  4level: Architecture changes for sh

4level-architecture-changes-for-sh64.patch
  4level: Architecture changes for sh64

4level-architecture-changes-for-sparc.patch
  4level: Architecture changes for sparc

4level-architecture-changes-for-sparc64.patch
  4level: Architecture changes for sparc64

4level-architecture-changes-for-x86_64.patch
  4level: Architecture changes for x86_64

uml-pml4-support.patch
  uml: pml4 support

uml-config_highmem-atomicity-fix.patch
  uml: CONFIG_HIGHMEM atomicity fix

bk-acpi.patch

x86-fix-reboot-hang--apic-errors.patch
  x86: fix reboot hang / APIC errors

acpi-report-errors-in-fanc.patch
  ACPI: report errors in fan.c

acpi-flush-tlb-when-pagetable-changed.patch
  acpi: flush TLB when pagetable changed

bk-agpgart.patch

bk-alsa.patch

bk-cifs.patch

bk-driver-core.patch

bk-drm.patch

bk-i2c.patch

bk-ide-dev.patch

bk-input.patch

bk-dtor-input.patch

bk-jfs.patch

bk-libata.patch

bk-mtd.patch

bk-netdev.patch

ixgb-lr-card-support.patch
  ixgb LR card support

bk-ntfs.patch

bk-pci.patch

bk-scsi.patch

bk-serial.patch

bk-usb.patch

bk-watchdog.patch

mm.patch
  add -mmN to EXTRAVERSION

fix-smm-failures-on-e750x-systems.patch
  fix SMM failures on E750x systems

mm-keep-count-of-free-areas.patch
  mm: keep count of free areas

mm-higher-order-watermarks.patch
  mm: higher order watermarks

mm-higher-order-watermarks-fix.patch
  higher order watermarks fix

mm-teach-kswapd-about-higher-order-areas.patch
  mm: teach kswapd about higher order areas

numa-policies-for-file-mappings-mpol_mf_move.patch
  NUMA policies for file mappings + MPOL_MF_MOVE

make-tree_lock-an-rwlock.patch
  make mapping->tree_lock an rwlock

mempolicy-optimization.patch
  mempolicy optimisation

mm-overcommit-updates.patch
  mm: overcommit updates

kill-off-highmem_start_page.patch
  kill off highmem_start_page

make-sure-ioremap-only-tests-valid-addresses.patch
  make sure ioremap only tests valid addresses

vmlib-wrapped-executable-brk.patch
  VmLib wrapped: executable brk

vmlib-wrapped-mprotect-flags.patch
  VmLib wrapped: mprotect flags

must-fix.patch
  must fix lists update
  must fix list update
  mustfix update
  must-fix update
  mustfix lists

arcnet-fixes.patch
  arcnet fixes

x25-when-receiving-a-call-check-listening-sockets-for-matching-call-user-data.patch
  X.25: When receiving a call, check listening sockets for matching call user data.

x25-remove-unused-header-files.patch
  X.25: Remove unused header files

xircom_tulip_cb-build-fix.patch
  xircom_tulip_cb.c build fix

m68k-ethernet-drivers-depend-on-net_ethernet.patch
  M68k Ethernet drivers depend on NET_ETHERNET

m68k-hp-lance-ethernet-depends-on-dio-bus-support.patch
  M68k HP Lance Ethernet depends on DIO bus support

net-socketc__sock_create-cleanup.patch
  net/socket.c::__sock_create() cleanup.

net-netconsole-poll-support-for-3c509.patch
  net: Netconsole poll support for 3c509

avoid-deadlock-in-smc91x-driver.patch
  Avoid deadlock in smc91x driver

ppc32-freescale-book-e-mmu-cleanup.patch
  ppc32: freescale Book-E MMU cleanup

ppc32-refactor-common-book-e-exception-code.patch
  ppc32: refactor common book-e exception code

ppc32-switch-to-kbuild_defconfig.patch
  ppc32: Switch to KBUILD_DEFCONFIG

ppc32-marvell-host-bridge-support-mv64x60.patch
  ppc32: Marvell host bridge support (mv64x60)

ppc32-marvell-host-bridge-support-mv64x60-review-fixes.patch
  ppc32-marvell-host-bridge-support-mv64x60 review fixes

ppc32-support-for-marvell-ev-64260-bp-eval-platform.patch
  ppc32: support for Marvell EV-64260[ab]-BP eval platform

ppc32-support-for-artesyn-katana-cpci-boards.patch
  ppc32: support for Artesyn Katana cPCI boards

ppc32-ppc4xx-pic-rewrite-cleanup.patch
  ppc32: PPC4xx PIC rewrite/cleanup

ppc64-kprobes-implementation.patch
  ppc64: kprobes implementation

ppc64-tweaks-to-cpu-sysfs-information.patch
  ppc64: tweaks to ppc64 cpu sysfs information

ppc64-fix-signal-mask-on-delivery-error.patch
  ppc64: fix signal mask on delivery error

ppc64-reloc_hide.patch

kprobes-wrapper-to-define-jprobeentry.patch
  Kprobes: wrapper to define jprobe.entry

remove-unnecessary-inclusions-of-asm-aouth.patch
  Remove unnecessary inclusions of asm/a.out.h

termio-userspace-access-error-handling.patch
  Termio userspace access error handling

ide_arch_obsolete_init-fix.patch
  IDE_ARCH_OBSOLETE_INIT fix

out-of-line-implementation-of-find_next_bit.patch
  out-of-line implementation of find_next_bit()

gp-rel-data-support.patch
  GP-REL data support

vm-routine-fixes.patch
  VM routine fixes

vm-routine-fixes-CONFIG_SHMEM-fix.patch
  vm-routine-fixes CONFIG_SHMEM fix

frv-fujitsu-fr-v-cpu-arch-maintainer-record.patch
  FRV: Fujitsu FR-V CPU arch maintainer record

frv-fujitsu-fr-v-arch-documentation.patch
  FRV: Fujitsu FR-V arch documentation

frv-fujitsu-fr-v-cpu-arch-implementation-part-1.patch
  FRV: Fujitsu FR-V CPU arch implementation part 1

frv-fujitsu-fr-v-cpu-arch-implementation-part-2.patch
  FRV: Fujitsu FR-V CPU arch implementation part 2

frv-fujitsu-fr-v-cpu-arch-implementation-part-3.patch
  FRV: Fujitsu FR-V CPU arch implementation part 3

frv-fujitsu-fr-v-cpu-arch-implementation-part-4.patch
  FRV: Fujitsu FR-V CPU arch implementation part 4

frv-fujitsu-fr-v-cpu-arch-implementation-part-5.patch
  FRV: Fujitsu FR-V CPU arch implementation part 5

frv-fujitsu-fr-v-cpu-arch-implementation-part-6.patch
  FRV: Fujitsu FR-V CPU arch implementation part 6

frv-fujitsu-fr-v-cpu-arch-implementation-part-7.patch
  FRV: Fujitsu FR-V CPU arch implementation part 7

frv-fujitsu-fr-v-cpu-arch-implementation-part-8.patch
  FRV: Fujitsu FR-V CPU arch implementation part 8

frv-fujitsu-fr-v-cpu-arch-implementation-part-9.patch
  FRV: Fujitsu FR-V CPU arch implementation part 9

frv-kill-off-highmem_start_page.patch
  kill off highmem_start_page

frv-first-batch-of-fujitsu-fr-v-arch-include-files.patch
  FRV: First batch of Fujitsu FR-V arch include files

frv-remove-obsolete-hardirq-stuff-from-includes.patch
  frv: emove obsolete hardirq stuff from includes

frv-pci-dma-fixes.patch
  frv: PCI DMA fixes

fix-frv-pci-config-space-write.patch
  frv: Fix PCI config space write

frv-more-fujitsu-fr-v-arch-include-files.patch
  FRV: More Fujitsu FR-V arch include files

convert-frv-to-use-remap_pfn_range.patch
  convert FRV to use remap_pfn_range

frv-yet-more-fujitsu-fr-v-arch-include-files.patch
  FRV: Yet more Fujitsu FR-V arch include files

frv-remaining-fujitsu-fr-v-arch-include-files.patch
  FRV: Remaining Fujitsu FR-V arch include files

frv-make-calibrate_delay-optional.patch
  FRV: Make calibrate_delay() optional

frv-better-mmap-support-in-uclinux.patch
  FRV: Better mmap support in uClinux

frv-procfs-changes-for-nommu-changes.patch
  FRV: procfs changes for nommu changes

frv-change-setup_arg_pages-to-take-stack-pointer.patch
  FRV: change setup_arg_pages() to take stack pointer

frv-change-setup_arg_pages-to-take-stack-pointer-fixes.patch
  Fix usage of setup_arg_pages() in IA64, MIPS, S390 and Sparc64

frv-add-fdpic-elf-binary-format-driver.patch
  FRV: Add FDPIC ELF binary format driver

further-nommu-changes.patch
  Further nommu changes

further-nommu-proc-changes.patch
  Further nommu /proc changes

frv-arch-nommu-changes.patch
  frv: nommu changes

superhyway-bus-support.patch
  SuperHyway bus support

assign-pkmap_base-dynamically.patch
  Assign PKMAP_BASE dynamically

x86-remove-data-header-and-code-overlap-in-boot-setups.patch
  x86: remove data-header and code overlap in boot/setup.S

intel-thermal-monitor-for-x86_64.patch
  Intel thermal monitor for x86_64

x86_64-do_general_protection-retval-check.patch
  x86_64: do_general_protection() retval check

x86_64-add-a-real-pfn_valid.patch
  x86_64: Add a real pfn_valid

x86_64-make-irda-devices-are-not-really-isa-devices-not.patch
  x86_64: Make IRDA devices are not really ISA devices not depend on CONFIG_ISA.

x86_64-fix-bugs-in-the-amd-k8-cmp-support-code.patch
  x86_64: Fix bugs in the AMD K8 CMP support code.

x86_64-reenable-mga-dri-on-x86-64.patch
  x86_64: Reenable MGA DRI on x86-64

x86_64-remove-duplicated-fake_stack_frame-macro.patch
  x86_64: Remove duplicated FAKE_STACK_FRAME macro.

x86_64-remove-bios-reboot-code.patch
  x86_64: Remove BIOS reboot code

x86_64-add-reboot=force.patch
  x86_64: Add reboot=force

x86_64-collected-ioremap-fixes.patch
  x86_64: Collected ioremap fixes

x86_64-handle-nx-correctly-in-pageattr.patch
  x86_64: Handle NX correctly in pageattr

x86_64-split-acpi-boot-table-parsing.patch
  x86_64: Split ACPI boot table parsing

x86_64-add-srat-numa-discovery-to-x86-64.patch
  x86_64: Add SRAT NUMA discovery to x86-64.

x86_64-update-uptime-after-suspend.patch
  x86_64: Update uptime after suspend

x86_64-cleanups-preparing-for-memory-hotplug.patch
  x86_64: Cleanups preparing for memory hotplug

x86_64-allow-a-kernel-debugger-to-hide-single-steps-in.patch
  x86_64: Allow a kernel debugger to hide single steps in more cases.

x86_64-remove-debug-information-for-vsyscalls.patch
  x86_64: Remove debug information for vsyscalls

x86_64-rename-htvalid-to-cmp_legacy.patch
  x86_64: Rename HTVALID to CMP_LEGACY

x86_64-scheduler-support-for-amd-cmp.patch
  x86_64: Scheduler support for AMD CMP

x86_64-add-a-missing-__iomem-pointed-out-by-linus.patch
  x86_64: Add a missing __iomem pointed out by Linus.

x86_64-add-a-missing-newline-in-proc-cpuinfo.patch
  x86_64: Add a missing newline in /proc/cpuinfo

x86_64-add-sysfs-file-to-map-pci-busses-to-cpus-warning-fix.patch
  x86_64-add-sysfs-file-to-map-pci-busses-to-cpus-warning-fix

x86_64-always-print-segfaults-for-init.patch
  x86_64: Always print segfaults for init.

x86_64-export-phys_proc_id.patch
  x86_64: Export phys_proc_id

x86_64-allow-to-configure-more-cpus-and-nodes.patch
  x86_64: Allow to configure more CPUs and nodes.

x86_64-allow-to-configure-more-cpus-and-nodes-fix.patch
  x86_64-allow-to-configure-more-cpus-and-nodes fix

x86_64-fix-a-warning-in-the-cmp-support-code-for.patch
  x86_64: Fix a warning in the CMP support code for !CONFIG_NUMA

x86_64-fix-some-outdated-assumptions-that-cpu-numbers.patch
  x86_64: Fix some outdated assumptions that CPU numbers are equal numbers.

x86_64-fix-em64t-config-description.patch
  x86_64: Fix EM64T config description

x86_64-remove-unneeded-ifdef-in-hardirqh.patch
  x86_64: Remove unneeded ifdef in hardirq.h

x86_64-add-slit-inter-node-distance-information-to.patch
  x86_64: Add SLIT (inter node distance) information to sysfs.

x86_64-add-x86_64-support-for-jack-steiners-slit-sysfs.patch
  x86_64: Add x86_64 support for Jack Steiner's SLIT sysfs patch

x86_64-eliminate-some-useless-printks-in-acpi-numac.patch
  x86_64: Eliminate some useless printks in ACPI numa.c

x86_64-experimental-4gb-dma-zone.patch
  x86_64: EXPERIMENTAL: 4GB DMA zone

swsusp-kconfig-change-in-wording-fwd.patch
  swsusp kconfig: Change in wording

typeofdev-powersaved_state.patch
  typeof(dev->power.saved_state)

media-update-drivers-media-video-arvc.patch
  media: Update drivers/media/video/arv.c

uml-remove-most-devfs_mk_symlink-calls.patch
  uml: remove most devfs_mk_symlink calls

uml-fix-__wrap_free-comment.patch
  uml: fix __wrap_free comment

uml-fix-some-ptrace-functions-returns-values.patch
  uml: fix some ptrace functions returns values

uml-redo-the-signal-delivery-mechanism.patch
  uml: redo the signal delivery mechanism

uml-make-restorer-match-i386.patch
  uml: make restorer match i386

uml-unistdh-cleanup.patch
  uml: unistd.h cleanup

uml-remove-a-quilt-induced-duplicity.patch
  uml: remove a quilt-induced duplicity

uml-fix-sigreturn-to-not-copy_user-under-a-spinlock.patch
  uml: fix sigreturn to not copy_user under a spinlock

uml-close-host-file-descriptors-properly.patch
  uml: close host file descriptors properly

uml-free-host-resources-associated-with-freed-irqs.patch
  uml: free host resources associated with freed IRQs

uml-unregister-signal-handlers-at-reboot.patch
  uml: unregister signal handlers at reboot

hostfs-uml-set-sendfile-to-generic_file_sendfile.patch
  hostfs: uml: set .sendfile to generic_file_sendfile

hostfs-uml-add-some-other-pagecache-methods.patch
  hostfs: uml: add some other pagecache methods

uml-terminal-cleanup.patch
  uml: terminal cleanup

s390-network-driver.patch
  s390: network driver

s390-remove-compat-setup_arg_pages32.patch
  s390: remove compat setup_arg_pages32

enhanced-i-o-accounting-data-patch.patch
  enhanced I/O accounting data patch

enhanced-memory-accounting-data-collection.patch
  enhanced Memory accounting data collection

enhanced-memory-accounting-data-collection-tidy.patch
  enhanced-memory-accounting-data-collection-tidy

wacom-tablet-driver.patch
  wacom tablet driver

force-feedback-support-for-uinput.patch
  Force feedback support for uinput

kmap_atomic-takes-char.patch
  kmap_atomic takes char*

kmap_atomic-takes-char-fix.patch
  kmap_atomic-takes-char-fix

kmap_atomic-fallout.patch
  kmap_atomic fallout

kunmap-fallout-more-fixes.patch
  kunmap-fallout-more-fixes

4-4gb-incorrect-bound-check-in-do_getname.patch
  4/4GB: Incorrect bound check in do_getname()

handle-quoted-module-parameters.patch
  handle quoted module parameters

CONFIG_SOUND_VIA82CXXX_PROCFS.patch
  Add CONFIG_SOUND_VIA82CXXX_PROCFS

make-sysrq-f-call-oom_kill.patch
  make sysrq-F call oom_kill()

allow-admin-to-enable-only-some-of-the-magic-sysrq-functions.patch
  Allow admin to enable only some of the Magic-Sysrq functions

gen_init_cpio-symlink-pipe-socket-support.patch
  gen_init_cpio symlink, pipe and socket support

gen_init_cpio-slink_pipe_sock_2.patch
  gen_init_cpio-slink_pipe_sock_2

move-irq_enter-and-irq_exit-to-common-code.patch
  move irq_enter and irq_exit to common code

remove-unused-irq_cpustat-fields.patch
  remove unused irq_cpustat fields

reduce-false-timer_softirq-calls.patch
  reduce false TIMER_SOFTIRQ calls

reduce-false-timer_softirq-calls-tweaks.patch
  reduce-false-timer_softirq-calls-tweaks

hold-bkl-for-shorter-period-in-generic_shutdown_super.patch
  Hold BKL for shorter period in generic_shutdown_super().

cleanups-for-the-ipmi-driver.patch
  Cleanups for the IPMI driver

htree-telldir-fix.patch
  ext3 htree telldir() fix

kill-blkh.patch
  kill blk.h

ext3-cleanup-handling-of-aborted-transactions.patch
  ext3: cleanup handling of aborted transactions.

ext3-handle-attempted-delete-of-bitmap-blocks.patch
  ext3: handle attempted delete of bitmap blocks.

ext3-handle-attempted-double-delete-of-metadata.patch
  ext3: handle attempted double-delete of metadata.

cpumask_t-initializers.patch
  cpumask_t initializers

time-run-too-fast-after-s3.patch
  time runx too fast after S3

fork-total_forks-not-counted-under-tasklist_lock.patch
  fork: total_forks not counted under tasklist_lock

suppress-might_sleep-if-oopsing.patch
  suppress might_sleep() if oopsing

i4l-fix-deadlock-in-capi-code-reenable-smp.patch
  i4l: fix deadlock in CAPI code, reenable SMP

cont_prepare_write-fix.patch
  cont_prepare_write() fix

fix-an-xfs-direct-i-o-deadlock.patch
  Fix an XFS direct I/O deadlock

file-sync-no-i_sem.patch
  Reduce i_sem usage during file sync operations

generic_make_request-stack-savings.patch
  generic_make_request stack savings

sys_stime-needs-a-compat-function.patch
  sys_stime needs a compat function

sys_stime-needs-a-compat-function-fix.patch
  sys_stime-needs-a-compat-function-fix

sys_stime-needs-a-compat-function-fix-fix.patch
  sys_stime-needs-a-compat-function-fix-fix

sync-in-core-time-granuality-with-filesystems.patch
  Sync in core time granuality with filesystems

sync-in-core-time-granuality-with-filesystems-sonypi-fix.patch
  sync-in-core-time-granuality-with-filesystems-sonypi-fix

use-pid_alive-in-proc_pid_status.patch
  use pid_alive in proc_pid_status

fix-parameter-handling-in-ibm_acpic.patch
  Fix Parameter Handling in ibm_acpi.c

remove-ip2-programs.patch
  remove ip2 programs

rcu-eliminate-rcu_ctrlblklock.patch
  rcu: eliminate rcu_ctrlblk.lock

rcu-eliminate-rcu_datalast_qsctr.patch
  rcu: eliminate rcu_data.last_qsctr

smb_file_open-retval-fix.patch
  smb_file_open() retval fix

shmctl-shm_lock-perms.patch
  shmctl SHM_LOCK perms

sys_sched_setaffinity-on-up-should-fail-for-non-zero.patch
  sys_sched_setaffinity() on UP should fail for non-zero CPUs.

fix-occasional-stop_machine-lockup-with-2-cpus.patch
  Fix occasional stop_machine() lockup with > 2 CPUs

Add-PCI-quirks-for-ASUS-M6Ne-notebook.patch
  Add PCI-quirks for ASUS M6Ne notebook

expose-reiserfs_sync_fs.patch
  Expose reiserfs_sync_fs()

fix-reiserfs-quota-debug-messages.patch
  Fix reiserfs quota debug messages

fix-of-quota-deadlock-on-pagelock-quota-core.patch
  Fix of quota deadlock on pagelock: quota core

vfs_quota_off-oops-fix.patch
  vfs_quota_off-oops-fix

quota-umount-race-fix.patch
  quota umount race fix

fix-of-quota-deadlock-on-pagelock-ext2.patch
  Fix of quota deadlock on pagelock: ext2

fix-of-quota-deadlock-on-pagelock-ext2-tweaks.patch
  fix-of-quota-deadlock-on-pagelock-ext2-tweaks

fix-of-quota-deadlock-on-pagelock-ext3.patch
  Fix of quota deadlock on pagelock: ext3

fix-of-quota-deadlock-on-pagelock-ext3-tweaks.patch
  fix-of-quota-deadlock-on-pagelock-ext3-tweaks

fix-of-quota-deadlock-on-pagelock-reiserfs.patch
  Fix of quota deadlock on pagelock: reiserfs

fix-of-quota-deadlock-on-pagelock-reiserfs-fix.patch
  fix-of-quota-deadlock-on-pagelock-reiserfs-fix

allow-disabling-quota-messages-to-console.patch
  Allow disabling quota messages to console

selinux-scalability-add-spin_trylock_irq-and.patch
  SELinux scalability: add spin_trylock_irq and  spin_trylock_irqsave

selinux-scalability-convert-avc-to-rcu.patch
  SELinux scalability: convert AVC to RCU

selinux-atomic_dec_and_test-bug.patch
  SELinux: atomic_dec_and_test() bug

selinux-scalability-avc-statistics-and-tuning.patch
  SELinux scalability: AVC statistics and tuning

oprofile-add-check_user_page_readable.patch
  oprofile: add check_user_page_readable()

oprofile-arch-independent-code-for-stack-trace.patch
  oprofile: arch-independent code for stack trace sampling

oprofile-arch-independent-code-for-stack-trace-rename-timer_init.patch
  oprofile-arch-independent-code-for-stack-trace: rename timer_init

oprofile-i386-support-for-stack-trace-sampling.patch
  oprofile: i386 support for stack trace sampling

oprofile-i386-support-for-stack-trace-sampling-cleanup.patch
  oprofile-i386-support-for-stack-trace-sampling-cleanup

oprofile-i386-support-for-stack-trace-sampling-fix.patch
  oprofile-i386-support-for-stack-trace-sampling x86_64 fix

oprofile-ia64-support-for-oprofile-stack-trace.patch
  oprofile: ia64 support for oprofile stack trace sampling

oprofile-update-alpha-for-api-changes.patch
  oprofile: update alpha for api changes

oprofile-update-arm-for-api-changes.patch
  oprofile: update arm for api changes

oprofile-update-ppc-for-api-changes.patch
  oprofile: update ppc for api changes

oprofile-update-parisc-for-api-changes.patch
  oprofile: update parisc for api changes

oprofile-update-s390-for-api-changes.patch
  oprofile: update s390 for api changes

oprofile-update-sh-for-api-changes.patch
  oprofile: update sh for api changes

oprofile-update-sparc64-for-api-changes.patch
  oprofile: update sparc64 for api changes

oprofile-minor-cleanups.patch
  oprofile: minor cleanups

pcmcia-add-disable_clkrun-option.patch
  pcmcia: Add disable_clkrun option

pcmcia-b17-device-model-integration.patch

pcmcia-b18a-client_t-and-pcmcia_device-integration.patch

pcmcia-b18b-error-on-leftover-devices.patch

pcmcia-b19-netdevice-integration.patch

dvb-documentation-update.patch
  dvb: documentation update

dvb-collateral-frontend-changes.patch
  dvb: collateral frontend changes

dvb-collateral-frontend-changes-kconfig-fix.patch
  dvb-collateral-frontend-changes kconfig fix

saa7146-changes.patch
  dvb: saa7146 changes

dvb-frontend-driver-refactoring.patch
  dvb: frontend driver refactoring

dvb-follow-frontend-changes-in-drivers.patch
  dvb: follow frontend changes in drivers

dvb-cinergy-t2-update.patch
  dvb: Cinergy T2 update

dvb-dibusb-driver-update.patch
  dvb: dibusb driver update

dvb-core-changes.patch
  dvb: core changes

dvb-remove-dead-files.patch
  dvb: remove dead files

dvb-follow-changes-in-dvb-ttpci-and-budget-drivers.patch
  dvb: follow changes in dvb-ttpci and budget drivers

dvb-follow-changes-in-dvb-ttpci-and-budget-drivers-linkage-fix.patch
  dvb-follow-changes-in-dvb-ttpci-and-budget-drivers linkage fix

knfsd-nfsd_translate_wouldblocks.patch
  knfsd: nfsd_translate_wouldblocks

knfsd-svcrpc-auth_null-fixes.patch
  knfsd: svcrpc: auth_null fixes

knfsd-svcrpc-share-code-duplicated-between-auth_unix-and-auth_null.patch
  knfsd: svcrpc: share code duplicated between auth_unix and auth_null

knfsd-nfsd4-fix-open_downgrade-decode-error.patch
  knfsd: nfsd4: fix open_downgrade decode error.

knfsd-rpcsec_gss-comparing-pointer-to-0-instead-of-null.patch
  knfsd: rpcsec_gss: comparing pointer to 0 instead of NULL

knfsd-nfsd4-fix-fileid-in-readdir-responses.patch
  knfsd: nfsd4: fix fileid in readdir responses

knfsd-nfsd4-use-the-fsid-export-option-when-returning-the-fsid-attribute.patch
  knfsd: nfsd4: use the fsid export option when returning the fsid attribute

knfsd-nfsd4-encode_dirent-cleanup.patch
  knfsd: nfsd4 encode_dirent cleanup

knfsd-nfsd4-encode_dirent-superfluous-assignment.patch
  knfsd: nfsd4: encode_dirent: superfluous assignment

knfsd-nfsd4-encode_dirent-superfluous-local-variables.patch
  knfsd: nfsd4: encode_dirent: superfluous local variables

knfsd-nfsd4-encode_dirent-more-readdir-attribute-encoding-to-new-function.patch
  knfsd: nfsd4: encode_dirent: more readdir attribute encoding to new function

knfsd-nfsd4-encode_dirent-simplify-nfs4_encode_dirent_fattr.patch
  knfsd: nfsd4: encode_dirent: simplify nfs4_encode_dirent_fattr

knfsd-nfsd4-encode_dirent-move-rdattr_error-code-to-new-function.patch
  knfsd: nfsd4: encode_dirent: move rdattr_error code to new function

knfsd-nfsd4-encode_dirent-simplify-error-handling.patch
  knfsd: nfsd4: encode_dirent: simplify error handling

knfsd-nfsd4-encode_dirent-simplify-control-flow.patch
  knfsd: nfsd4: encode_dirent: simplify control flow

knfsd-nfsd4-encode_dirent-fix-dropit-return.patch
  knfsd: nfsd4: encode_dirent: fix dropit return

knfsd-nfsd4-encode_dirent-trivial-cleanup.patch
  knfsd: nfsd4: encode_dirent: trivial cleanup

kgdb-ga.patch
  kgdb stub for ia32 (George Anzinger's one)
  kgdbL warning fix
  kgdb buffer overflow fix
  kgdbL warning fix
  kgdb: CONFIG_DEBUG_INFO fix
  x86_64 fixes
  correct kgdb.txt Documentation link (against  2.6.1-rc1-mm2)
  kgdb: fix for recent gcc
  kgdb warning fixes
  THREAD_SIZE fixes for kgdb
  Fix stack overflow test for non-8k stacks
  kgdb-ga.patch fix for i386 single-step into sysenter
  fix TRAP_BAD_SYSCALL_EXITS on i386
  add TRAP_BAD_SYSCALL_EXITS config for i386
  kgdb-is-incompatible-with-kprobes
  kgdb-ga-build-fix
  kgdb-ga-fixes

kgdb-kill-off-highmem_start_page.patch
  kgdb: kill off highmem_start_page

kgdboe-netpoll.patch
  kgdb-over-ethernet via netpoll
  kgdboe: fix configuration of MAC address

kgdb-x86_64-support.patch
  kgdb-x86_64-support.patch for 2.6.2-rc1-mm3
  kgdb-x86_64-warning-fixes
  kgdb-x86_64-fix
  kgdb-x86_64-serial-fix
  kprobes exception notifier fix

invalidate_inodes-speedup.patch
  invalidate_inodes speedup
  more invalidate_inodes speedup fixes

dev-mem-restriction-patch.patch
  /dev/mem restriction patch

dev-mem-restriction-patch-allow-reads.patch
  dev-mem-restriction-patch: allow reads

jbd-remove-livelock-avoidance.patch
  JBD: remove livelock avoidance code in journal_dirty_data()

journal_add_journal_head-debug.patch
  journal_add_journal_head-debug

list_del-debug.patch
  list_del debug check

unplug-can-sleep.patch
  unplug functions can sleep

firestream-warnings.patch
  firestream warnings

perfctr-core.patch
  perfctr: core

perfctr-i386.patch
  perfctr: i386

perfctr-x86-core-updates.patch
  perfctr x86 core updates

perfctr-x86-driver-updates.patch
  perfctr x86 driver updates

perfctr-x86-driver-cleanup.patch
  perfctr: x86 driver cleanup

perfctr-prescott-fix.patch
  Prescott fix for perfctr

perfctr-x86-update-2.patch
  perfctr x86 update 2

perfctr-x86_64.patch
  perfctr: x86_64

perfctr-x86_64-core-updates.patch
  perfctr x86_64 core updates

perfctr-ppc.patch
  perfctr: PowerPC

perfctr-ppc32-driver-update.patch
  perfctr: ppc32 driver update

perfctr-ppc32-mmcr0-handling-fixes.patch
  perfctr ppc32 MMCR0 handling fixes

perfctr-ppc32-update.patch
  perfctr ppc32 update

perfctr-ppc32-update-2.patch
  perfctr ppc32 update

perfctr-virtualised-counters.patch
  perfctr: virtualised counters

perfctr-remap_page_range-fix.patch

virtual-perfctr-illegal-sleep.patch
  virtual perfctr illegal sleep

make-perfctr_virtual-default-in-kconfig-match-recommendation.patch
  Make PERFCTR_VIRTUAL default in Kconfig match recommendation  in help text

perfctr-ifdef-cleanup.patch
  perfctr ifdef cleanup

perfctr-update-2-6-kconfig-related-updates.patch
  perfctr: Kconfig-related updates

perfctr-virtual-updates.patch
  perfctr virtual updates

perfctr-virtual-cleanup.patch
  perfctr: virtual cleanup

perfctr-ppc32-preliminary-interrupt-support.patch
  perfctr ppc32 preliminary interrupt support

perfctr-update-5-6-reduce-stack-usage.patch
  perfctr: reduce stack usage

perfctr-interrupt-support-kconfig-fix.patch
  perfctr interrupt_support Kconfig fix

perfctr-low-level-documentation.patch
  perfctr low-level documentation

perfctr-inheritance-1-3-driver-updates.patch
  perfctr inheritance: driver updates

perfctr-inheritance-2-3-kernel-updates.patch
  perfctr inheritance: kernel updates

perfctr-inheritance-3-3-documentation-updates.patch
  perfctr inheritance: documentation updates

perfctr-inheritance-locking-fix.patch
  perfctr inheritance locking fix

perfctr-api-changes-first-step.patch
  perfctr API changes: first step

perfctr-virtual-update.patch
  perfctr virtual update

perfctr-x86-64-ia32-emulation-fix.patch
  perfctr x86-64 ia32 emulation fix

sched-more-agressive-wake_idle.patch
  sched: more agressive wake_idle()

sched-can_migrate-exception-for-idle-cpus.patch
  sched: can_migrate exception for idle cpus

sched-newidle-fix.patch
  sched: newidle fix

sched-active_load_balance-fixlet.patch
  sched: active_load_balance() fixlet

sched-reset-cache_hot_time.patch
  sched: reset cache_hot_time

schedc-whitespace-mangler.patch
  sched.c whitespace mangler

sched-alter_kthread_prio.patch
  sched: alter_kthread_prio

sched-adjust_timeslice_granularity.patch
  sched: adjust_timeslice_granularity

sched-add_requeue_task.patch
  sched: add_requeue_task

requeue_granularity.patch
  sched: requeue_granularity

sched-remove_interactive_credit.patch
  sched: remove_interactive_credit

sched-use-cached-current-value.patch
  sched: use cached current value

dont-hide-thread_group_leader-from-grep.patch
  don't hide thread_group_leader() from grep

sched-no-need-to-recalculate-rq.patch
  sched: no need to recalculate rq

add-do_proc_doulonglongvec_minmax-to-sysctl-functions.patch
  Add do_proc_doulonglongvec_minmax to sysctl functions
  add-do_proc_doulonglongvec_minmax-to-sysctl-functions-fix
  add-do_proc_doulonglongvec_minmax-to-sysctl-functions fix 2

add-sysctl-interface-to-sched_domain-parameters.patch
  Add sysctl interface to sched_domain parameters

preempt-smp.patch
  improve preemption on SMP

preempt-smp-_raw_read_trylock-bias-fix.patch
  preempt-smp _raw_read_trylock bias fix

preempt-cleanup.patch
  preempt cleanup

preempt-cleanup-fix.patch
  preempt-cleanup-fix

add-lock_need_resched.patch
  add lock_need_resched()

sched-add-cond_resched_softirq.patch
  sched: add cond_resched_softirq()

sched-ext3-fix-scheduling-latencies-in-ext3.patch
  sched: ext3: fix scheduling latencies in ext3

break-latency-in-invalidate_list.patch
  break latency in invalidate_list()

sched-vfs-fix-scheduling-latencies-in-prune_dcache-and-select_parent.patch
  sched: vfs: fix scheduling latencies in prune_dcache() and select_parent()

sched-vfs-fix-scheduling-latencies-in-prune_dcache-and-select_parent-fix.patch
  sched-vfs-fix-scheduling-latencies-in-prune_dcache-and-select_parent fix

sched-net-fix-scheduling-latencies-in-netstat.patch
  sched: net: fix scheduling latencies in netstat

sched-net-fix-scheduling-latencies-in-__release_sock.patch
  sched: net: fix scheduling latencies in __release_sock

sched-mm-fix-scheduling-latencies-in-unmap_vmas.patch
  sched: mm: fix scheduling latencies in unmap_vmas()

sched-mm-fix-scheduling-latencies-in-get_user_pages.patch
  sched: mm: fix scheduling latencies in get_user_pages()

sched-mm-fix-scheduling-latencies-in-filemap_sync.patch
  sched: mm: fix scheduling latencies in filemap_sync()

fix-keventd-execution-dependency.patch
  fix keventd execution dependency

sched-fix-scheduling-latencies-in-mttrc.patch
  sched: fix scheduling latencies in mttr.c

sched-fix-scheduling-latencies-in-vgaconc.patch
  sched: fix scheduling latencies in vgacon.c

sched-fix-scheduling-latencies-for-preempt-kernels.patch
  sched: fix scheduling latencies for !PREEMPT kernels

idle-thread-preemption-fix.patch
  idle thread preemption fix

oprofile-smp_processor_id-fixes.patch
  oprofile smp_processor_id() fixes

fix-smp_processor_id-warning-in-numa_node_id.patch
  Fix smp_processor_id() warning in numa_node_id()

vmtrunc-truncate_count-not-atomic.patch
  vmtrunc: truncate_count not atomic

vmtrunc-restore-unmap_vmas-zap_bytes.patch
  vmtrunc: restore unmap_vmas zap_bytes

vmtrunc-unmap_mapping_range_tree.patch
  vmtrunc: unmap_mapping_range_tree

vmtrunc-unmap_mapping-dropping-i_mmap_lock.patch
  vmtrunc: unmap_mapping dropping i_mmap_lock

vmtrunc-vm_truncate_count-race-caution.patch
  vmtrunc: vm_truncate_count race caution

vmtrunc-bug-if-page_mapped.patch
  vmtrunc: bug if page_mapped

vmtrunc-restart_addr-in-truncate_count.patch
  vmtrunc: restart_addr in truncate_count

remove-the-bkl-by-turning-it-into-a-semaphore.patch
  remove the BKL by turning it into a semaphore

oprofile-preempt-warning-fixes.patch
  oprofile preempt warning fixes

smp_processor_id-commentary.patch
  smp_processor_id() commentary

cpu_down-warning-fix.patch
  cpu_down() warning fix

linux-2.6.8.1-49-rpc_workqueue.patch
  nfs: RPC: Convert rpciod into a work queue for greater flexibility

linux-2.6.8.1-50-rpc_queue_lock.patch
  nfs: RPC: Remove the rpc_queue_lock global spinlock

allow-modular-ide-pnp.patch
  allow modular ide-pnp

allow-x86_64-to-reenable-interrupts-on-contention.patch
  Allow x86_64 to reenable interrupts on contention

i386-cpu-hotplug-updated-for-mm.patch
  i386 CPU hotplug updated for -mm

serialize-access-to-ide-devices.patch
  serialize access to ide devices

disable-atykb-warning.patch
  disable atykb "too many keys pressed" warning

export-file_ra_state_init-again.patch
  Export file_ra_state_init() again

cachefs-filesystem.patch
  CacheFS filesystem

numa-policies-for-file-mappings-mpol_mf_move-cachefs.patch
  numa-policies-for-file-mappings-mpol_mf_move for cachefs

cachefs-release-search-records-lest-they-return-to-haunt-us.patch
  CacheFS: release search records lest they return to haunt us

fix-64-bit-problems-in-cachefs.patch
  Fix 64-bit problems in cachefs

cachefs-fixed-typos-that-cause-wrong-pointer-to-be-kunmapped.patch
  cachefs: fixed typos that cause wrong pointer to be kunmapped

cachefs-return-the-right-error-upon-invalid-mount.patch
  CacheFS: return the right error upon invalid mount

fix-cachefs-barrier-handling-and-other-kernel-discrepancies.patch
  Fix CacheFS barrier handling and other kernel discrepancies

remove-error-from-linux-cachefsh.patch
  Remove #error from linux/cachefs.h

cachefs-warning-fix-2.patch
  cachefs warning fix 2

cachefs-linkage-fix-2.patch
  cachefs linkage fix

cachefs-build-fix.patch
  cachefs build fix

cachefs-documentation.patch
  CacheFS documentation

add-page-becoming-writable-notification.patch
  Add page becoming writable notification

add-page-becoming-writable-notification-fix.patch
  do_wp_page_mk_pte_writable() fix

provide-a-filesystem-specific-syncable-page-bit.patch
  Provide a filesystem-specific sync'able page bit

provide-a-filesystem-specific-syncable-page-bit-fix.patch
  provide-a-filesystem-specific-syncable-page-bit-fix

provide-a-filesystem-specific-syncable-page-bit-fix-2.patch
  provide-a-filesystem-specific-syncable-page-bit-fix-2

make-afs-use-cachefs.patch
  Make AFS use CacheFS

afs-cachefs-dependency-fix.patch
  afs-cachefs-dependency-fix

split-general-cache-manager-from-cachefs.patch
  Split general cache manager from CacheFS

turn-cachefs-into-a-cache-backend.patch
  Turn CacheFS into a cache backend

rework-the-cachefs-documentation-to-reflect-fs-cache-split.patch
  Rework the CacheFS documentation to reflect FS-Cache split

update-afs-client-to-reflect-cachefs-split.patch
  Update AFS client to reflect CacheFS split

assign_irq_vector-section-fix.patch
  assign_irq_vector __init section fix

kexec-i8259-shutdowni386.patch
  kexec: i8259-shutdown.i386

kexec-i8259-shutdown-x86_64.patch
  kexec: x86_64 i8259 shutdown

kexec-apic-virtwire-on-shutdowni386patch.patch
  kexec: apic-virtwire-on-shutdown.i386.patch

kexec-apic-virtwire-on-shutdownx86_64.patch
  kexec: apic-virtwire-on-shutdown.x86_64

kexec-ioapic-virtwire-on-shutdowni386.patch
  kexec: ioapic-virtwire-on-shutdown.i386

kexec-apic-virt-wire-fix.patch
  kexec: apic-virt-wire fix

kexec-ioapic-virtwire-on-shutdownx86_64.patch
  kexec: ioapic-virtwire-on-shutdown.x86_64

kexec-e820-64bit.patch
  kexec: e820-64bit

kexec-kexec-generic.patch
  kexec: kexec-generic

kexec-ide-spindown-fix.patch
  kexec-ide-spindown-fix

kexec-ifdef-cleanup.patch
  kexec ifdef cleanup

kexec-machine_shutdownx86_64.patch
  kexec: machine_shutdown.x86_64

kexec-kexecx86_64.patch
  kexec: kexec.x86_64

kexec-kexecx86_64-4level-fix.patch
  kexec-kexecx86_64-4level-fix

kexec-machine_shutdowni386.patch
  kexec: machine_shutdown.i386

kexec-kexeci386.patch
  kexec: kexec.i386

kexec-use_mm.patch
  kexec: use_mm

kexec-loading-kernel-from-non-default-offset.patch
  kexec: loading kernel from non-default offset

kexec-loading-kernel-from-non-default-offset-fix.patch
  kdump: fix bss compile error

kexec-enabling-co-existence-of-normal-kexec-kernel-and-panic-kernel.patch
  kexec: nabling co-existence of normal kexec kernel and  panic kernel

kexec-ppc-support.patch
  kexec: ppc support

crashdump-documentation.patch
  crashdump: documentation

crashdump-memory-preserving-reboot-using-kexec.patch
  crashdump: memory preserving reboot using kexec

crashdump-memory-preserving-reboot-using-kexec-fix.patch
  kdump: Fix for boot problems on SMP

kdump-config_discontigmem-fix.patch
  kdump: CONFIG_DISCONTIGMEM fix

crashdump-routines-for-copying-dump-pages.patch
  crashdump: routines for copying dump pages

crashdump-routines-for-copying-dump-pages-kmap-fiddle.patch
  crashdump-routines-for-copying-dump-pages-kmap-fiddle

crashdump-kmap-build-fix.patch
  crashdump kmap build fix

crashdump-register-snapshotting-before-kexec-boot.patch
  crashdump: register snapshotting before kexec boot

crashdump-elf-format-dump-file-access.patch
  crashdump: ELF format dump file access

crashdump-linear-raw-format-dump-file-access.patch
  crashdump: linear/raw format dump file access

crashdump-minor-bug-fixes-to-kexec-crashdump-code.patch
  crashdump: minor bug fixes to kexec crashdump code

crashdump-cleanups-to-the-kexec-based-crashdump-code.patch
  crashdump: cleanups to the kexec based crashdump code

x86-rename-apic_mode_exint.patch
  x86: rename APIC_MODE_EXINT

x86-local-apic-fix.patch
  x86: local apic fix

new-bitmap-list-format-for-cpusets.patch
  new bitmap list format (for cpusets)

cpusets-big-numa-cpu-and-memory-placement.patch
  cpusets - big numa cpu and memory placement

cpusets-fix-cpuset_get_dentry.patch
  cpusets : fix cpuset_get_dentry()

cpusets-fix-race-in-cpuset_add_file.patch
  cpusets: fix race in cpuset_add_file()

cpusets-remove-more-casts.patch
  cpusets: remove more casts

cpusets-make-config_cpusets-the-default-in-sn2_defconfig.patch
  cpusets: make CONFIG_CPUSETS the default in sn2_defconfig

cpusets-document-proc-status-allowed-fields.patch
  cpusets: document proc status allowed fields

cpusets-dont-export-proc_cpuset_operations.patch
  Cpusets - Dont export proc_cpuset_operations

cpusets-display-allowed-masks-in-proc-status.patch
  cpusets: display allowed masks in proc status

cpusets-simplify-cpus_allowed-setting-in-attach.patch
  cpusets: simplify cpus_allowed setting in attach

cpusets-remove-useless-validation-check.patch
  cpusets: remove useless validation check

cpusets-config_cpusets-depends-on-smp.patch
  Cpusets: CONFIG_CPUSETS depends on SMP

cpusets-tasks-file-simplify-format-fixes.patch
  Cpusets tasks file: simplify format, fixes

cpusets-simplify-memory-generation.patch
  Cpusets: simplify memory generation

cpusets-interoperate-with-hotplug-online-maps.patch
  cpusets: interoperate with hotplug online maps

cpusets-alternative-fix-for-possible-race-in.patch
  cpusets: alternative fix for possible race in  cpuset_tasks_read()

cpusets-remove-casts.patch
  cpusets: remove void* typecasts

reiser4-sb_sync_inodes.patch
  reiser4: vfs: add super_operations.sync_inodes()

reiser4-allow-drop_inode-implementation.patch
  reiser4: export vfs inode.c symbols

reiser4-truncate_inode_pages_range.patch
  reiser4: vfs: add truncate_inode_pages_range()

reiser4-export-remove_from_page_cache.patch
  reiser4: export pagecache add/remove functions to modules

reiser4-export-page_cache_readahead.patch
  reiser4: export page_cache_readahead to modules

reiser4-reget-page-mapping.patch
  reiser4: vfs: re-check page->mapping after calling try_to_release_page()

reiser4-rcu-barrier.patch
  reiser4: add rcu_barrier() synchronization point

reiser4-export-inode_lock.patch
  reiser4: export inode_lock to modules

reiser4-export-pagevec-funcs.patch
  reiser4: export pagevec functions to modules

reiser4-export-radix_tree_preload.patch
  reiser4: export radix_tree_preload() to modules

reiser4-radix-tree-tag.patch
  reiser4: add new radix tree tag

reiser4-radix_tree_lookup_slot.patch
  reiser4: add radix_tree_lookup_slot()

reiser4-aliased-dir.patch
  reiser4: vfs: handle aliased directories

reiser4-kobject-umount-race.patch
  reiser4: introduce filesystem kobjects

reiser4-kobject-umount-race-cleanup.patch
  reiser4-kobject-umount-race-cleanup

reiser4-perthread-pages.patch
  reiser4: per-thread page pools

reiser4-unstatic-kswapd.patch
  reiser4: make kswapd() unstatic for debug

reiser4-include-reiser4.patch
  reiser4: add to build system

reiser4-doc.patch
  reiser4: documentation

reiser4-only.patch
  reiser4: main fs

reiser4-fix-a-use-after-free-bug-in-reiser4_parse_options.patch
  reiser4: fix a use after free bug in reiser4_parse_options

reiser4-missing-context-creation-is-added.patch
  reiser4: missing context creation is added

reiser4-crypto-update.patch
  reiser4-crypto-update

reiser4-max_cbk_iteration-fix.patch
  reiser4-max_cbk_iteration-fix

reiser4-reduce-stack-usage.patch
  reiser4-reduce-stack-usage

reiser4-fix-deadlock.patch
  reiser4-fix-deadlock

reiser4-dont-use-shrink_dcache_anon.patch
  reiser4-dont-use-shrink_dcache_anon

reiser4-kmap-atomic-fixes.patch
  reiser4 kmap_atomic fixes

add-acpi-based-floppy-controller-enumeration.patch
  Add ACPI-based floppy controller enumeration.

possible-dcache-bug-debugging-patch.patch
  Possible dcache BUG: debugging patch

3c59x-pm-fix.patch
  3c59x: enable power management unconditionally

3c59x-missing-pci_disable_device.patch
  3c59x: missing pci_disable_device

3c59x-use-netdev_priv.patch
  3c59x: use netdev_priv

3c59x-make-use-of-generic_mii_ioctl.patch
  3c59x: Make use of generic_mii_ioctl

3c59x-vortex-select-mii.patch
  3c59x: VORTEX select MII

3c59x-support-more-ethtool_ops.patch
  3c59x: support more ethtool_ops

serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
  serial: add support for non-standard XTALs to 16c950 driver

add-support-for-possio-gcc-aka-pcmcia-siemens-mc45.patch
  Add support for Possio GCC AKA PCMCIA Siemens MC45

new-serial-flow-control.patch
  new serial flow control

mpsc-driver-patch.patch
  serial: MPSC driver

vm-pageout-throttling.patch
  vm: pageout throttling

revert-allow-oem-written-modules-to-make-calls-to-ia64-oem-sal-functions.patch
  revert "allow OEM written modules to make calls to ia64 OEM SAL functions"

md-improve-hash-code-in-linearc.patch
  md: improve 'hash' code in linear.c

md-add-interface-for-userspace-monitoring-of-events.patch
  md: add interface for userspace monitoring of events.

make-acpi_bus_register_driver-consistent-with-pci_register_driver-again.patch
  make acpi_bus_register_driver() consistent with pci_register_driver()

enforce-a-gap-between-heap-and-stack.patch
  Enforce a gap between heap and stack

remove-lock_section-from-x86_64-spin_lock-asm.patch
  remove LOCK_SECTION from x86_64 spin_lock asm

kfree_skb-dump_stack.patch
  kfree_skb-dump_stack

for-mm-only-remove-remap_page_range-completely.patch
  vm: for -mm only: remove remap_page_range() completely

cancel_rearming_delayed_work.patch
  cancel_rearming_delayed_work()

make-cancel_rearming_delayed_workqueue-static.patch
  make cancel_rearming_delayed_workqueue static

ipvs-deadlock-fix.patch
  ipvs deadlock fix

minimal-ide-disk-updates.patch
  Minimal ide-disk updates

no-buddy-bitmap-patch-revist-intro-and-includes.patch
  no buddy bitmap patch revist: intro and includes

no-buddy-bitmap-patch-revisit-for-mm-page_allocc.patch
  no buddy bitmap patch revisit: for mm/page_alloc.c

no-buddy-bitmap-patch-revisit-for-mm-page_allocc-fix.patch
  no-buddy-bitmap-patch-revisit-for-mm-page_allocc fix

no-buddy-bitmap-patch-revist-for-ia64.patch
  no buddy bitmap patch revist: for ia64

no-buddy-bitmap-patch-revist-for-ia64-fix.patch
  no-buddy-bitmap-patch-revist-for-ia64 fix

use-find_trylock_page-in-free_swap_and_cache-instead-of-hand-coding.patch
  use find_trylock_page in free_swap_and_cache instead of hand coding

selinux-adds-a-private-inode-operation.patch
  selinux: adds a private inode operation

reiserfs-private-inode-abstracted-to-static-inline.patch
  reiserfs: private inode abstracted to static inline

reiserfs-fixes-to-allow-reiserfs-to-use-selinux-attributes.patch
  reiserfs: fixes to allow reiserfs to use selinux attributes

reiserfs-cleaning-up-const-checks.patch
  reiserfs: cleaning up const checks

fbdev-sis-framebuffer-driver-update-1717.patch
  fbdev: SiS framebuffer driver update 1.7.17

raid6-altivec-support.patch
  raid6: altivec support

remove-export_symbol_novers.patch
  Remove EXPORT_SYMBOL_NOVERS

figure-out-who-is-inserting-bogus-modules.patch
  Figure out who is inserting bogus modules

use-mmiowb-in-qla1280c.patch
  use mmiowb in qla1280.c

readpage-vs-invalidate-fix.patch
  readpage-vs-invalidate fix

invalidate_inode_pages-mmap-coherency-fix.patch
  invalidate_inode_pages2() mmap coherency fix

yenta_socketc-fix-missing-pci_disable_dev.patch
  yenta_socket.c: Fix missing pci_disable_dev

yenta-dont-enable-read-prefetch-on-older-o2-bridges.patch
  yenta: don't enable read prefetch on older o2 bridges.

cputime-introduce-cputime.patch
  cputime: introduce cputime

cputime-fix-do_setitimer.patch
  cputime: fix do_setitimer.

cputime-missing-pieces.patch
  cputime: missing pieces.

mm-check_rlimit-oops-on-p-signal.patch
  check_rlimit oops on p->signal

cputime-microsecond-based-cputime-for-s390.patch
  cputime: microsecond based cputime for s390

detect-atomic-counter-underflows.patch
  detect atomic counter underflows

lock-initializer-unifying-batch-2-alpha.patch
  Lock initializer unifying: ALPHA

lock-initializer-unifying-batch-2-ia64.patch
  Lock initializer unifying: IA64

lock-initializer-unifying-batch-2-m32r.patch
  Lock initializer unifying: M32R

lock-initializer-unifying-batch-2-mips.patch
  Lock initializer unifying: MIPS

lock-initializer-unifying-batch-2-misc-drivers.patch
  Lock initializer unifying: Misc drivers

lock-initializer-unifying-batch-2-block-devices.patch
  Lock initializer unifying: Block devices

lock-initializer-unifying-batch-2-drm.patch
  Lock initializer unifying: DRM

lock-initializer-unifying-batch-2-character-devices.patch
  Lock initializer unifying: character devices

lock-initializer-unifying-batch-2-rio.patch
  Lock initializer unifying: RIO

lock-initializer-unifying-batch-2-firewire.patch
  Lock initializer unifying: Firewire

lock-initializer-unifying-batch-2-isdn.patch
  Lock initializer unifying: ISDN

lock-initializer-unifying-batch-2-raid.patch
  Lock initializer unifying: Raid

lock-initializer-unifying-batch-2-media-drivers.patch
  Lock initializer unifying: media drivers

lock-initializer-unifying-batch-2-drivers-serial.patch
  Lock initializer unifying: drivers/serial

lock-initializer-unifying-batch-2-filesystems.patch
  Lock initializer unifying: Filesystems

lock-initializer-unifying-batch-2-video.patch
  Lock initializer unifying: Video

lock-initializer-unifying-batch-2-sound.patch
  Lock initializer unifying: sound

lock-initializer-cleanup-common-headers.patch
  Lock initializer cleanup (common headers)

lock-initializer-cleanup-character-devices.patch
  Lock initializer cleanup (character devices)

lock-initializer-cleanup-core.patch
  Lock initializer cleanup (Core)

documentation-for-ide-and-cdrom-ioctls.patch
  Documentation for IDE and CDROM ioctls

eth1394-module_parm-conversion.patch
  eth1394 MODULE_PARM conversion

isapnp-module_param-conversion.patch
  isapnp module_param conversion

sr-module_param-conversion.patch
  sr module_param conversion

media-video-module_param-conversion.patch
  media/video module_param conversion

btaudio-module_param-conversion.patch
  btaudio module_param conversion

small-drivers-char-rio-cleanups-fwd.patch
  small drivers/char/rio/ cleanups

small-char-generic_serialc-cleanup-fwd.patch
  small char/generic_serial.c cleanup

debug_bugverbose-for-i386-fwd.patch
  DEBUG_BUGVERBOSE for i386

telephony-ixjc-cleanup-fwd.patch
  telephony/ixj.c cleanup

char-cycladesc-remove-unused-code-fwd.patch
  char/cyclades.c: remove unused code

oss-ac97-quirk-facility.patch
  oss: AC97 quirk facility

oss-ac97-quirk-facility-fix.patch
  oss-ac97-quirk-facility fix

ext3-use-generic_open_file-to-fix-possible-preemption-bugs.patch
  ext3: use generic_open_file to fix possible preemption bugs

bttv-i2cc-make-two-functions-static.patch
  bttv-i2c.c: make two functions static

bttv-riscc-make-some-functions-static.patch
  bttv-risc.c: make some functions static

bttv-help-fix.patch
  bttv help fix

zoran_driverc-make-zoran_num_formats-static.patch
  zoran_driver.c: make zoran_num_formats static

media-video-msp3400c-remove-unused-struct-d1.patch
  media/video/msp3400.c: remove unused struct d1

zoran_devicec-make-zr36057_init_vfe-static.patch
  zoran_device.c: make zr36057_init_vfe static

drivers-media-video-the-easy-cleanups.patch
  drivers/media/video: the easy cleanups

small-ftape-cleanups-fwd.patch
  small ftape cleanups

reiser3-cleanups.patch
  reiser3 cleanups

cdromc-make-several-functions-static.patch
  cdrom.c: make several functions static (fwd)

fs-coda-psdevc-shouldnt-include-lph.patch
  fs/coda/psdev.c shouldn't include lp.h

remove-early_param-tests.patch
  remove early_param test code

MODULE_PARM-allmod.patch
  MODULE_PARM conversions

MODULE_PARM-allyes.patch
  MODULE_PARM conversions

fix-typo-in-cdromc.patch
  fix typo in cdrom.c

lockd-fix-two-struct-definitions.patch
  lockd: fix two struct definitions

small-mca-cleanups-fwd.patch
  small MCA cleanups

small-drivers-media-radio-cleanups-fwd.patch
  small drivers/media/radio/ cleanups

make-number-of-ramdisks-kconfigurable.patch
  make number of ramdisks Kconfigurable

make-number-of-ramdisks-kconfigurable-tidy.patch
  make-number-of-ramdisks-kconfigurable-tidy




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

* Re: 2.6.10-rc2-mm4
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
@ 2004-11-30 18:06 ` Arjan van de Ven
  2004-11-30 18:21   ` 2.6.10-rc2-mm4 Andrew Morton
  2004-11-30 18:31   ` 2.6.10-rc2-mm4 Christoph Hellwig
  2004-11-30 18:30 ` 2.6.10-rc2-mm4 Christoph Hellwig
                   ` (10 subsequent siblings)
  11 siblings, 2 replies; 50+ messages in thread
From: Arjan van de Ven @ 2004-11-30 18:06 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Tue, 2004-11-30 at 09:50 -0800, Andrew Morton wrote:
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
> 
> - Various fixes and cleanups
> 
> - A decent-sized x86_64 update.
> 
> - x86_64 supports a fourth VM zone: ZONE_DMA32.  This may affect memory
>   reclaim, but shouldn't.


what is the purpose of such a zone ??


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

* Re: 2.6.10-rc2-mm4
  2004-11-30 18:06 ` 2.6.10-rc2-mm4 Arjan van de Ven
@ 2004-11-30 18:21   ` Andrew Morton
  2004-11-30 18:25     ` 2.6.10-rc2-mm4 Arjan van de Ven
  2004-12-02  8:01     ` 2.6.10-rc2-mm4 Jes Sorensen
  2004-11-30 18:31   ` 2.6.10-rc2-mm4 Christoph Hellwig
  1 sibling, 2 replies; 50+ messages in thread
From: Andrew Morton @ 2004-11-30 18:21 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: linux-kernel

Arjan van de Ven <arjan@infradead.org> wrote:
>
> On Tue, 2004-11-30 at 09:50 -0800, Andrew Morton wrote:
> > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
> > 
> > - Various fixes and cleanups
> > 
> > - A decent-sized x86_64 update.
> > 
> > - x86_64 supports a fourth VM zone: ZONE_DMA32.  This may affect memory
> >   reclaim, but shouldn't.
> 
> 
> what is the purpose of such a zone ??

For pages which have a physical address <4G.  I assume this was motivated
by the lack of an IOMMU on ia32e?

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

* Re: 2.6.10-rc2-mm4
  2004-11-30 18:21   ` 2.6.10-rc2-mm4 Andrew Morton
@ 2004-11-30 18:25     ` Arjan van de Ven
  2004-11-30 18:32       ` 2.6.10-rc2-mm4 Andrew Morton
  2004-11-30 18:48       ` 2.6.10-rc2-mm4 William Lee Irwin III
  2004-12-02  8:01     ` 2.6.10-rc2-mm4 Jes Sorensen
  1 sibling, 2 replies; 50+ messages in thread
From: Arjan van de Ven @ 2004-11-30 18:25 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Tue, 2004-11-30 at 10:21 -0800, Andrew Morton wrote:
> Arjan van de Ven <arjan@infradead.org> wrote:
> >
> > On Tue, 2004-11-30 at 09:50 -0800, Andrew Morton wrote:
> > > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
> > > 
> > > - Various fixes and cleanups
> > > 
> > > - A decent-sized x86_64 update.
> > > 
> > > - x86_64 supports a fourth VM zone: ZONE_DMA32.  This may affect memory
> > >   reclaim, but shouldn't.
> > 
> > 
> > what is the purpose of such a zone ??
> 
> For pages which have a physical address <4G.  I assume this was motivated
> by the lack of an IOMMU on ia32e?

but there's the swiommu for those... so that can't be it
realistically....

Is there code using the zone GFP mask yet ??


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

* Re: 2.6.10-rc2-mm4
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
  2004-11-30 18:06 ` 2.6.10-rc2-mm4 Arjan van de Ven
@ 2004-11-30 18:30 ` Christoph Hellwig
  2004-11-30 19:18 ` 2.6.10-rc2-mm4 Stephen Smalley
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 50+ messages in thread
From: Christoph Hellwig @ 2004-11-30 18:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

> +x86_64-make-irda-devices-are-not-really-isa-devices-not.patch

This one is still as bogus as it was when discussed last time.  The
irda devices do need ISA DMA, which isn't supported by most architectures
that don't have CONFIG_ISA.  So we'll allow selecting a driver that's
not compilable for the non-PeCee users in the world.

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

* Re: 2.6.10-rc2-mm4
  2004-11-30 18:06 ` 2.6.10-rc2-mm4 Arjan van de Ven
  2004-11-30 18:21   ` 2.6.10-rc2-mm4 Andrew Morton
@ 2004-11-30 18:31   ` Christoph Hellwig
  2004-11-30 18:38     ` 2.6.10-rc2-mm4 Alan Cox
  1 sibling, 1 reply; 50+ messages in thread
From: Christoph Hellwig @ 2004-11-30 18:31 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Andrew Morton, linux-kernel

On Tue, Nov 30, 2004 at 07:06:34PM +0100, Arjan van de Ven wrote:
> On Tue, 2004-11-30 at 09:50 -0800, Andrew Morton wrote:
> > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
> > 
> > - Various fixes and cleanups
> > 
> > - A decent-sized x86_64 update.
> > 
> > - x86_64 supports a fourth VM zone: ZONE_DMA32.  This may affect memory
> >   reclaim, but shouldn't.
> 
> 
> what is the purpose of such a zone ??

The purpose is probably to work around 32bit DMA limited devices on the broken
iAMD64 systems.

But I think it's a bad idea, x86_64 doesn't use CONFIG_HIGHMEM at all currenly,
and it could easily use it for that purpose like in the patch in older RH
kernels for ia64.

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

* Re: 2.6.10-rc2-mm4
  2004-11-30 18:25     ` 2.6.10-rc2-mm4 Arjan van de Ven
@ 2004-11-30 18:32       ` Andrew Morton
  2004-11-30 17:44         ` 2.6.10-rc2-mm4 Alan Cox
  2004-11-30 19:36         ` 2.6.10-rc2-mm4 Arjan van de Ven
  2004-11-30 18:48       ` 2.6.10-rc2-mm4 William Lee Irwin III
  1 sibling, 2 replies; 50+ messages in thread
From: Andrew Morton @ 2004-11-30 18:32 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: linux-kernel

Arjan van de Ven <arjan@infradead.org> wrote:
>
> > > > - x86_64 supports a fourth VM zone: ZONE_DMA32.  This may affect memory
>  > > >   reclaim, but shouldn't.
>  > > 
>  > > 
>  > > what is the purpose of such a zone ??
>  > 
>  > For pages which have a physical address <4G.  I assume this was motivated
>  > by the lack of an IOMMU on ia32e?
> 
>  but there's the swiommu for those... so that can't be it
>  realistically....

"This helps mainly graphic drivers who really need a lot of memory below
the 4GB area.  Previous they could only use IOMMU+16MB GFP_DMA, which was
not enough memory."

>  Is there code using the zone GFP mask yet ??

Nope.

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

* Re: 2.6.10-rc2-mm4
  2004-11-30 18:31   ` 2.6.10-rc2-mm4 Christoph Hellwig
@ 2004-11-30 18:38     ` Alan Cox
  0 siblings, 0 replies; 50+ messages in thread
From: Alan Cox @ 2004-11-30 18:38 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Arjan van de Ven, Andrew Morton, Linux Kernel Mailing List

On Maw, 2004-11-30 at 18:31, Christoph Hellwig wrote:
> The purpose is probably to work around 32bit DMA limited devices on the broken
> iAMD64 systems.
> 
> But I think it's a bad idea, x86_64 doesn't use CONFIG_HIGHMEM at all currenly,
> and it could easily use it for that purpose like in the patch in older RH
> kernels for ia64.

We had very bad experiences with zone balancing that configuration and
I'm concerned we'd see the same again with such a zone on systems.
Particulary since nothing I can find needs such a zone but can use
swiommu and the I/O MMU on some AMD boxes.



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

* Re: 2.6.10-rc2-mm4
  2004-11-30 18:25     ` 2.6.10-rc2-mm4 Arjan van de Ven
  2004-11-30 18:32       ` 2.6.10-rc2-mm4 Andrew Morton
@ 2004-11-30 18:48       ` William Lee Irwin III
  2004-12-02  8:03         ` 2.6.10-rc2-mm4 Jes Sorensen
  1 sibling, 1 reply; 50+ messages in thread
From: William Lee Irwin III @ 2004-11-30 18:48 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Andrew Morton, linux-kernel

On Tue, 2004-11-30 at 10:21 -0800, Andrew Morton wrote:
>> For pages which have a physical address <4G.  I assume this was motivated
>> by the lack of an IOMMU on ia32e?

On Tue, Nov 30, 2004 at 07:25:10PM +0100, Arjan van de Ven wrote:
> but there's the swiommu for those... so that can't be it
> realistically....
> Is there code using the zone GFP mask yet ??

ZONE_NORMAL and ZONE_DMA are both too overloaded to handle the 4GB
boundary. And it makes a lot of sense on more machine types than x86-64
(e.g. ia64, ia32 and others with 32-bit PCI but no zone representing it).


-- wli

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

* Re: 2.6.10-rc2-mm4
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
  2004-11-30 18:06 ` 2.6.10-rc2-mm4 Arjan van de Ven
  2004-11-30 18:30 ` 2.6.10-rc2-mm4 Christoph Hellwig
@ 2004-11-30 19:18 ` Stephen Smalley
  2004-11-30 19:29   ` 2.6.10-rc2-mm4 Chris Wright
  2004-11-30 23:07 ` 2.6.10-rc2-mm4 - cifs.ko needs unknown symbol CIFSSMBSetPosixACL Eyal Lebedinsky
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 50+ messages in thread
From: Stephen Smalley @ 2004-11-30 19:18 UTC (permalink / raw)
  To: Andrew Morton; +Cc: lkml, Jeff Mahoney, James Morris, Chris Wright

On Tue, 2004-11-30 at 12:50, Andrew Morton wrote:
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
<snip>
> selinux-adds-a-private-inode-operation.patch
>   selinux: adds a private inode operation

Below is a re-base to 2.6.10-rc2-mm4 of a patch I posted earlier during
the original discussion of the above referenced patch.  This patch
removes the unnecessary code in inode_doinit_with_dentry, replaces the
unused inherits flag field (legacy from earlier code) with a private
flag field, does not set the SID in selinux_inode_mark_private (leaving
it with the unlabeled SID, which will ensure that we notice it if it
ever reaches a SELinux permission check), and modifies SELinux
permission checking functions and post_create() to test for the private
flag and skip SELinux processing in that case.  Please include if/when
the reiserfs/selinux patchset goes upstream.  I know that Chris Wright
had raised the question of whether we should be using i_flags to convey
the "private" nature of the inode rather than using a security hook, but
didn't see any resolution of that issue.

Signed-off-by:  Stephen Smalley <sds@epoch.ncsc.mil>

 security/selinux/hooks.c          |   27 ++++++++++++++++-----------
 security/selinux/include/objsec.h |    2 +-
 2 files changed, 17 insertions(+), 12 deletions(-)

diff -X /home/sds/dontdiff -rup linux-2.6.10-rc2-mm4/security/selinux/hooks.c linux-2.6.10-rc2-mm4-work/security/selinux/hooks.c
--- linux-2.6.10-rc2-mm4/security/selinux/hooks.c	2004-11-30 13:36:45.525519696 -0500
+++ linux-2.6.10-rc2-mm4-work/security/selinux/hooks.c	2004-11-30 13:52:30.550854008 -0500
@@ -737,15 +737,6 @@ static int inode_doinit_with_dentry(stru
 	if (isec->initialized)
 		goto out;
 
-	if (opt_dentry && opt_dentry->d_parent && opt_dentry->d_parent->d_inode) {
-		struct inode_security_struct *pisec = opt_dentry->d_parent->d_inode->i_security;
-		if (pisec->inherit) {
-			isec->sid = pisec->sid;
-			isec->initialized = 1;
-			goto out;
-		}
-	}
-
 	down(&isec->sem);
 	hold_sem = 1;
 	if (isec->initialized)
@@ -983,6 +974,9 @@ int inode_has_perm(struct task_struct *t
 	tsec = tsk->security;
 	isec = inode->i_security;
 
+	if (isec->private)
+		return 0;
+
 	if (!adp) {
 		adp = &ad;
 		AVC_AUDIT_DATA_INIT(&ad, FS);
@@ -1064,6 +1058,9 @@ static int may_create(struct inode *dir,
 	dsec = dir->i_security;
 	sbsec = dir->i_sb->s_security;
 
+	if (dsec->private)
+		return 0;
+
 	AVC_AUDIT_DATA_INIT(&ad, FS);
 	ad.u.fs.dentry = dentry;
 
@@ -1111,6 +1108,9 @@ static int may_link(struct inode *dir,
 	dsec = dir->i_security;
 	isec = dentry->d_inode->i_security;
 
+	if (dsec->private)
+		return 0;
+
 	AVC_AUDIT_DATA_INIT(&ad, FS);
 	ad.u.fs.dentry = dentry;
 
@@ -1157,6 +1157,9 @@ static inline int may_rename(struct inod
 	old_is_dir = S_ISDIR(old_dentry->d_inode->i_mode);
 	new_dsec = new_dir->i_security;
 
+	if (old_dsec->private)
+		return 0;
+
 	AVC_AUDIT_DATA_INIT(&ad, FS);
 
 	ad.u.fs.dentry = old_dentry;
@@ -1292,6 +1295,9 @@ static int post_create(struct inode *dir
 	dsec = dir->i_security;
 	sbsec = dir->i_sb->s_security;
 
+	if (dsec->private)
+		return 0;
+
 	inode = dentry->d_inode;
 	if (!inode) {
 		/* Some file system types (e.g. NFS) may not instantiate
@@ -2379,9 +2385,8 @@ static void selinux_inode_mark_private(s
 {
 	struct inode_security_struct *isec = inode->i_security;
 
-	isec->sid = SECINITSID_KERNEL;
+	isec->private = 1;
 	isec->initialized = 1;
-	isec->inherit = 1;
 }
 
 /* file security operations */
diff -X /home/sds/dontdiff -rup linux-2.6.10-rc2-mm4/security/selinux/include/objsec.h linux-2.6.10-rc2-mm4-work/security/selinux/include/objsec.h
--- linux-2.6.10-rc2-mm4/security/selinux/include/objsec.h	2004-11-30 13:36:45.526519544 -0500
+++ linux-2.6.10-rc2-mm4-work/security/selinux/include/objsec.h	2004-11-30 13:52:30.551853856 -0500
@@ -45,7 +45,7 @@ struct inode_security_struct {
 	u16 sclass;       /* security class of this object */
 	unsigned char initialized;     /* initialization flag */
 	struct semaphore sem;
-	unsigned char inherit;         /* inherit SID from parent entry */
+       unsigned char private;         /* private file, skip checks */
 };
 
 struct file_security_struct {


-- 
Stephen Smalley <sds@epoch.ncsc.mil>
National Security Agency


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

* Re: 2.6.10-rc2-mm4
  2004-11-30 19:18 ` 2.6.10-rc2-mm4 Stephen Smalley
@ 2004-11-30 19:29   ` Chris Wright
  2004-11-30 19:43     ` 2.6.10-rc2-mm4 Christoph Hellwig
  0 siblings, 1 reply; 50+ messages in thread
From: Chris Wright @ 2004-11-30 19:29 UTC (permalink / raw)
  To: Stephen Smalley
  Cc: Andrew Morton, lkml, Jeff Mahoney, James Morris, Chris Wright

* Stephen Smalley (sds@epoch.ncsc.mil) wrote:
> On Tue, 2004-11-30 at 12:50, Andrew Morton wrote:
> > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
> <snip>
> > selinux-adds-a-private-inode-operation.patch
> >   selinux: adds a private inode operation
> 
> Below is a re-base to 2.6.10-rc2-mm4 of a patch I posted earlier during
> the original discussion of the above referenced patch.  This patch
> removes the unnecessary code in inode_doinit_with_dentry, replaces the
> unused inherits flag field (legacy from earlier code) with a private
> flag field, does not set the SID in selinux_inode_mark_private (leaving
> it with the unlabeled SID, which will ensure that we notice it if it
> ever reaches a SELinux permission check), and modifies SELinux
> permission checking functions and post_create() to test for the private
> flag and skip SELinux processing in that case.  Please include if/when
> the reiserfs/selinux patchset goes upstream.  I know that Chris Wright
> had raised the question of whether we should be using i_flags to convey
> the "private" nature of the inode rather than using a security hook, but
> didn't see any resolution of that issue.

My concerns are that the check has to be duplicated in any module,
and that thus far we've tried to keep out fs -> module communication,
letting vfs do it.  This could at least be fs -> vfs communication,
and then either vfs or security framework could check flags and never
call into module on fs private objects.

thanks,
-chris
-- 
Linux Security Modules     http://lsm.immunix.org     http://lsm.bkbits.net

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

* Re: 2.6.10-rc2-mm4
  2004-11-30 18:32       ` 2.6.10-rc2-mm4 Andrew Morton
  2004-11-30 17:44         ` 2.6.10-rc2-mm4 Alan Cox
@ 2004-11-30 19:36         ` Arjan van de Ven
  1 sibling, 0 replies; 50+ messages in thread
From: Arjan van de Ven @ 2004-11-30 19:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Tue, 2004-11-30 at 10:32 -0800, Andrew Morton wrote:
> "This helps mainly graphic drivers who really need a lot of memory below
> the 4GB area.

oh.. it's a hook for the binary nvidia module.... 
might as well call the patch that then :)



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

* Re: 2.6.10-rc2-mm4
  2004-11-30 19:29   ` 2.6.10-rc2-mm4 Chris Wright
@ 2004-11-30 19:43     ` Christoph Hellwig
  2004-11-30 19:55       ` 2.6.10-rc2-mm4 Jeff Mahoney
  2004-12-01 23:32       ` 2.6.10-rc2-mm4 Jeffrey Mahoney
  0 siblings, 2 replies; 50+ messages in thread
From: Christoph Hellwig @ 2004-11-30 19:43 UTC (permalink / raw)
  To: Chris Wright
  Cc: Stephen Smalley, Andrew Morton, lkml, Jeff Mahoney, James Morris

On Tue, Nov 30, 2004 at 11:29:03AM -0800, Chris Wright wrote:
> My concerns are that the check has to be duplicated in any module,
> and that thus far we've tried to keep out fs -> module communication,
> letting vfs do it.  This could at least be fs -> vfs communication,
> and then either vfs or security framework could check flags and never
> call into module on fs private objects.

(1) an inode beeing private could have much more uses even outside LSM
(2) it's an awfull lot of code where having a flag is really little code
(3) there 's lots of room in the inode flags

I can't find anything that speaks for the messy current implementation


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

* Re: 2.6.10-rc2-mm4
  2004-11-30 17:44         ` 2.6.10-rc2-mm4 Alan Cox
@ 2004-11-30 19:46           ` Andrew Morton
  0 siblings, 0 replies; 50+ messages in thread
From: Andrew Morton @ 2004-11-30 19:46 UTC (permalink / raw)
  To: Alan Cox; +Cc: arjan, linux-kernel

Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>
> On Maw, 2004-11-30 at 18:32, Andrew Morton wrote:
> > "This helps mainly graphic drivers who really need a lot of memory below
> > the 4GB area.  Previous they could only use IOMMU+16MB GFP_DMA, which was
> > not enough memory."
> > 
> > >  Is there code using the zone GFP mask yet ??
> > 
> > Nope.
> 
> You mean its a private hook for a proprietary graphics driver, which
> because it is that can't use it anyway ?

I wasn't aware that this is what I meant.  I dunno what graphics drivers
Andi needs it for, and he is away for a couple of weeks.  It's an
experimental patch, in there for testing.

> That sounds dubious to me as policy has always been to avoid such hooks.

I don't know why you're assuming that it is "such a hook".  Sticking
"gfp_dma32" into google indicates that the applications are quite
different.


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

* Re: 2.6.10-rc2-mm4
  2004-11-30 19:43     ` 2.6.10-rc2-mm4 Christoph Hellwig
@ 2004-11-30 19:55       ` Jeff Mahoney
  2004-12-01 23:32       ` 2.6.10-rc2-mm4 Jeffrey Mahoney
  1 sibling, 0 replies; 50+ messages in thread
From: Jeff Mahoney @ 2004-11-30 19:55 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Chris Wright, Stephen Smalley, Andrew Morton, lkml, James Morris

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Christoph Hellwig wrote:
| On Tue, Nov 30, 2004 at 11:29:03AM -0800, Chris Wright wrote:
|
|>My concerns are that the check has to be duplicated in any module,
|>and that thus far we've tried to keep out fs -> module communication,
|>letting vfs do it.  This could at least be fs -> vfs communication,
|>and then either vfs or security framework could check flags and never
|>call into module on fs private objects.
|
|
| (1) an inode beeing private could have much more uses even outside LSM
| (2) it's an awfull lot of code where having a flag is really little code
| (3) there 's lots of room in the inode flags
|
| I can't find anything that speaks for the messy current implementation

I'd agree with this assessment. The original purpose of the private flag
was reiserfs-internal to avoid locking issues with xattrs-on-xattrs.
SELinux just happened to try to use xattrs-on-xattrs from outside the
filesystem. Without being too familiar with selinux, I used the patch
because it "just worked."

Such a VFS-level flag could provide the same functionality while
allowing me to remove the private flag from reiserfs.

- -Jeff

- --
Jeff Mahoney
SuSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBrNAjLPWxlyuTD7IRAj/lAJ4yZ0zfrDqm+LC4ue8Ph7eA9cQHcgCgpNwX
4q3nWWsm0HOsNvQO9exXvwc=
=1nSR
-----END PGP SIGNATURE-----

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

* Re: 2.6.10-rc2-mm4 - cifs.ko needs unknown symbol CIFSSMBSetPosixACL
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
                   ` (2 preceding siblings ...)
  2004-11-30 19:18 ` 2.6.10-rc2-mm4 Stephen Smalley
@ 2004-11-30 23:07 ` Eyal Lebedinsky
  2004-11-30 23:53   ` Andrew Morton
  2004-12-01  1:37 ` 2.6.10-rc2-mm4 Matthew Dobson
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 50+ messages in thread
From: Eyal Lebedinsky @ 2004-11-30 23:07 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

WARNING: /lib/modules/2.6.10-rc2-mm4/kernel/fs/cifs/cifs.ko needs unknown symbol CIFSSMBSetPosixACL

Either it is really missing or a dependecy is not declared somewhere.

I also get the following from the nvidia binary module,I should try the latest though.

WARNING: /lib/modules/2.6.10-rc2-mm4/kernel/drivers/video/nvidia.ko needs unknown symbol pgd_offset_k_is_obsolete
WARNING: /lib/modules/2.6.10-rc2-mm4/kernel/drivers/video/nvidia.ko needs unknown symbol pgd_offset_is_obsolete
WARNING: /lib/modules/2.6.10-rc2-mm4/kernel/drivers/video/nvidia.ko needs unknown symbol remap_page_range

-- 
Eyal Lebedinsky (eyal@eyal.emu.id.au) <http://samba.org/eyal/>
	If attaching .zip rename to .dat

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

* Re: 2.6.10-rc2-mm4 - cifs.ko needs unknown symbol CIFSSMBSetPosixACL
  2004-11-30 23:07 ` 2.6.10-rc2-mm4 - cifs.ko needs unknown symbol CIFSSMBSetPosixACL Eyal Lebedinsky
@ 2004-11-30 23:53   ` Andrew Morton
  0 siblings, 0 replies; 50+ messages in thread
From: Andrew Morton @ 2004-11-30 23:53 UTC (permalink / raw)
  To: Eyal Lebedinsky; +Cc: linux-kernel, Steven French

Eyal Lebedinsky <eyal@eyal.emu.id.au> wrote:
>
> WARNING: /lib/modules/2.6.10-rc2-mm4/kernel/fs/cifs/cifs.ko needs unknown symbol CIFSSMBSetPosixACL
> 
> Either it is really missing or a dependecy is not declared somewhere.

It looks like there's a slipup in bk-cifs.patch.  If you enable
CONFIG_CIFS_POSIX it'll probably link OK.


> I also get the following from the nvidia binary module,I should try the latest though.
> 
> WARNING: /lib/modules/2.6.10-rc2-mm4/kernel/drivers/video/nvidia.ko needs unknown symbol pgd_offset_k_is_obsolete
> WARNING: /lib/modules/2.6.10-rc2-mm4/kernel/drivers/video/nvidia.ko needs unknown symbol pgd_offset_is_obsolete

Looks like the nvidia wrapper will need updating if/when we merge Andi's
4-level pagetable implementation.

> WARNING: /lib/modules/2.6.10-rc2-mm4/kernel/drivers/video/nvidia.ko needs unknown symbol remap_page_range

remap_page_range() doesn't exist in -mm.  It does (and shall continue to)
exist in Linus's tree.  Reverting
for-mm-only-remove-remap_page_range-completely.patch will fix this one up.


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

* Re: 2.6.10-rc2-mm4
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
                   ` (3 preceding siblings ...)
  2004-11-30 23:07 ` 2.6.10-rc2-mm4 - cifs.ko needs unknown symbol CIFSSMBSetPosixACL Eyal Lebedinsky
@ 2004-12-01  1:37 ` Matthew Dobson
  2004-12-03  9:23   ` 2.6.10-rc2-mm4 Andi Kleen
  2004-12-01  8:43 ` 2.6.10-rc2-mm4 - cifs.ko needs unknown symbol CIFSSMBSetPosixACL Eyal Lebedinsky
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 50+ messages in thread
From: Matthew Dobson @ 2004-12-01  1:37 UTC (permalink / raw)
  To: Andrew Morton, Andi Kleen; +Cc: LKML

On Tue, 2004-11-30 at 09:50, Andrew Morton wrote:
> +x86_64-experimental-4gb-dma-zone.patch
> 
>  Add a fourth memory zone on x86_64: ZONE_DMA32

Andi,
	I think you made a small mistake in this patch.  There should be no
need to modify ZONES_SHIFT or MAX_ZONES_SHIFT for the change you wish to
make, since 4 zones (0..3) still fit into 2 bits.

Also, while building a kernel, I hit an error due to this patch: 
arch/i386/kernel/srat.c:line #142.

The function looks ok to my untrained eyes, but I'm not sure.  I'm
building a test kernel with the attached patch applied and I'll let you
know if it barfs.

-Matt


diff -Nurp --exclude-from=/home/mcd/.dontdiff linux-2.6.10-rc2-mm4/arch/i386/kernel/srat.c linux-2.6.10-rc2-mm4-MAX_NR_ZONES-fixlet/arch/i386/kernel/srat.c
--- linux-2.6.10-rc2-mm4/arch/i386/kernel/srat.c	2004-11-30 15:04:38.000000000 -0800
+++ linux-2.6.10-rc2-mm4-MAX_NR_ZONES-fixlet/arch/i386/kernel/srat.c	2004-11-30 17:23:56.000000000 -0800
@@ -139,7 +139,7 @@ static void __init parse_memory_affinity
 }
 
 #if MAX_NR_ZONES != 3
-#error "MAX_NR_ZONES != 3, chunk_to_zone requires review"
+#warning "MAX_NR_ZONES != 3, chunk_to_zone requires review"
 #endif
 /* Take a chunk of pages from page frame cstart to cend and count the number
  * of pages in each zone, returned via zones[].
diff -Nurp --exclude-from=/home/mcd/.dontdiff linux-2.6.10-rc2-mm4/include/linux/mmzone.h linux-2.6.10-rc2-mm4-MAX_NR_ZONES-fixlet/include/linux/mmzone.h
--- linux-2.6.10-rc2-mm4/include/linux/mmzone.h	2004-11-30 15:05:21.000000000 -0800
+++ linux-2.6.10-rc2-mm4-MAX_NR_ZONES-fixlet/include/linux/mmzone.h	2004-11-30 17:23:36.000000000 -0800
@@ -68,7 +68,7 @@ struct per_cpu_pageset {
 #define ZONE_HIGHMEM		3
 
 #define MAX_NR_ZONES		4	/* Sync this with ZONES_SHIFT */
-#define ZONES_SHIFT		3	/* ceil(log2(MAX_NR_ZONES)) */
+#define ZONES_SHIFT		2	/* ceil(log2(MAX_NR_ZONES)) */
 
 
 /*
@@ -101,7 +101,7 @@ struct per_cpu_pageset {
 
 /*
  * On machines where it is needed (eg PCs) we divide physical memory
- * into multiple physical zones. On a PC we have 3 zones:
+ * into multiple physical zones. On a PC we have 4 zones:
  *
  * ZONE_DMA	  < 16 MB	ISA DMA capable memory
  * ZONE_DMA32	     0 MB 	Empty
@@ -393,7 +393,7 @@ extern struct pglist_data contig_page_da
 #if BITS_PER_LONG == 32 || defined(ARCH_HAS_ATOMIC_UNSIGNED)
 /*
  * with 32 bit page->flags field, we reserve 8 bits for node/zone info.
- * there are 3 zones (2 bits) and this leaves 8-2=6 bits for nodes.
+ * there are 4 zones (2 bits) and this leaves 8-2=6 bits for nodes.
  */
 #define MAX_NODES_SHIFT		6
 #elif BITS_PER_LONG == 64
@@ -409,8 +409,8 @@ extern struct pglist_data contig_page_da
 #error NODES_SHIFT > MAX_NODES_SHIFT
 #endif
 
-/* There are currently 3 zones: DMA, Normal & Highmem, thus we need 2 bits */
-#define MAX_ZONES_SHIFT		3
+/* There are currently 4 zones: DMA, DMA32, Normal & Highmem, thus we need 2 bits */
+#define MAX_ZONES_SHIFT		2
 
 #if ZONES_SHIFT > MAX_ZONES_SHIFT
 #error ZONES_SHIFT > MAX_ZONES_SHIFT



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

* Re: 2.6.10-rc2-mm4 - cifs.ko needs unknown symbol CIFSSMBSetPosixACL
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
                   ` (4 preceding siblings ...)
  2004-12-01  1:37 ` 2.6.10-rc2-mm4 Matthew Dobson
@ 2004-12-01  8:43 ` Eyal Lebedinsky
  2004-12-01 21:10 ` 2.6.10-rc2-mm4 Adrian Bunk
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 50+ messages in thread
From: Eyal Lebedinsky @ 2004-12-01  8:43 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Forgot to say that I have:

CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_XATTR=y
# CONFIG_CIFS_POSIX is not set

-- 
Eyal Lebedinsky (eyal@eyal.emu.id.au) <http://samba.org/eyal/>
	If attaching .zip rename to .dat

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

* Re: 2.6.10-rc2-mm4
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
                   ` (5 preceding siblings ...)
  2004-12-01  8:43 ` 2.6.10-rc2-mm4 - cifs.ko needs unknown symbol CIFSSMBSetPosixACL Eyal Lebedinsky
@ 2004-12-01 21:10 ` Adrian Bunk
  2004-12-01 22:26   ` 2.6.10-rc2-mm4 Bill Davidsen
  2004-12-02  0:18   ` 2.6.10-rc2-mm4 Bjorn Helgaas
  2004-12-01 22:26 ` 2.6.10-rc2-mm4: NUMA-related oops on dual-Opteron Rafael J. Wysocki
                   ` (4 subsequent siblings)
  11 siblings, 2 replies; 50+ messages in thread
From: Adrian Bunk @ 2004-12-01 21:10 UTC (permalink / raw)
  To: Andrew Morton, Bjorn Helgaas, Linus Torvalds; +Cc: linux-kernel

>...
> All 618 patches:
>...
> add-acpi-based-floppy-controller-enumeration.patch
>   Add ACPI-based floppy controller enumeration.
>...

As far as I understood the discussion, this patch should be dropped.


cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed



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

* Re: 2.6.10-rc2-mm4: NUMA-related oops on dual-Opteron
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
                   ` (6 preceding siblings ...)
  2004-12-01 21:10 ` 2.6.10-rc2-mm4 Adrian Bunk
@ 2004-12-01 22:26 ` Rafael J. Wysocki
  2004-12-02  1:01 ` [PATCH] make gconfig work with gtk-2.4 J.A. Magallon
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 50+ messages in thread
From: Rafael J. Wysocki @ 2004-12-01 22:26 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Andi Kleen, linux-kernel

On Tuesday 30 of November 2004 18:50, Andrew Morton wrote:
> 
> 
http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
> 
> - Various fixes and cleanups
> 
> - A decent-sized x86_64 update.

It oopses for me at startup on a dual-Opteron box w/ NUMA (Tyan Thunder K8W):

CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
CPU 0(1) -> Node 0
Unable to handle kernel paging request at ffffffffd595d4ce RIP:
<ffffffff8052ae37>{numa_add_cpu+7}
PML4 103027 PGD 2070b067 PMD 0
Oops: 0000 [1] SMP
CPU 0
Modules linked in:
Pid: 0, comm: swapper Not tainted 2.6.10-rc2-mm4
RIP: 0010:[<ffffffff8052ae37>] <ffffffff8052ae37>{numa_add_cpu+7}
RSP: 0018:ffffffff8051bf68  EFLAGS: 00010206
RAX: 0000000055554f12 RBX: 0000000000000000 RCX: 0000000000000411
RDX: 0000000000000000 RSI: 0000000000000410 RDI: 0000000055554f12
RBP: 5555555555554f12 R08: 0000000000000000 R09: 0000000000000005
R10: 0000000000000000 R11: 0000000000000010 R12: ffffffff80100150
R13: 00000000ffffffff R14: 0000ffffffff8010 R15: ffffffff8051bfb0
FS:  0000000000000000(0000) GS:ffffffff80514100(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: ffffffffd595d4ce CR3: 0000000000101000 CR4: 00000000000006e0
Process swapper (pid: 0, threadinfo ffffffff8051a000, task ffffffff80401e40)
Stack: ffffffff80521b63 0000000000000881 0000000000000881 ffffffff80401e40
       ffffffff8051c74b ffffffff804c93e0 ffffffff8051c288 0000000000000000
       0000000000090000 80108e0000100150
Call Trace:<ffffffff80521b63>{ide

That's all I could get from the serial console.

The .config is available at:
http://www.sisk.pl/kernel/041201/2.6.10-rc2-mm4-AMD64-NUMA.config

Please let me know if you need more information.

Greets,
RJW

-- 
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
		-- Lewis Carroll "Alice's Adventures in Wonderland"

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

* Re: 2.6.10-rc2-mm4
  2004-12-01 21:10 ` 2.6.10-rc2-mm4 Adrian Bunk
@ 2004-12-01 22:26   ` Bill Davidsen
  2004-12-02  0:18   ` 2.6.10-rc2-mm4 Bjorn Helgaas
  1 sibling, 0 replies; 50+ messages in thread
From: Bill Davidsen @ 2004-12-01 22:26 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, Linus Torvalds, linux-kernel

Adrian Bunk wrote:
>>...
>>All 618 patches:
>>...
>>add-acpi-based-floppy-controller-enumeration.patch
>>  Add ACPI-based floppy controller enumeration.
>>...
> 
> 
> As far as I understood the discussion, this patch should be dropped.

Does this patch help or hinder operation on laptops with external 
pluggable floppies? And why wouldn't ACPI be a good thing here?

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

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

* Re: 2.6.10-rc2-mm4
  2004-11-30 19:43     ` 2.6.10-rc2-mm4 Christoph Hellwig
  2004-11-30 19:55       ` 2.6.10-rc2-mm4 Jeff Mahoney
@ 2004-12-01 23:32       ` Jeffrey Mahoney
  2004-12-02  1:01         ` 2.6.10-rc2-mm4 Chris Wright
  2004-12-02 13:15         ` 2.6.10-rc2-mm4 Stephen Smalley
  1 sibling, 2 replies; 50+ messages in thread
From: Jeffrey Mahoney @ 2004-12-01 23:32 UTC (permalink / raw)
  To: Christoph Hellwig, Chris Wright, Stephen Smalley, Andrew Morton,
	lkml, James Morris
  Cc: mason

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

On Tue, Nov 30, 2004 at 07:43:28PM +0000, Christoph Hellwig wrote:
> On Tue, Nov 30, 2004 at 11:29:03AM -0800, Chris Wright wrote:
> > My concerns are that the check has to be duplicated in any module,
> > and that thus far we've tried to keep out fs -> module communication,
> > letting vfs do it.  This could at least be fs -> vfs communication,
> > and then either vfs or security framework could check flags and never
> > call into module on fs private objects.
> 
> (1) an inode beeing private could have much more uses even outside LSM
> (2) it's an awfull lot of code where having a flag is really little code
> (3) there 's lots of room in the inode flags
> 
> I can't find anything that speaks for the messy current implementation

I took some more time to find a more optimal solution. Since ReiserFS is
currently the only filesystem that cares about this, it's far easier to keep
the whole mess internal to ReiserFS. The issue isn't about the treating of
"private" files in reiserfs, but rather just to avoid the looping of xattr
calls that selinux would create.

Here's a new patch that replaces the ones being debated.

Since I'm not that familiar with the inner workings of selinux, might someone
more familiar verify that the behavior won't break anything? I've done some
preliminary testing (creating a filesystem, creating a directory tree,
verifying that the appropriate security attributes were created)

-Jeff

-----------------------------------------------------------------------------

Since selinux will call xattr operations on any file accessed, it will attempt
to call into the xattr subsystem while accessing the xattr files. This causes
a locking loop which will lock the filesystem.

As part of the reiserfs xattr subsystem initialization process, this patch
copies the existing inode_operations structs and NULLs out the xattr
operations.

When selinux tries to access an internal file, it will see the ->{get,set}xattr
operation is NULL and assign a default SID rather than calling into the
filesystem again.

reiserfs_mark_inode_private is responsible for the assignment. This happens
as part of reiserfs_new_inode, as part of reiserfs_inherit_default_acl or
explicitly. As such the assignments of the inode_operations for various types
have been moved into reiserfs_new_inode, rather than the create,mknod,mkdir,etc
functions. The effective assignment order is unchanged.

Signed-off-by: Jeffrey Mahoney <jeffm@suse.com>

diff -ruNpX dontdiff linux-2.6.9/fs/reiserfs/inode.c linux-2.6.9.noxattr/fs/reiserfs/inode.c
--- linux-2.6.9/fs/reiserfs/inode.c	2004-11-19 14:40:53.000000000 -0500
+++ linux-2.6.9.noxattr/fs/reiserfs/inode.c	2004-12-01 17:31:51.000000000 -0500
@@ -1792,6 +1792,21 @@ int reiserfs_new_inode (struct reiserfs_
 	goto out_inserted_sd;
     }
 
+    if (S_ISREG (inode->i_mode)) {
+	inode->i_op = &reiserfs_file_inode_operations;
+	inode->i_fop = &reiserfs_file_operations;
+	inode->i_mapping->a_ops = &reiserfs_address_space_operations ;
+    } else if (S_ISDIR (inode->i_mode)) {
+	inode->i_op = &reiserfs_dir_inode_operations;
+	inode->i_fop = &reiserfs_dir_operations;
+    } else if (S_ISLNK (inode->i_mode)) {
+	inode->i_op = &reiserfs_symlink_inode_operations;
+	inode->i_mapping->a_ops = &reiserfs_address_space_operations;
+    } else {
+	inode->i_blocks = 0;
+	inode->i_op = &reiserfs_special_inode_operations;
+    }
+
     /* XXX CHECK THIS */
     if (reiserfs_posixacl (inode->i_sb)) {
         retval = reiserfs_inherit_default_acl (dir, dentry, inode);
@@ -1801,9 +1816,13 @@ int reiserfs_new_inode (struct reiserfs_
             journal_end(th, th->t_super, th->t_blocks_allocated);
             goto out_inserted_sd;
         }
-    } else if (inode->i_sb->s_flags & MS_POSIXACL) {
-	reiserfs_warning (inode->i_sb, "ACLs aren't enabled in the fs, "
-			  "but vfs thinks they are!");
+    } else {
+        if (inode->i_sb->s_flags & MS_POSIXACL) {
+	    reiserfs_warning (inode->i_sb, "ACLs aren't enabled in the fs, "
+			      "but vfs thinks they are!");
+        }
+	if (is_reiserfs_priv_object (dir))
+	    reiserfs_mark_inode_private (inode);
     }
 
     insert_inode_hash (inode);
diff -ruNpX dontdiff linux-2.6.9/fs/reiserfs/namei.c linux-2.6.9.noxattr/fs/reiserfs/namei.c
--- linux-2.6.9/fs/reiserfs/namei.c	2004-08-14 01:37:14.000000000 -0400
+++ linux-2.6.9.noxattr/fs/reiserfs/namei.c	2004-12-01 17:52:32.000000000 -0500
@@ -352,7 +352,7 @@ static struct dentry * reiserfs_lookup (
 
 	/* Propogate the priv_object flag so we know we're in the priv tree */
 	if (is_reiserfs_priv_object (dir))
-	    REISERFS_I(inode)->i_flags |= i_priv_object;
+	    reiserfs_mark_inode_private (inode);
     }
     reiserfs_write_unlock(dir->i_sb);
     if ( retval == IO_ERROR ) {
@@ -616,10 +616,6 @@ static int reiserfs_create (struct inode
         goto out_failed;
     }
 	
-    inode->i_op = &reiserfs_file_inode_operations;
-    inode->i_fop = &reiserfs_file_operations;
-    inode->i_mapping->a_ops = &reiserfs_address_space_operations ;
-
     retval = reiserfs_add_entry (&th, dir, dentry->d_name.name, dentry->d_name.len, 
 				inode, 1/*visible*/);
     if (retval) {
@@ -677,7 +673,6 @@ static int reiserfs_mknod (struct inode 
         goto out_failed;
     }
 
-    inode->i_op = &reiserfs_special_inode_operations;
     init_special_inode(inode, inode->i_mode, rdev) ;
 
     //FIXME: needed for block and char devices only
@@ -751,9 +746,6 @@ static int reiserfs_mkdir (struct inode 
     reiserfs_update_inode_transaction(inode) ;
     reiserfs_update_inode_transaction(dir) ;
 
-    inode->i_op = &reiserfs_dir_inode_operations;
-    inode->i_fop = &reiserfs_dir_operations;
-
     // note, _this_ add_entry will not update dir's stat data
     retval = reiserfs_add_entry (&th, dir, dentry->d_name.name, dentry->d_name.len, 
 				inode, 1/*visible*/);
@@ -1001,9 +993,6 @@ static int reiserfs_symlink (struct inod
     reiserfs_update_inode_transaction(inode) ;
     reiserfs_update_inode_transaction(parent_dir) ;
 
-    inode->i_op = &reiserfs_symlink_inode_operations;
-    inode->i_mapping->a_ops = &reiserfs_address_space_operations;
-
     // must be sure this inode is written with this transaction
     //
     //reiserfs_update_sd (&th, inode, READ_BLOCKS);
diff -ruNpX dontdiff linux-2.6.9/fs/reiserfs/xattr_acl.c linux-2.6.9.noxattr/fs/reiserfs/xattr_acl.c
--- linux-2.6.9/fs/reiserfs/xattr_acl.c	2004-11-19 14:40:53.000000000 -0500
+++ linux-2.6.9.noxattr/fs/reiserfs/xattr_acl.c	2004-12-01 17:03:55.000000000 -0500
@@ -337,7 +337,7 @@ reiserfs_inherit_default_acl (struct ino
      * would be useless since permissions are ignored, and a pain because
      * it introduces locking cycles */
     if (is_reiserfs_priv_object (dir)) {
-        REISERFS_I(inode)->i_flags |= i_priv_object;
+        reiserfs_mark_inode_private (inode);
         goto apply_umask;
     }
 
diff -ruNpX dontdiff linux-2.6.9/fs/reiserfs/xattr.c linux-2.6.9.noxattr/fs/reiserfs/xattr.c
--- linux-2.6.9/fs/reiserfs/xattr.c	2004-11-19 14:40:53.000000000 -0500
+++ linux-2.6.9.noxattr/fs/reiserfs/xattr.c	2004-12-01 17:11:35.000000000 -0500
@@ -181,8 +181,6 @@ open_xa_dir (const struct inode *inode, 
             dput (xadir);
             return ERR_PTR (-ENODATA);
         }
-        /* Newly created object.. Need to mark it private */
-        REISERFS_I(xadir->d_inode)->i_flags |= i_priv_object;
     }
 
     dput (xaroot);
@@ -230,8 +228,6 @@ get_xa_file_dentry (const struct inode *
             dput (xafile);
             goto out;
         }
-        /* Newly created object.. Need to mark it private */
-        REISERFS_I(xafile->d_inode)->i_flags |= i_priv_object;
     }
 
 out:
@@ -1261,6 +1257,32 @@ static struct dentry_operations xattr_lo
     .d_compare = xattr_lookup_poison,
 };
 
+struct inode_operations reiserfs_priv_file_inode_operations;
+struct inode_operations reiserfs_priv_dir_inode_operations;
+struct inode_operations reiserfs_priv_symlink_inode_operations;
+struct inode_operations reiserfs_priv_special_inode_operations;
+
+#define __init_priv_operation(op) 					\
+do {									\
+	memcpy (&reiserfs_priv_##op##_inode_operations,			\
+		&reiserfs_##op##_inode_operations,			\
+                sizeof (struct inode_operations));			\
+        reiserfs_priv_##op##_inode_operations.getxattr = NULL;		\
+        reiserfs_priv_##op##_inode_operations.setxattr = NULL;		\
+        reiserfs_priv_##op##_inode_operations.listxattr = NULL;		\
+        reiserfs_priv_##op##_inode_operations.removexattr = NULL;	\
+} while (0)
+
+static void
+init_priv_operations (void)
+{
+    __init_priv_operation(file);
+    __init_priv_operation(dir);
+
+    /* Technically these never get used, but no harm done */
+    __init_priv_operation(symlink);
+    __init_priv_operation(special);
+}
 
 /* We need to take a copy of the mount flags since things like
  * MS_RDONLY don't get set until *after* we're called.
@@ -1315,8 +1337,9 @@ reiserfs_xattr_init (struct super_block 
         err = PTR_ERR (dentry);
 
       if (!err && dentry) {
+          init_priv_operations();
           s->s_root->d_op = &xattr_lookup_poison_ops;
-          REISERFS_I(dentry->d_inode)->i_flags |= i_priv_object;
+          reiserfs_mark_inode_private (dentry->d_inode);
           REISERFS_SB(s)->priv_root = dentry;
       } else if (!(mount_flags & MS_RDONLY)) { /* xattrs are unavailable */
           /* If we're read-only it just means that the dir hasn't been
diff -ruNpX dontdiff linux-2.6.9/include/linux/reiserfs_xattr.h linux-2.6.9.noxattr/include/linux/reiserfs_xattr.h
--- linux-2.6.9/include/linux/reiserfs_xattr.h	2004-08-14 01:38:11.000000000 -0400
+++ linux-2.6.9.noxattr/include/linux/reiserfs_xattr.h	2004-12-01 16:37:06.000000000 -0500
@@ -103,9 +103,30 @@ reiserfs_read_unlock_xattr_i(struct inod
     up_read (&REISERFS_I(inode)->xattr_sem);
 }
 
+extern struct inode_operations reiserfs_priv_file_inode_operations;
+extern struct inode_operations reiserfs_priv_dir_inode_operations;
+extern struct inode_operations reiserfs_priv_symlink_inode_operations;
+extern struct inode_operations reiserfs_priv_special_inode_operations;
+
+static inline void
+reiserfs_mark_inode_private(struct inode *inode)
+{
+    if (S_ISREG (inode->i_mode))
+        inode->i_op = &reiserfs_priv_file_inode_operations;
+    else if (S_ISDIR (inode->i_mode))
+        inode->i_op = &reiserfs_priv_dir_inode_operations;
+    else if (S_ISLNK (inode->i_mode))
+        inode->i_op = &reiserfs_priv_symlink_inode_operations;
+    else
+        inode->i_op = &reiserfs_priv_special_inode_operations;
+
+    REISERFS_I(inode)->i_flags |= i_priv_object;
+}
+
 #else
 
 #define is_reiserfs_priv_object(inode) 0
+#define reiserfs_mark_inode_private(inode)
 #define reiserfs_getxattr NULL
 #define reiserfs_setxattr NULL
 #define reiserfs_listxattr NULL
-- 
Jeff Mahoney
SuSE Labs

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: 2.6.10-rc2-mm4
  2004-12-01 21:10 ` 2.6.10-rc2-mm4 Adrian Bunk
  2004-12-01 22:26   ` 2.6.10-rc2-mm4 Bill Davidsen
@ 2004-12-02  0:18   ` Bjorn Helgaas
  1 sibling, 0 replies; 50+ messages in thread
From: Bjorn Helgaas @ 2004-12-02  0:18 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, Linus Torvalds, linux-kernel, Len Brown

On Wednesday 01 December 2004 2:10 pm, Adrian Bunk wrote:
> > add-acpi-based-floppy-controller-enumeration.patch
> >   Add ACPI-based floppy controller enumeration.
> 
> As far as I understood the discussion, this patch should be dropped.

As I understand it, Len & Linus have figured out how to fiddle
with ELCR[1] in such a way that when ACPI disables a PCI link
device that happens to be on IRQ6, the ELCR polarity doesn't
get screwed up.  So the floppy driver can still blindly probe
for its device without getting an interrupt storm.

But the BIOS is still telling the OS that there's no floppy
controller, and Linux still isn't listening.  In the case of
floppy, maybe that's OK, because all arches that support floppy
seem to make it safe to do blind probing.

But in the case of i8042, IDE, and IPMI, I think we definitely
*should* do either ACPI or PNP-ACPI enumeration.  These devices
are all optional on ia64, and at least on HP hardware, the only
reason we configure the box to allow blind probing is so these
deaf drivers continue to work.

[1] http://linux.bkbits.net:8080/linux-2.5/cset%4041a2c479tEbbKs1AxXHrR-LgHzPXzA

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

* [PATCH] make gconfig work with gtk-2.4
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
                   ` (7 preceding siblings ...)
  2004-12-01 22:26 ` 2.6.10-rc2-mm4: NUMA-related oops on dual-Opteron Rafael J. Wysocki
@ 2004-12-02  1:01 ` J.A. Magallon
  2004-12-02  8:21   ` Andrew Morton
  2004-12-02 12:56   ` Roman Zippel
  2004-12-03  9:06 ` [PATCH hostap] fix Kconfig typos and missing select CRYPTO (was: 2.6.10-rc2-mm4) Joshua Kwan
                   ` (2 subsequent siblings)
  11 siblings, 2 replies; 50+ messages in thread
From: J.A. Magallon @ 2004-12-02  1:01 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Hi,

I need this to make gconfig work under gtk-2.4. Without this, it just
coredumps. There is some problem with pixmap creation/usage from XPM in
the way it is done in gconf, so I just added some stock icons. It is even prettier..;)

Could someone test this still works on gtk-2.0 or 2.2 ?


Changes:

- change the wiget class 'button' in glade files to something known to
  glade (GtkToolButton)
- use 'stock-id' property for toolbar buttons instead of "stock_pixmap"
- change unknown signal "pressed" to "clicked"
- removed unused xpms
- remove manual setting of icons in gconf.c

Here it goes:

--- linux/scripts/kconfig/gconf.glade.orig	2004-12-02 00:41:02.000000000 +0100
+++ linux/scripts/kconfig/gconf.glade	2004-12-02 01:25:09.000000000 +0100
@@ -310,13 +310,13 @@
 	      <property name="tooltips">True</property>
 
 	      <child>
-		<widget class="button" id="button1">
+		<widget class="GtkToolButton" id="button1">
 		  <property name="visible">True</property>
 		  <property name="tooltip" translatable="yes">Goes up of one level (single view)</property>
 		  <property name="label" translatable="yes">Back</property>
 		  <property name="use_underline">True</property>
-		  <property name="stock_pixmap">gtk-undo</property>
-		  <signal name="pressed" handler="on_back_pressed"/>
+		  <property name="stock-id">gtk-undo</property>
+		  <signal name="clicked" handler="on_back_pressed"/>
 		</widget>
 	      </child>
 
@@ -327,24 +327,24 @@
 	      </child>
 
 	      <child>
-		<widget class="button" id="button2">
+		<widget class="GtkToolButton" id="button2">
 		  <property name="visible">True</property>
 		  <property name="tooltip" translatable="yes">Load a config file</property>
 		  <property name="label" translatable="yes">Load</property>
 		  <property name="use_underline">True</property>
-		  <property name="stock_pixmap">gtk-open</property>
-		  <signal name="pressed" handler="on_load_pressed"/>
+		  <property name="stock-id">gtk-open</property>
+		  <signal name="clicked" handler="on_load_pressed"/>
 		</widget>
 	      </child>
 
 	      <child>
-		<widget class="button" id="button3">
+		<widget class="GtkToolButton" id="button3">
 		  <property name="visible">True</property>
 		  <property name="tooltip" translatable="yes">Save a config file</property>
 		  <property name="label" translatable="yes">Save</property>
 		  <property name="use_underline">True</property>
-		  <property name="stock_pixmap">gtk-save</property>
-		  <signal name="pressed" handler="on_save_pressed"/>
+		  <property name="stock-id">gtk-save</property>
+		  <signal name="clicked" handler="on_save_pressed"/>
 		</widget>
 	      </child>
 
@@ -355,34 +355,34 @@
 	      </child>
 
 	      <child>
-		<widget class="button" id="button4">
+		<widget class="GtkToolButton" id="button4">
 		  <property name="visible">True</property>
 		  <property name="tooltip" translatable="yes">Single view</property>
 		  <property name="label" translatable="yes">Single</property>
 		  <property name="use_underline">True</property>
-		  <property name="stock_pixmap">gtk-missing-image</property>
+		  <property name="stock-id">gtk-indent</property>
 		  <signal name="clicked" handler="on_single_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:39 GMT"/>
 		</widget>
 	      </child>
 
 	      <child>
-		<widget class="button" id="button5">
+		<widget class="GtkToolButton" id="button5">
 		  <property name="visible">True</property>
 		  <property name="tooltip" translatable="yes">Split view</property>
 		  <property name="label" translatable="yes">Split</property>
 		  <property name="use_underline">True</property>
-		  <property name="stock_pixmap">gtk-missing-image</property>
+		  <property name="stock-id">gtk-copy</property>
 		  <signal name="clicked" handler="on_split_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:45 GMT"/>
 		</widget>
 	      </child>
 
 	      <child>
-		<widget class="button" id="button6">
+		<widget class="GtkToolButton" id="button6">
 		  <property name="visible">True</property>
 		  <property name="tooltip" translatable="yes">Full view</property>
 		  <property name="label" translatable="yes">Full</property>
 		  <property name="use_underline">True</property>
-		  <property name="stock_pixmap">gtk-missing-image</property>
+		  <property name="stock-id">gtk-justify-left</property>
 		  <signal name="clicked" handler="on_full_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:50 GMT"/>
 		</widget>
 	      </child>
@@ -394,22 +394,24 @@
 	      </child>
 
 	      <child>
-		<widget class="button" id="button7">
+		<widget class="GtkToolButton" id="button7">
 		  <property name="visible">True</property>
 		  <property name="tooltip" translatable="yes">Collapse the whole tree in the right frame</property>
 		  <property name="label" translatable="yes">Collapse</property>
 		  <property name="use_underline">True</property>
-		  <signal name="pressed" handler="on_collapse_pressed"/>
+		  <property name="stock-id">gtk-zoom-out</property>
+		  <signal name="clicked" handler="on_collapse_pressed"/>
 		</widget>
 	      </child>
 
 	      <child>
-		<widget class="button" id="button8">
+		<widget class="GtkToolButton" id="button8">
 		  <property name="visible">True</property>
 		  <property name="tooltip" translatable="yes">Expand the whole tree in the right frame</property>
 		  <property name="label" translatable="yes">Expand</property>
 		  <property name="use_underline">True</property>
-		  <signal name="pressed" handler="on_expand_pressed"/>
+		  <property name="stock-id">gtk-zoom-in</property>
+		  <signal name="clicked" handler="on_expand_pressed"/>
 		</widget>
 	      </child>
 	    </widget>
--- linux/scripts/kconfig/images.c.orig	2004-06-16 07:18:55.000000000 +0200
+++ linux/scripts/kconfig/images.c	2004-12-02 01:50:47.000000000 +0100
@@ -3,260 +3,6 @@
  * Released under the terms of the GNU GPL v2.0.
  */
 
-static const char *xpm_load[] = {
-"22 22 5 1",
-". c None",
-"# c #000000",
-"c c #838100",
-"a c #ffff00",
-"b c #ffffff",
-"......................",
-"......................",
-"......................",
-"............####....#.",
-"...........#....##.##.",
-"..................###.",
-".................####.",
-".####...........#####.",
-"#abab##########.......",
-"#babababababab#.......",
-"#ababababababa#.......",
-"#babababababab#.......",
-"#ababab###############",
-"#babab##cccccccccccc##",
-"#abab##cccccccccccc##.",
-"#bab##cccccccccccc##..",
-"#ab##cccccccccccc##...",
-"#b##cccccccccccc##....",
-"###cccccccccccc##.....",
-"##cccccccccccc##......",
-"###############.......",
-"......................"};
-
-static const char *xpm_save[] = {
-"22 22 5 1",
-". c None",
-"# c #000000",
-"a c #838100",
-"b c #c5c2c5",
-"c c #cdb6d5",
-"......................",
-".####################.",
-".#aa#bbbbbbbbbbbb#bb#.",
-".#aa#bbbbbbbbbbbb#bb#.",
-".#aa#bbbbbbbbbcbb####.",
-".#aa#bbbccbbbbbbb#aa#.",
-".#aa#bbbccbbbbbbb#aa#.",
-".#aa#bbbbbbbbbbbb#aa#.",
-".#aa#bbbbbbbbbbbb#aa#.",
-".#aa#bbbbbbbbbbbb#aa#.",
-".#aa#bbbbbbbbbbbb#aa#.",
-".#aaa############aaa#.",
-".#aaaaaaaaaaaaaaaaaa#.",
-".#aaaaaaaaaaaaaaaaaa#.",
-".#aaa#############aa#.",
-".#aaa#########bbb#aa#.",
-".#aaa#########bbb#aa#.",
-".#aaa#########bbb#aa#.",
-".#aaa#########bbb#aa#.",
-".#aaa#########bbb#aa#.",
-"..##################..",
-"......................"};
-
-static const char *xpm_back[] = {
-"22 22 3 1",
-". c None",
-"# c #000083",
-"a c #838183",
-"......................",
-"......................",
-"......................",
-"......................",
-"......................",
-"...........######a....",
-"..#......##########...",
-"..##...####......##a..",
-"..###.###.........##..",
-"..######..........##..",
-"..#####...........##..",
-"..######..........##..",
-"..#######.........##..",
-"..########.......##a..",
-"...............a###...",
-"...............###....",
-"......................",
-"......................",
-"......................",
-"......................",
-"......................",
-"......................"};
-
-static const char *xpm_tree_view[] = {
-"22 22 2 1",
-". c None",
-"# c #000000",
-"......................",
-"......................",
-"......#...............",
-"......#...............",
-"......#...............",
-"......#...............",
-"......#...............",
-"......########........",
-"......#...............",
-"......#...............",
-"......#...............",
-"......#...............",
-"......#...............",
-"......########........",
-"......#...............",
-"......#...............",
-"......#...............",
-"......#...............",
-"......#...............",
-"......########........",
-"......................",
-"......................"};
-
-static const char *xpm_single_view[] = {
-"22 22 2 1",
-". c None",
-"# c #000000",
-"......................",
-"......................",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"..........#...........",
-"......................",
-"......................"};
-
-static const char *xpm_split_view[] = {
-"22 22 2 1",
-". c None",
-"# c #000000",
-"......................",
-"......................",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......#......#........",
-"......................",
-"......................"};
-
-static const char *xpm_symbol_no[] = {
-"12 12 2 1",
-"  c white",
-". c black",
-"            ",
-" .......... ",
-" .        . ",
-" .        . ",
-" .        . ",
-" .        . ",
-" .        . ",
-" .        . ",
-" .        . ",
-" .        . ",
-" .......... ",
-"            "};
-
-static const char *xpm_symbol_mod[] = {
-"12 12 2 1",
-"  c white",
-". c black",
-"            ",
-" .......... ",
-" .        . ",
-" .        . ",
-" .   ..   . ",
-" .  ....  . ",
-" .  ....  . ",
-" .   ..   . ",
-" .        . ",
-" .        . ",
-" .......... ",
-"            "};
-
-static const char *xpm_symbol_yes[] = {
-"12 12 2 1",
-"  c white",
-". c black",
-"            ",
-" .......... ",
-" .        . ",
-" .        . ",
-" .      . . ",
-" .     .. . ",
-" . .  ..  . ",
-" . ....   . ",
-" .  ..    . ",
-" .        . ",
-" .......... ",
-"            "};
-
-static const char *xpm_choice_no[] = {
-"12 12 2 1",
-"  c white",
-". c black",
-"            ",
-"    ....    ",
-"  ..    ..  ",
-"  .      .  ",
-" .        . ",
-" .        . ",
-" .        . ",
-" .        . ",
-"  .      .  ",
-"  ..    ..  ",
-"    ....    ",
-"            "};
-
-static const char *xpm_choice_yes[] = {
-"12 12 2 1",
-"  c white",
-". c black",
-"            ",
-"    ....    ",
-"  ..    ..  ",
-"  .      .  ",
-" .   ..   . ",
-" .  ....  . ",
-" .  ....  . ",
-" .   ..   . ",
-"  .      .  ",
-"  ..    ..  ",
-"    ....    ",
-"            "};
-
 static const char *xpm_menu[] = {
 "12 12 2 1",
 "  c white",
@@ -274,40 +20,6 @@
 " .......... ",
 "            "};
 
-static const char *xpm_menu_inv[] = {
-"12 12 2 1",
-"  c white",
-". c black",
-"            ",
-" .......... ",
-" .......... ",
-" ..  ...... ",
-" ..    .... ",
-" ..      .. ",
-" ..      .. ",
-" ..    .... ",
-" ..  ...... ",
-" .......... ",
-" .......... ",
-"            "};
-
-static const char *xpm_menuback[] = {
-"12 12 2 1",
-"  c white",
-". c black",
-"            ",
-" .......... ",
-" .        . ",
-" .     .. . ",
-" .   .... . ",
-" . ...... . ",
-" . ...... . ",
-" .   .... . ",
-" .     .. . ",
-" .        . ",
-" .......... ",
-"            "};
-
 static const char *xpm_void[] = {
 "12 12 2 1",
 "  c white",
--- linux/scripts/kconfig/gconf.c.orig	2004-12-02 00:55:52.000000000 +0100
+++ linux/scripts/kconfig/gconf.c	2004-12-02 01:49:27.000000000 +0100
@@ -187,8 +187,6 @@
 	GtkWidget *widget;
 	GtkTextBuffer *txtbuf;
 	char title[256];
-	GdkPixmap *pixmap;
-	GdkBitmap *mask;
 	GtkStyle *style;
 
 	xml = glade_xml_new(glade_file, "window1", NULL);
@@ -221,36 +219,6 @@
 	style = gtk_widget_get_style(main_wnd);
 	widget = glade_xml_get_widget(xml, "toolbar1");
 
-	pixmap = gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask,
-					      &style->bg[GTK_STATE_NORMAL],
-					      (gchar **) xpm_single_view);
-	gtk_image_set_from_pixmap(GTK_IMAGE
-				  (((GtkToolbarChild
-				     *) (g_list_nth(GTK_TOOLBAR(widget)->
-						    children,
-						    5)->data))->icon),
-				  pixmap, mask);
-	pixmap =
-	    gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask,
-					 &style->bg[GTK_STATE_NORMAL],
-					 (gchar **) xpm_split_view);
-	gtk_image_set_from_pixmap(GTK_IMAGE
-				  (((GtkToolbarChild
-				     *) (g_list_nth(GTK_TOOLBAR(widget)->
-						    children,
-						    6)->data))->icon),
-				  pixmap, mask);
-	pixmap =
-	    gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask,
-					 &style->bg[GTK_STATE_NORMAL],
-					 (gchar **) xpm_tree_view);
-	gtk_image_set_from_pixmap(GTK_IMAGE
-				  (((GtkToolbarChild
-				     *) (g_list_nth(GTK_TOOLBAR(widget)->
-						    children,
-						    7)->data))->icon),
-				  pixmap, mask);
-
 	switch (view_mode) {
 	case SINGLE_VIEW:
 		widget = glade_xml_get_widget(xml, "button4");



--
J.A. Magallon <jamagallon()able!es>     \               Software is like sex:
werewolf!able!es                         \         It's better when it's free
Mandrakelinux release 10.2 (Cooker) for i586
Linux 2.6.10-rc2-jam4 (gcc 3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk)) #2



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

* Re: 2.6.10-rc2-mm4
  2004-12-01 23:32       ` 2.6.10-rc2-mm4 Jeffrey Mahoney
@ 2004-12-02  1:01         ` Chris Wright
  2004-12-02  1:11           ` 2.6.10-rc2-mm4 Jeff Mahoney
  2004-12-02 13:32           ` 2.6.10-rc2-mm4 Stephen Smalley
  2004-12-02 13:15         ` 2.6.10-rc2-mm4 Stephen Smalley
  1 sibling, 2 replies; 50+ messages in thread
From: Chris Wright @ 2004-12-02  1:01 UTC (permalink / raw)
  To: Jeffrey Mahoney
  Cc: Christoph Hellwig, Chris Wright, Stephen Smalley, Andrew Morton,
	lkml, James Morris, mason

* Jeffrey Mahoney (jeffm@suse.com) wrote:
> I took some more time to find a more optimal solution. Since ReiserFS is
> currently the only filesystem that cares about this, it's far easier to keep
> the whole mess internal to ReiserFS. The issue isn't about the treating of
> "private" files in reiserfs, but rather just to avoid the looping of xattr
> calls that selinux would create.

This sounds a bit better.  BTW, which is the call chain that locks? smth like
open->permission->selinux_hook_does_getxattr->reiser_getxattr->open->permission?

<snip>
> As part of the reiserfs xattr subsystem initialization process, this patch
> copies the existing inode_operations structs and NULLs out the xattr
> operations.

This seems unecessary, just define the reiserfs_priv_foo structures
statically, like other inode ops.  As it is, looks like it will get
re-run once for each mounted superblock.

thanks,
-chris
--
Linux Security Modules     http://lsm.immunix.org     http://lsm.bkbits.net

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

* Re: 2.6.10-rc2-mm4
  2004-12-02  1:01         ` 2.6.10-rc2-mm4 Chris Wright
@ 2004-12-02  1:11           ` Jeff Mahoney
  2004-12-02 13:32           ` 2.6.10-rc2-mm4 Stephen Smalley
  1 sibling, 0 replies; 50+ messages in thread
From: Jeff Mahoney @ 2004-12-02  1:11 UTC (permalink / raw)
  To: Chris Wright
  Cc: Christoph Hellwig, Stephen Smalley, Andrew Morton, lkml,
	James Morris, mason

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chris Wright wrote:
| * Jeffrey Mahoney (jeffm@suse.com) wrote:
|
|>I took some more time to find a more optimal solution. Since ReiserFS is
|>currently the only filesystem that cares about this, it's far easier
to keep
|>the whole mess internal to ReiserFS. The issue isn't about the treating of
|>"private" files in reiserfs, but rather just to avoid the looping of xattr
|>calls that selinux would create.
|
|
| This sounds a bit better.  BTW, which is the call chain that locks?
smth like
|
open->permission->selinux_hook_does_getxattr->reiser_getxattr->open->permission?

For the most part yes. The locking stops at reiserfs_getxattr when it
tries to lock the xattr dir.

|>As part of the reiserfs xattr subsystem initialization process, this patch
|>copies the existing inode_operations structs and NULLs out the xattr
|>operations.
|
|
| This seems unecessary, just define the reiserfs_priv_foo structures
| statically, like other inode ops.  As it is, looks like it will get
| re-run once for each mounted superblock.

Yes, you're absolutely right. The copies would be better placed in
reiserfs_xattr_register_handlers, which gets run on module load. I'm
ambivalent with respect to copying them at runtime or in the source. The
advantage to copying them is that they automatically inherit any changes
made and don't need to be considered separately.

- -Jeff

- --
Jeff Mahoney
SuSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBrmusLPWxlyuTD7IRAoPjAJ0d9+QXKmcYg9rM3sCwrgRV2qx8cACeOARi
QkHEpWCCcA7DBjvadyXsD30=
=q/Rh
-----END PGP SIGNATURE-----

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

* Re: 2.6.10-rc2-mm4
  2004-11-30 18:21   ` 2.6.10-rc2-mm4 Andrew Morton
  2004-11-30 18:25     ` 2.6.10-rc2-mm4 Arjan van de Ven
@ 2004-12-02  8:01     ` Jes Sorensen
  1 sibling, 0 replies; 50+ messages in thread
From: Jes Sorensen @ 2004-12-02  8:01 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Arjan van de Ven, linux-kernel

>>>>> "Andrew" == Andrew Morton <akpm@osdl.org> writes:

Andrew> Arjan van de Ven <arjan@infradead.org> wrote:
>> 
>> On Tue, 2004-11-30 at 09:50 -0800, Andrew Morton wrote:
>> >
>> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
>> > 
>> > - Various fixes and cleanups
>> > 
>> > - A decent-sized x86_64 update.
>> > 
>> > - x86_64 supports a fourth VM zone: ZONE_DMA32.  This may affect
>> memory > reclaim, but shouldn't.
>> 
>> 
>> what is the purpose of such a zone ??

Andrew> For pages which have a physical address <4G.  I assume this
Andrew> was motivated by the lack of an IOMMU on ia32e?

If we really need such a special case, wouldn't it be about time we
introduced a mask based allocation API instead? There's hardware out
there with 31 bit and 40 bit restrictions.

Doing this solely for the sake of nvidia is certainly questionable.

Regards,
Jes

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

* Re: 2.6.10-rc2-mm4
  2004-11-30 18:48       ` 2.6.10-rc2-mm4 William Lee Irwin III
@ 2004-12-02  8:03         ` Jes Sorensen
  0 siblings, 0 replies; 50+ messages in thread
From: Jes Sorensen @ 2004-12-02  8:03 UTC (permalink / raw)
  To: William Lee Irwin III; +Cc: Arjan van de Ven, Andrew Morton, linux-kernel

>>>>> "William" == William Lee Irwin <wli@holomorphy.com> writes:

William> On Tue, 2004-11-30 at 10:21 -0800, Andrew Morton wrote:
>>> For pages which have a physical address <4G.  I assume this was
>>> motivated by the lack of an IOMMU on ia32e?

William> On Tue, Nov 30, 2004 at 07:25:10PM +0100, Arjan van de Ven
William> wrote:
>> but there's the swiommu for those... so that can't be it
>> realistically....  Is there code using the zone GFP mask yet ??

William> ZONE_NORMAL and ZONE_DMA are both too overloaded to handle
William> the 4GB boundary. And it makes a lot of sense on more machine
William> types than x86-64 (e.g. ia64, ia32 and others with 32-bit PCI
William> but no zone representing it).

Hardware that doesn't require the broken 24 bit ISA zone already uses
ZONE_DMA for all 32 bit memory - ie. ia64 does this. It works even on
the broken-beyond-repair Intel boxes without an IOMMU.

Cheers,
Jes

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

* Re: [PATCH] make gconfig work with gtk-2.4
  2004-12-02  1:01 ` [PATCH] make gconfig work with gtk-2.4 J.A. Magallon
@ 2004-12-02  8:21   ` Andrew Morton
  2004-12-02 12:56   ` Roman Zippel
  1 sibling, 0 replies; 50+ messages in thread
From: Andrew Morton @ 2004-12-02  8:21 UTC (permalink / raw)
  To: J.A. Magallon; +Cc: linux-kernel

"J.A. Magallon" <jamagallon@able.es> wrote:
>
> I need this to make gconfig work under gtk-2.4. Without this, it just
>  coredumps. There is some problem with pixmap creation/usage from XPM in
>  the way it is done in gconf, so I just added some stock icons. It is even prettier..;)
> 
>  Could someone test this still works on gtk-2.0 or 2.2 ?


Seems to work OK here with gtk-1.2 and gtk-2.0.

1.2 spews lots of:


(gconf:27745): GLib-GObject-WARNING **: gobject.c:1002:g_object_set_property(): object class `GtkCellRendererToggle' has no property named `inconsistent'

(gconf:27745): GLib-GObject-WARNING **: gobject.c:1002:g_object_set_property(): object class `GtkCellRendererToggle' has no property named `inconsistent'

(gconf:27745): GLib-GObject-WARNING **: gobject.c:1002:g_object_set_property(): object class `GtkCellRendererToggle' has no property named `inconsistent'

and 2.0 whines a bit:

(gconf:1484): libglade-WARNING **: unknown widget class 'GtkToolButton'

(gconf:1484): libglade-WARNING **: unknown widget class 'GtkToolButton'

(gconf:1484): libglade-WARNING **: unknown widget class 'GtkToolButton'

(gconf:1484): libglade-WARNING **: unknown widget class 'GtkToolButton'

(gconf:1484): libglade-WARNING **: unknown widget class 'GtkToolButton'

(gconf:1484): libglade-WARNING **: unknown widget class 'GtkToolButton'

(gconf:1484): libglade-WARNING **: unknown widget class 'GtkToolButton'

(gconf:1484): libglade-WARNING **: unknown widget class 'GtkToolButton'

(gconf:1484): GLib-GObject-WARNING **: gsignal.c:1893: signal `clicked' is invalid for instance `0x80be3f8'

(gconf:1484): GLib-GObject-WARNING **: gsignal.c:1893: signal `clicked' is invalid for instance `0x80be238'

(gconf:1484): GLib-GObject-WARNING **: gsignal.c:1893: signal `clicked' is invalid for instance `0x80be388'

(gconf:1484): GLib-GObject-WARNING **: gsignal.c:1893: signal `clicked' is invalid for instance `0x80be468'

(gconf:1484): GLib-GObject-WARNING **: gsignal.c:1893: signal `clicked' is invalid for instance `0x80be4d8'

(gconf:1484): GLib-GObject-WARNING **: gsignal.c:1893: signal `clicked' is invalid for instance `0x80be2a8'

(gconf:1484): GLib-GObject-WARNING **: gsignal.c:1893: signal `clicked' is invalid for instance `0x80be318'

(gconf:1484): GLib-GObject-WARNING **: gsignal.c:1893: signal `clicked' is invalid for instance `0x80be1c8'

(gconf:1484): GLib-GObject-WARNING **: invalid cast from `GtkLabel' to `GtkButton'

(gconf:1484): Gtk-CRITICAL **: file gtkbutton.c: line 553 (gtk_button_clicked): assertion `GTK_IS_BUTTON (button)' failed

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

* Re: [PATCH] make gconfig work with gtk-2.4
  2004-12-02  1:01 ` [PATCH] make gconfig work with gtk-2.4 J.A. Magallon
  2004-12-02  8:21   ` Andrew Morton
@ 2004-12-02 12:56   ` Roman Zippel
  2004-12-02 13:22     ` J.A. Magallon
  1 sibling, 1 reply; 50+ messages in thread
From: Roman Zippel @ 2004-12-02 12:56 UTC (permalink / raw)
  To: J.A. Magallon; +Cc: Andrew Morton, linux-kernel

Hi,

On Thu, 2 Dec 2004, J.A. Magallon wrote:

> - removed unused xpms

Did you test xconfig?

bye, Roman

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

* Re: 2.6.10-rc2-mm4
  2004-12-01 23:32       ` 2.6.10-rc2-mm4 Jeffrey Mahoney
  2004-12-02  1:01         ` 2.6.10-rc2-mm4 Chris Wright
@ 2004-12-02 13:15         ` Stephen Smalley
  2004-12-07 19:57           ` 2.6.10-rc2-mm4 Jeff Mahoney
  1 sibling, 1 reply; 50+ messages in thread
From: Stephen Smalley @ 2004-12-02 13:15 UTC (permalink / raw)
  To: Jeff Mahoney
  Cc: Christoph Hellwig, Chris Wright, Andrew Morton, lkml,
	James Morris, Chris Mason

On Wed, 2004-12-01 at 18:32, Jeffrey Mahoney wrote:
> I took some more time to find a more optimal solution. Since ReiserFS is
> currently the only filesystem that cares about this, it's far easier to keep
> the whole mess internal to ReiserFS. The issue isn't about the treating of
> "private" files in reiserfs, but rather just to avoid the looping of xattr
> calls that selinux would create.

No.  It is also about avoiding applying permission checks to these
"private" inodes when reiserfs performs operations on them, e.g. when
__get_xa_root() does a lookup_one_len(), there is ultimately a call to
permission(inode, MAY_EXEC, nd), which triggers a security hook call,
and SELinux will view this as an attempt by the current process to
access the private directory.  Simply disabling getxattr/setxattr for
the private inodes won't change this, and you can't assume that most
processes have permission to access the default file context (in fact,
in a strict policy, that won't be the case).

Chris' suggestion of exporting this private flag via i_flags and having
the VFS and/or security framework skip the security hook calls for such
inodes is more reasonable, and should yield the same behavior as that
current patchset (just without the extra security hook and the
filesystem and SELinux-specific private flags).

-- 
Stephen Smalley <sds@epoch.ncsc.mil>
National Security Agency


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

* Re: [PATCH] make gconfig work with gtk-2.4
  2004-12-02 12:56   ` Roman Zippel
@ 2004-12-02 13:22     ` J.A. Magallon
  0 siblings, 0 replies; 50+ messages in thread
From: J.A. Magallon @ 2004-12-02 13:22 UTC (permalink / raw)
  To: Roman Zippel; +Cc: Andrew Morton, linux-kernel

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


On 2004.12.02, Roman Zippel wrote:
> Hi,
> 
> On Thu, 2 Dec 2004, J.A. Magallon wrote:
> 
> > - removed unused xpms
> 
> Did you test xconfig?
> 

Err, no, i don't have qt.
A quick grep says 'forget that part of the patch'.

Sorry.

--
J.A. Magallon <jamagallon()able!es>     \               Software is like sex:
werewolf!able!es                         \         It's better when it's free
Mandrakelinux release 10.2 (Cooker) for i586
Linux 2.6.10-rc2-jam4 (gcc 3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk)) #2


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: 2.6.10-rc2-mm4
  2004-12-02  1:01         ` 2.6.10-rc2-mm4 Chris Wright
  2004-12-02  1:11           ` 2.6.10-rc2-mm4 Jeff Mahoney
@ 2004-12-02 13:32           ` Stephen Smalley
  1 sibling, 0 replies; 50+ messages in thread
From: Stephen Smalley @ 2004-12-02 13:32 UTC (permalink / raw)
  To: Chris Wright
  Cc: Jeff Mahoney, Christoph Hellwig, Andrew Morton, lkml,
	James Morris, Chris Mason

On Wed, 2004-12-01 at 20:01, Chris Wright wrote:
> This sounds a bit better.  BTW, which is the call chain that locks? smth like
> open->permission->selinux_hook_does_getxattr->reiser_getxattr->open->permission?

IIRC, the original deadlock call chain was when SELinux tried to set the
security attribute on a newly created file from the post_create hooks. 
Looked something like (SELinux) post_create -> reiser_setxattr -> ... ->
open_xa_dir -> reiserfs_mkdir -> d_instantiate ->
selinux_d_instantiate() -> inode_doinit_with_dentry() ->
reiser_getxattr.  First reported in
http://marc.theaimsgroup.com/?l=linux-kernel&m=108625196416654&w=2, but
that only addressed the deadlock issue, not the permission checking
problem.

-- 
Stephen Smalley <sds@epoch.ncsc.mil>
National Security Agency


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

* [PATCH hostap] fix Kconfig typos and missing select CRYPTO (was: 2.6.10-rc2-mm4)
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
                   ` (8 preceding siblings ...)
  2004-12-02  1:01 ` [PATCH] make gconfig work with gtk-2.4 J.A. Magallon
@ 2004-12-03  9:06 ` Joshua Kwan
  2004-12-03  9:50 ` oom goodness Re: 2.6.10-rc2-mm4 Chris Ross
  2004-12-09 11:07 ` 2.6.10-rc2-mm4 William Lee Irwin III
  11 siblings, 0 replies; 50+ messages in thread
From: Joshua Kwan @ 2004-12-03  9:06 UTC (permalink / raw)
  To: linux-kernel; +Cc: hostap, jgarzik

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

Andrew Morton wrote:
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/

   CC [M]  drivers/net/wireless/hostap/hostap_crypt_wep.o
drivers/net/wireless/hostap/hostap_crypt_wep.c:24:2: #error 
CONFIG_CRYPTO is required to build this module.
make[4]: *** [drivers/net/wireless/hostap/hostap_crypt_wep.o] Error 1
make[3]: *** [drivers/net/wireless/hostap] Error 2
make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

Here's a patchlet that fixes some Kconfig typos and adds missing select 
CRYPTO for each hostap_crypt_* option.

Signed-off-by: Joshua Kwan <joshk@triplehelix.org>

-- 
Joshua Kwan

[-- Attachment #2: hostap-kconfig.patch --]
[-- Type: text/x-patch, Size: 1124 bytes --]

--- linux-2.6.9/drivers/net/wireless/hostap/Kconfig~	2004-12-03 00:58:27.000000000 -0800
+++ linux-2.6.9/drivers/net/wireless/hostap/Kconfig	2004-12-03 00:59:01.000000000 -0800
@@ -25,29 +25,32 @@
 config HOSTAP_WEP
 	tristate "IEEE 802.11 WEP encryption"
 	depends on HOSTAP
+	select CRYPTO
 	---help---
 	Software implementation of IEEE 802.11 WEP encryption.
 
 	This can be compiled as a modules and it will be called
-	"hostap_cryp_wep.ko".
+	"hostap_crypt_wep.ko".
 
 config HOSTAP_TKIP
 	tristate "IEEE 802.11 TKIP encryption"
 	depends on HOSTAP
+	select CRYPTO
 	---help---
 	Software implementation of IEEE 802.11 TKIP encryption.
 
 	This can be compiled as a modules and it will be called
-	"hostap_cryp_tkip.ko".
+	"hostap_crypt_tkip.ko".
 
 config HOSTAP_CCMP
 	tristate "IEEE 802.11 CCMP encryption"
 	depends on HOSTAP
+	select CRYPTO
 	---help---
 	Software implementation of IEEE 802.11 CCMP encryption.
 
 	This can be compiled as a modules and it will be called
-	"hostap_cryp_ccmp.ko".
+	"hostap_crypt_ccmp.ko".
 
 config HOSTAP_FIRMWARE
 	bool "Support downloading firmware images with Host AP driver"

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

* Re: 2.6.10-rc2-mm4
  2004-12-01  1:37 ` 2.6.10-rc2-mm4 Matthew Dobson
@ 2004-12-03  9:23   ` Andi Kleen
  0 siblings, 0 replies; 50+ messages in thread
From: Andi Kleen @ 2004-12-03  9:23 UTC (permalink / raw)
  To: Matthew Dobson; +Cc: Andrew Morton, Andi Kleen, LKML

On Tue, Nov 30, 2004 at 05:37:53PM -0800, Matthew Dobson wrote:
> On Tue, 2004-11-30 at 09:50, Andrew Morton wrote:
> > +x86_64-experimental-4gb-dma-zone.patch
> > 
> >  Add a fourth memory zone on x86_64: ZONE_DMA32
> 
> Andi,
> 	I think you made a small mistake in this patch.  There should be no
> need to modify ZONES_SHIFT or MAX_ZONES_SHIFT for the change you wish to
> make, since 4 zones (0..3) still fit into 2 bits.

Right yes. Thanks.

-Andi

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

* oom goodness Re: 2.6.10-rc2-mm4
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
                   ` (9 preceding siblings ...)
  2004-12-03  9:06 ` [PATCH hostap] fix Kconfig typos and missing select CRYPTO (was: 2.6.10-rc2-mm4) Joshua Kwan
@ 2004-12-03  9:50 ` Chris Ross
  2004-12-03 16:07   ` Randy.Dunlap
  2004-12-03 22:16   ` Thomas Gleixner
  2004-12-09 11:07 ` 2.6.10-rc2-mm4 William Lee Irwin III
  11 siblings, 2 replies; 50+ messages in thread
From: Chris Ross @ 2004-12-03  9:50 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel


Andrew Morton escreveu:
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/

I hope I'm not tempting providence by reporting that this is the first 
unpatched kernel in a while that seems free of the oom killer problems 
I've been seeing. It's successfully handled all the usual trouble spots 
(compiling umlsim, cron.daily etc.) on my 64MB machine without killing 
off a single random process.

Regards,
Chris R.

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

* Re: oom goodness Re: 2.6.10-rc2-mm4
  2004-12-03  9:50 ` oom goodness Re: 2.6.10-rc2-mm4 Chris Ross
@ 2004-12-03 16:07   ` Randy.Dunlap
  2004-12-03 22:16   ` Thomas Gleixner
  1 sibling, 0 replies; 50+ messages in thread
From: Randy.Dunlap @ 2004-12-03 16:07 UTC (permalink / raw)
  To: Chris Ross; +Cc: Andrew Morton, linux-kernel

Chris Ross wrote:
> 
> Andrew Morton escreveu:
> 
>> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/ 
>>
> 
> 
> I hope I'm not tempting providence by reporting that this is the first 
> unpatched kernel in a while that seems free of the oom killer problems 
> I've been seeing. It's successfully handled all the usual trouble spots 
> (compiling umlsim, cron.daily etc.) on my 64MB machine without killing 
> off a single random process.

for some definition of "unpatched"... :)

-- 
~Randy

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

* Re: oom goodness Re: 2.6.10-rc2-mm4
  2004-12-03  9:50 ` oom goodness Re: 2.6.10-rc2-mm4 Chris Ross
  2004-12-03 16:07   ` Randy.Dunlap
@ 2004-12-03 22:16   ` Thomas Gleixner
  1 sibling, 0 replies; 50+ messages in thread
From: Thomas Gleixner @ 2004-12-03 22:16 UTC (permalink / raw)
  To: Chris Ross; +Cc: Andrew Morton, LKML

On Fri, 2004-12-03 at 10:50 +0100, Chris Ross wrote:
> Andrew Morton escreveu:
> > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
> 
> I hope I'm not tempting providence by reporting that this is the first 
> unpatched kernel in a while that seems free of the oom killer problems 
> I've been seeing. It's successfully handled all the usual trouble spots 
> (compiling umlsim, cron.daily etc.) on my 64MB machine without killing 
> off a single random process.

I can still see the problems I described detailed a couple of times :(

tglx



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

* Re: 2.6.10-rc2-mm4
  2004-12-02 13:15         ` 2.6.10-rc2-mm4 Stephen Smalley
@ 2004-12-07 19:57           ` Jeff Mahoney
  2004-12-07 20:28             ` 2.6.10-rc2-mm4 Stephen Smalley
  0 siblings, 1 reply; 50+ messages in thread
From: Jeff Mahoney @ 2004-12-07 19:57 UTC (permalink / raw)
  To: Stephen Smalley
  Cc: Christoph Hellwig, Chris Wright, Andrew Morton, lkml,
	James Morris, Chris Mason

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stephen Smalley wrote:
| On Wed, 2004-12-01 at 18:32, Jeffrey Mahoney wrote:
|
|>I took some more time to find a more optimal solution. Since ReiserFS is
|>currently the only filesystem that cares about this, it's far easier
to keep
|>the whole mess internal to ReiserFS. The issue isn't about the treating of
|>"private" files in reiserfs, but rather just to avoid the looping of xattr
|>calls that selinux would create.
|
|
| No.  It is also about avoiding applying permission checks to these
| "private" inodes when reiserfs performs operations on them, e.g. when
| __get_xa_root() does a lookup_one_len(), there is ultimately a call to
| permission(inode, MAY_EXEC, nd), which triggers a security hook call,
| and SELinux will view this as an attempt by the current process to
| access the private directory.  Simply disabling getxattr/setxattr for
| the private inodes won't change this, and you can't assume that most
| processes have permission to access the default file context (in fact,
| in a strict policy, that won't be the case).
|
| Chris' suggestion of exporting this private flag via i_flags and having
| the VFS and/or security framework skip the security hook calls for such
| inodes is more reasonable, and should yield the same behavior as that
| current patchset (just without the extra security hook and the
| filesystem and SELinux-specific private flags).


Ok, well I have a test version of this up and running. It's ugly, but I
don't think any solution to this problem will be pretty. It just hooks
into include/linux/security.h so that all the individual callers don't
need to be special cased.

However, selinux itself accesses inode lists internally that circumvent
this. I believe I caught the major case that causes this, but I'd prefer
someone with more intimate knowledge of selinux verify.

Attached are four patches:
01-vfs-private-flag.diff
~  - adds the S_PRIVATE flag and adds use to security
02-vfs-private-selinux.diff
~  -internal inode loop needs IS_PRIVATE test
03-reiserfs-priv-abstract.diff
~  - private inode abstracted to static inline
04-vfs-private-reiserfs.diff
~  - change reiserfs to use S_PRIVATE

- -Jeff

- --
Jeff Mahoney
SuSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBtgsPLPWxlyuTD7IRAm3PAJ9K5lOebus6pY/nkpVQabv9AlXOKwCbBXZw
P94N38RrkdOGuWs19Erbj7I=
=VpuN
-----END PGP SIGNATURE-----

[-- Attachment #2: 02-vfs-private-selinux.diff --]
[-- Type: text/x-patch, Size: 749 bytes --]

From: Jeff Mahoney <jeffm@suse.com>
Subject: [PATCH 2/4] selinux: internal inode loop needs IS_PRIVATE test

This patch applies the IS_PRIVATE test to the selinux internal inode loop.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>

diff -ruNpX dontdiff linux-2.6.9.base/security/selinux/hooks.c linux-2.6.9.private/security/selinux/hooks.c
--- linux-2.6.9.base/security/selinux/hooks.c	2004-11-19 14:40:58.000000000 -0500
+++ linux-2.6.9.private/security/selinux/hooks.c	2004-12-01 14:38:50.000000000 -0500
@@ -595,7 +595,8 @@ next_inode:
 		spin_unlock(&sbsec->isec_lock);
 		inode = igrab(inode);
 		if (inode) {
-			inode_doinit(inode);
+			if (!IS_PRIVATE (inode))
+				inode_doinit(inode);
 			iput(inode);
 		}
 		spin_lock(&sbsec->isec_lock);

[-- Attachment #3: 01-vfs-private-flag.diff --]
[-- Type: text/x-patch, Size: 9102 bytes --]

From: Jeff Mahoney <jeffm@suse.com>
Subject: [PATCH 1/4] vfs: adds the S_PRIVATE flag and adds use to security

This patch adds an S_PRIVATE flag to inode->i_flags to mark an inode as
filesystem-internal. As such, it should be excepted from the security
infrastructure to allow the filesystem to perform its own access control.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>

diff -ruNpX dontdiff linux-2.6.9.base/include/linux/fs.h linux-2.6.9.private/include/linux/fs.h
--- linux-2.6.9.base/include/linux/fs.h	2004-11-19 14:40:56.000000000 -0500
+++ linux-2.6.9.private/include/linux/fs.h	2004-11-30 15:04:24.000000000 -0500
@@ -146,6 +146,7 @@ extern int leases_enable, dir_notify_ena
 #define S_DIRSYNC	64	/* Directory modifications are synchronous */
 #define S_NOCMTIME	128	/* Do not update file c/mtime */
 #define S_SWAPFILE	256	/* Do not truncate: swapon got its bmaps */
+#define S_PRIVATE	512	/* Inode is fs-internal */
 
 /*
  * Note that nosuid etc flags are inode-specific: setting some file-system
@@ -180,6 +181,7 @@ extern int leases_enable, dir_notify_ena
 #define IS_DEADDIR(inode)	((inode)->i_flags & S_DEAD)
 #define IS_NOCMTIME(inode)	((inode)->i_flags & S_NOCMTIME)
 #define IS_SWAPFILE(inode)	((inode)->i_flags & S_SWAPFILE)
+#define IS_PRIVATE(inode)	((inode)->i_flags & S_PRIVATE)
 
 /* the read-only stuff doesn't really belong here, but any other place is
    probably as bad and I don't want to create yet another include file. */
diff -ruNpX dontdiff linux-2.6.9.base/include/linux/security.h linux-2.6.9.private/include/linux/security.h
--- linux-2.6.9.base/include/linux/security.h	2004-08-14 01:37:30.000000000 -0400
+++ linux-2.6.9.private/include/linux/security.h	2004-12-01 14:14:07.000000000 -0500
@@ -1406,11 +1406,15 @@ static inline void security_sb_post_pivo
 
 static inline int security_inode_alloc (struct inode *inode)
 {
+	if (unlikely (IS_PRIVATE (inode)))
+		return 0;
 	return security_ops->inode_alloc_security (inode);
 }
 
 static inline void security_inode_free (struct inode *inode)
 {
+	if (unlikely (IS_PRIVATE (inode)))
+		return;
 	security_ops->inode_free_security (inode);
 }
 	
@@ -1418,6 +1422,8 @@ static inline int security_inode_create 
 					 struct dentry *dentry,
 					 int mode)
 {
+	if (unlikely (IS_PRIVATE (dir)))
+		return 0;
 	return security_ops->inode_create (dir, dentry, mode);
 }
 
@@ -1425,6 +1431,8 @@ static inline void security_inode_post_c
 					       struct dentry *dentry,
 					       int mode)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return;
 	security_ops->inode_post_create (dir, dentry, mode);
 }
 
@@ -1432,6 +1440,8 @@ static inline int security_inode_link (s
 				       struct inode *dir,
 				       struct dentry *new_dentry)
 {
+	if (unlikely (IS_PRIVATE (old_dentry->d_inode)))
+		return 0;
 	return security_ops->inode_link (old_dentry, dir, new_dentry);
 }
 
@@ -1439,12 +1449,16 @@ static inline void security_inode_post_l
 					     struct inode *dir,
 					     struct dentry *new_dentry)
 {
+	if (unlikely (IS_PRIVATE (new_dentry->d_inode)))
+		return;
 	security_ops->inode_post_link (old_dentry, dir, new_dentry);
 }
 
 static inline int security_inode_unlink (struct inode *dir,
 					 struct dentry *dentry)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_unlink (dir, dentry);
 }
 
@@ -1452,6 +1466,8 @@ static inline int security_inode_symlink
 					  struct dentry *dentry,
 					  const char *old_name)
 {
+	if (unlikely (IS_PRIVATE (dir)))
+		return 0;
 	return security_ops->inode_symlink (dir, dentry, old_name);
 }
 
@@ -1459,6 +1475,8 @@ static inline void security_inode_post_s
 						struct dentry *dentry,
 						const char *old_name)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return;
 	security_ops->inode_post_symlink (dir, dentry, old_name);
 }
 
@@ -1466,6 +1484,8 @@ static inline int security_inode_mkdir (
 					struct dentry *dentry,
 					int mode)
 {
+	if (unlikely (IS_PRIVATE (dir)))
+		return 0;
 	return security_ops->inode_mkdir (dir, dentry, mode);
 }
 
@@ -1473,12 +1493,16 @@ static inline void security_inode_post_m
 					      struct dentry *dentry,
 					      int mode)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return;
 	security_ops->inode_post_mkdir (dir, dentry, mode);
 }
 
 static inline int security_inode_rmdir (struct inode *dir,
 					struct dentry *dentry)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_rmdir (dir, dentry);
 }
 
@@ -1486,6 +1510,8 @@ static inline int security_inode_mknod (
 					struct dentry *dentry,
 					int mode, dev_t dev)
 {
+	if (unlikely (IS_PRIVATE (dir)))
+		return 0;
 	return security_ops->inode_mknod (dir, dentry, mode, dev);
 }
 
@@ -1493,6 +1519,8 @@ static inline void security_inode_post_m
 					      struct dentry *dentry,
 					      int mode, dev_t dev)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return;
 	security_ops->inode_post_mknod (dir, dentry, mode, dev);
 }
 
@@ -1501,6 +1529,9 @@ static inline int security_inode_rename 
 					 struct inode *new_dir,
 					 struct dentry *new_dentry)
 {
+        if (unlikely (IS_PRIVATE (old_dentry->d_inode) ||
+            (new_dentry->d_inode && IS_PRIVATE (new_dentry->d_inode))))
+		return 0;
 	return security_ops->inode_rename (old_dir, old_dentry,
 					   new_dir, new_dentry);
 }
@@ -1510,83 +1541,114 @@ static inline void security_inode_post_r
 					       struct inode *new_dir,
 					       struct dentry *new_dentry)
 {
+        if (unlikely (IS_PRIVATE (old_dentry->d_inode) ||
+            (new_dentry->d_inode && IS_PRIVATE (new_dentry->d_inode))))
+		return;
 	security_ops->inode_post_rename (old_dir, old_dentry,
 						new_dir, new_dentry);
 }
 
 static inline int security_inode_readlink (struct dentry *dentry)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_readlink (dentry);
 }
 
 static inline int security_inode_follow_link (struct dentry *dentry,
 					      struct nameidata *nd)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_follow_link (dentry, nd);
 }
 
 static inline int security_inode_permission (struct inode *inode, int mask,
 					     struct nameidata *nd)
 {
+	if (unlikely (IS_PRIVATE (inode)))
+		return 0;
 	return security_ops->inode_permission (inode, mask, nd);
 }
 
 static inline int security_inode_setattr (struct dentry *dentry,
 					  struct iattr *attr)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_setattr (dentry, attr);
 }
 
 static inline int security_inode_getattr (struct vfsmount *mnt,
 					  struct dentry *dentry)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_getattr (mnt, dentry);
 }
 
 static inline void security_inode_delete (struct inode *inode)
 {
+	if (unlikely (IS_PRIVATE (inode)))
+		return;
 	security_ops->inode_delete (inode);
 }
 
 static inline int security_inode_setxattr (struct dentry *dentry, char *name,
 					   void *value, size_t size, int flags)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_setxattr (dentry, name, value, size, flags);
 }
 
 static inline void security_inode_post_setxattr (struct dentry *dentry, char *name,
 						void *value, size_t size, int flags)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return;
 	security_ops->inode_post_setxattr (dentry, name, value, size, flags);
 }
 
 static inline int security_inode_getxattr (struct dentry *dentry, char *name)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_getxattr (dentry, name);
 }
 
 static inline int security_inode_listxattr (struct dentry *dentry)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_listxattr (dentry);
 }
 
 static inline int security_inode_removexattr (struct dentry *dentry, char *name)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_removexattr (dentry, name);
 }
 
 static inline int security_inode_getsecurity(struct dentry *dentry, const char *name, void *buffer, size_t size)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_getsecurity(dentry, name, buffer, size);
 }
 
 static inline int security_inode_setsecurity(struct dentry *dentry, const char *name, const void *value, size_t size, int flags) 
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_setsecurity(dentry, name, value, size, flags);
 }
 
 static inline int security_inode_listsecurity(struct dentry *dentry, char *buffer)
 {
+	if (unlikely (IS_PRIVATE (dentry->d_inode)))
+		return 0;
 	return security_ops->inode_listsecurity(dentry, buffer);
 }
 
@@ -1863,6 +1925,8 @@ static inline int security_sem_semop (st
 
 static inline void security_d_instantiate (struct dentry *dentry, struct inode *inode)
 {
+	if (unlikely (inode && IS_PRIVATE (inode)))
+		return;
 	security_ops->d_instantiate (dentry, inode);
 }
 

[-- Attachment #4: 03-reiserfs-priv-abstract.diff --]
[-- Type: text/x-patch, Size: 3903 bytes --]

From: Jeff Mahoney <jeffm@suse.com>
Subject: [PATCH 3/4] reiserfs: private inode abstracted to static inline

This patch moves the assignment of i_priv_object to a static inline. This
is in preparation for selinux support in reiserfs.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>

diff -ruNpX dontdiff linux-2.6.9/fs/reiserfs/inode.c linux-2.6.9.base/fs/reiserfs/inode.c
--- linux-2.6.9/fs/reiserfs/inode.c	2004-11-19 14:40:53.000000000 -0500
+++ linux-2.6.9.base/fs/reiserfs/inode.c	2004-11-30 16:03:42.000000000 -0500
@@ -1804,6 +1804,8 @@ int reiserfs_new_inode (struct reiserfs_
     } else if (inode->i_sb->s_flags & MS_POSIXACL) {
 	reiserfs_warning (inode->i_sb, "ACLs aren't enabled in the fs, "
 			  "but vfs thinks they are!");
+    } else if (is_reiserfs_priv_object (dir)) {
+	reiserfs_mark_inode_private (inode);
     }
 
     insert_inode_hash (inode);
diff -ruNpX dontdiff linux-2.6.9/fs/reiserfs/namei.c linux-2.6.9.base/fs/reiserfs/namei.c
--- linux-2.6.9/fs/reiserfs/namei.c	2004-08-14 01:37:14.000000000 -0400
+++ linux-2.6.9.base/fs/reiserfs/namei.c	2004-11-30 16:03:42.000000000 -0500
@@ -352,7 +352,7 @@ static struct dentry * reiserfs_lookup (
 
 	/* Propogate the priv_object flag so we know we're in the priv tree */
 	if (is_reiserfs_priv_object (dir))
-	    REISERFS_I(inode)->i_flags |= i_priv_object;
+	    reiserfs_mark_inode_private (inode);
     }
     reiserfs_write_unlock(dir->i_sb);
     if ( retval == IO_ERROR ) {
diff -ruNpX dontdiff linux-2.6.9/fs/reiserfs/xattr_acl.c linux-2.6.9.base/fs/reiserfs/xattr_acl.c
--- linux-2.6.9/fs/reiserfs/xattr_acl.c	2004-11-19 14:40:53.000000000 -0500
+++ linux-2.6.9.base/fs/reiserfs/xattr_acl.c	2004-11-30 16:03:42.000000000 -0500
@@ -337,7 +337,7 @@ reiserfs_inherit_default_acl (struct ino
      * would be useless since permissions are ignored, and a pain because
      * it introduces locking cycles */
     if (is_reiserfs_priv_object (dir)) {
-        REISERFS_I(inode)->i_flags |= i_priv_object;
+        reiserfs_mark_inode_private (inode);
         goto apply_umask;
     }
 
diff -ruNpX dontdiff linux-2.6.9/fs/reiserfs/xattr.c linux-2.6.9.base/fs/reiserfs/xattr.c
--- linux-2.6.9/fs/reiserfs/xattr.c	2004-11-19 14:40:53.000000000 -0500
+++ linux-2.6.9.base/fs/reiserfs/xattr.c	2004-12-07 13:54:17.336459088 -0500
@@ -181,8 +181,6 @@ open_xa_dir (const struct inode *inode, 
             dput (xadir);
             return ERR_PTR (-ENODATA);
         }
-        /* Newly created object.. Need to mark it private */
-        REISERFS_I(xadir->d_inode)->i_flags |= i_priv_object;
     }
 
     dput (xaroot);
@@ -230,8 +228,6 @@ get_xa_file_dentry (const struct inode *
             dput (xafile);
             goto out;
         }
-        /* Newly created object.. Need to mark it private */
-        REISERFS_I(xafile->d_inode)->i_flags |= i_priv_object;
     }
 
 out:
@@ -1316,7 +1312,7 @@ reiserfs_xattr_init (struct super_block 
 
       if (!err && dentry) {
           s->s_root->d_op = &xattr_lookup_poison_ops;
-          REISERFS_I(dentry->d_inode)->i_flags |= i_priv_object;
+          reiserfs_mark_inode_private (dentry->d_inode);
           REISERFS_SB(s)->priv_root = dentry;
       } else if (!(mount_flags & MS_RDONLY)) { /* xattrs are unavailable */
           /* If we're read-only it just means that the dir hasn't been
diff -ruNpX dontdiff linux-2.6.9/include/linux/reiserfs_xattr.h linux-2.6.9.base/include/linux/reiserfs_xattr.h
--- linux-2.6.9/include/linux/reiserfs_xattr.h	2004-08-14 01:38:11.000000000 -0400
+++ linux-2.6.9.base/include/linux/reiserfs_xattr.h	2004-11-30 16:03:42.000000000 -0500
@@ -103,6 +103,12 @@ reiserfs_read_unlock_xattr_i(struct inod
     up_read (&REISERFS_I(inode)->xattr_sem);
 }
 
+static inline void
+reiserfs_mark_inode_private(struct inode *inode)
+{
+    REISERFS_I(inode)->i_flags |= i_priv_object;
+}
+
 #else
 
 #define is_reiserfs_priv_object(inode) 0

[-- Attachment #5: 04-vfs-private-reiserfs.diff --]
[-- Type: text/x-patch, Size: 1928 bytes --]

From: Jeff Mahoney <jeffm@suse.com>
Subject: [PATCH 4/4] reiserfs: change reiserfs to use S_PRIVATE

This patch changes reiserfs to use the VFS level private inode flags, and
eliminates the old reiserfs private inode flag.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>

diff -ruNpX dontdiff linux-2.6.9.base/include/linux/reiserfs_xattr.h linux-2.6.9.private/include/linux/reiserfs_xattr.h
--- linux-2.6.9.base/include/linux/reiserfs_xattr.h	2004-11-30 16:03:42.000000000 -0500
+++ linux-2.6.9.private/include/linux/reiserfs_xattr.h	2004-12-07 14:23:43.266996840 -0500
@@ -31,7 +31,7 @@ struct reiserfs_xattr_handler {
 
 
 #ifdef CONFIG_REISERFS_FS_XATTR
-#define is_reiserfs_priv_object(inode) (REISERFS_I(inode)->i_flags & i_priv_object)
+#define is_reiserfs_priv_object(inode) IS_PRIVATE(inode)
 #define has_xattr_dir(inode) (REISERFS_I(inode)->i_flags & i_has_xattr_dir)
 ssize_t reiserfs_getxattr (struct dentry *dentry, const char *name,
 			   void *buffer, size_t size);
@@ -106,7 +106,7 @@ reiserfs_read_unlock_xattr_i(struct inod
 static inline void
 reiserfs_mark_inode_private(struct inode *inode)
 {
-    REISERFS_I(inode)->i_flags |= i_priv_object;
+    inode->i_flags |= S_PRIVATE;
 }
 
 #else

diff -ruNpX dontdiff linux-2.6.9.base/include/linux/reiserfs_fs_i.h linux-2.6.9.private/include/linux/reiserfs_fs_i.h
--- linux-2.6.9.base/include/linux/reiserfs_fs_i.h	2004-11-19 14:40:57.000000000 -0500
+++ linux-2.6.9.private/include/linux/reiserfs_fs_i.h	2004-12-07 14:25:40.259211320 -0500
@@ -23,9 +23,8 @@ typedef enum {
       space on crash with some files open, but unlinked. */
     i_link_saved_unlink_mask   =  0x0010,
     i_link_saved_truncate_mask =  0x0020,
-    i_priv_object              =  0x0080,
-    i_has_xattr_dir            =  0x0100,
-    i_data_log	               =  0x0200,
+    i_has_xattr_dir            =  0x0040,
+    i_data_log	               =  0x0080,
 } reiserfs_inode_flags;
 
 

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

* Re: 2.6.10-rc2-mm4
  2004-12-07 19:57           ` 2.6.10-rc2-mm4 Jeff Mahoney
@ 2004-12-07 20:28             ` Stephen Smalley
  2004-12-07 22:46               ` 2.6.10-rc2-mm4 Jeff Mahoney
  0 siblings, 1 reply; 50+ messages in thread
From: Stephen Smalley @ 2004-12-07 20:28 UTC (permalink / raw)
  To: Jeff Mahoney
  Cc: Christoph Hellwig, Chris Wright, Andrew Morton, lkml,
	James Morris, Chris Mason

On Tue, 2004-12-07 at 14:57, Jeff Mahoney wrote:
> However, selinux itself accesses inode lists internally that circumvent
> this. I believe I caught the major case that causes this, but I'd prefer
> someone with more intimate knowledge of selinux verify.

inodes are only added to the list (prior to superblock security
initialization, e.g. before initial policy load or during get_sb) by
inode_doinit_with_dentry, which in turn is called from
selinux_d_instantiate.  So if you've marked the inode private prior to
the d_instantiate call on it, and changed security_d_instantiate to not
call the security module for private inodes, how would a private inode
ever get into that list?

-- 
Stephen Smalley <sds@epoch.ncsc.mil>
National Security Agency


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

* Re: 2.6.10-rc2-mm4
  2004-12-07 20:28             ` 2.6.10-rc2-mm4 Stephen Smalley
@ 2004-12-07 22:46               ` Jeff Mahoney
  2004-12-08 13:28                 ` 2.6.10-rc2-mm4 Stephen Smalley
  0 siblings, 1 reply; 50+ messages in thread
From: Jeff Mahoney @ 2004-12-07 22:46 UTC (permalink / raw)
  To: Stephen Smalley
  Cc: Christoph Hellwig, Chris Wright, Andrew Morton, lkml,
	James Morris, Chris Mason

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stephen Smalley wrote:
| On Tue, 2004-12-07 at 14:57, Jeff Mahoney wrote:
|
|>However, selinux itself accesses inode lists internally that circumvent
|>this. I believe I caught the major case that causes this, but I'd prefer
|>someone with more intimate knowledge of selinux verify.
|
|
| inodes are only added to the list (prior to superblock security
| initialization, e.g. before initial policy load or during get_sb) by
| inode_doinit_with_dentry, which in turn is called from
| selinux_d_instantiate.  So if you've marked the inode private prior to
| the d_instantiate call on it, and changed security_d_instantiate to not
| call the security module for private inodes, how would a private inode
| ever get into that list?

In general, this is true. However, there's a case where it's not. During
the initial filesystem mount, the .reiserfs_priv directory is created by
reiserfs_xattr_init(). This directory becomes the root of the private
inode tree, but there is no way to mark it as private until after mkdir
returns. After it returns, d_instantiate has already been called.

Therefore, on the first read-write mount, the inode associated with
.reiserfs_priv will always be on that list. There are a few methods that
could be added to set the inode private before the d_instantiate, but
they're all pretty gross. Basically, of all the potential solutions,
checking IS_PRIVATE in that loop is the simplest.

- -Jeff

- --
Jeff Mahoney
SuSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBtjLdLPWxlyuTD7IRAp+MAJ9bJy32bIcE/uVVdo+T0bNYIWJoLgCfQNyh
pKnLBMAwi3yIeQE2JXlHIKA=
=0Yc7
-----END PGP SIGNATURE-----

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

* Re: 2.6.10-rc2-mm4
  2004-12-07 22:46               ` 2.6.10-rc2-mm4 Jeff Mahoney
@ 2004-12-08 13:28                 ` Stephen Smalley
  0 siblings, 0 replies; 50+ messages in thread
From: Stephen Smalley @ 2004-12-08 13:28 UTC (permalink / raw)
  To: Jeff Mahoney
  Cc: Christoph Hellwig, Chris Wright, Andrew Morton, lkml,
	James Morris, Chris Mason

On Tue, 2004-12-07 at 17:46, Jeff Mahoney wrote:
> In general, this is true. However, there's a case where it's not. During
> the initial filesystem mount, the .reiserfs_priv directory is created by
> reiserfs_xattr_init(). This directory becomes the root of the private
> inode tree, but there is no way to mark it as private until after mkdir
> returns. After it returns, d_instantiate has already been called.
> 
> Therefore, on the first read-write mount, the inode associated with
> .reiserfs_priv will always be on that list. There are a few methods that
> could be added to set the inode private before the d_instantiate, but
> they're all pretty gross. Basically, of all the potential solutions,
> checking IS_PRIVATE in that loop is the simplest.

Ok, thanks for clarifying.  No objection to the patch.

-- 
Stephen Smalley <sds@epoch.ncsc.mil>
National Security Agency


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

* Re: 2.6.10-rc2-mm4
  2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
                   ` (10 preceding siblings ...)
  2004-12-03  9:50 ` oom goodness Re: 2.6.10-rc2-mm4 Chris Ross
@ 2004-12-09 11:07 ` William Lee Irwin III
  11 siblings, 0 replies; 50+ messages in thread
From: William Lee Irwin III @ 2004-12-09 11:07 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, jbarnes

On Tue, Nov 30, 2004 at 09:50:45AM -0800, Andrew Morton wrote:
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
> - Various fixes and cleanups
> - A decent-sized x86_64 update.
> - x86_64 supports a fourth VM zone: ZONE_DMA32.  This may affect memory
>   reclaim, but shouldn't.
> +sys_stime-needs-a-compat-function.patch
> +sys_stime-needs-a-compat-function-fix.patch
> +sys_stime-needs-a-compat-function-fix-fix.patch
>  Add compat wrapper for sys_stime().  Clean up (and break) several other
>  things.

One of which is apparently ia64. The following adds the necessary define
for ia64 to actually use the compat sys_time() function.

and I seem to need a new SAL version again...
SGI SAL version 3.40
This kernel needs SGI SAL version >= 4.00
Kernel panic - not syncing: PROM version too old


-- wli

Index: mm4-2.6.10-rc2/include/asm-ia64/unistd.h
===================================================================
--- mm4-2.6.10-rc2.orig/include/asm-ia64/unistd.h	2004-12-09 02:17:11.460765881 -0800
+++ mm4-2.6.10-rc2/include/asm-ia64/unistd.h	2004-12-09 02:51:03.990037857 -0800
@@ -281,6 +281,7 @@
 # define __ARCH_WANT_SYS_OLDUMOUNT
 # define __ARCH_WANT_SYS_SIGPENDING
 # define __ARCH_WANT_SYS_SIGPROCMASK
+# define __ARCH_WANT_COMPAT_SYS_TIME
 #endif
 
 #if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)

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

* Re: 2.6.10-rc2-mm4
       [not found] <41BF2332.mailL911D9Q6T@suse.de.suse.lists.linux.kernel>
@ 2004-12-14 19:00 ` Andi Kleen
  0 siblings, 0 replies; 50+ messages in thread
From: Andi Kleen @ 2004-12-14 19:00 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: alan, akpm, linux-kernel

"Andi Kleen" <ak@suse.de> writes:

[again with subject. sorry for the screwup]

Arjan van de Ven <arjan@infradead.org> writes:

[sorry for late answer]

> On Tue, 2004-11-30 at 10:32 -0800, Andrew Morton wrote:
> > "This helps mainly graphic drivers who really need a lot of memory below
> > the 4GB area.
> 
> oh.. it's a hook for the binary nvidia module.... 
> might as well call the patch that then :)

No, that's wrong. It's a new API for any driver that needs it,
which are quite a lot. Please don't assume that all word
rotates about binary drivers.

It would have helped if you had read the description fully
before flaming.

I wouldn't have done it only for some binary only driver.

Nvidia can use it and it will probably be useful for themw, but the
free DRI ATI drivers have exactly the same problems (ATI hardware has
the same problem). I plan to change them to use this new
interface. From what I gathered from various people the problem exists
in a lot more hardware. I suspect it will be used e.g. by video frame
grabber drivers and sound devices and some others.

It also has nothing directly to do with Intel chipsets and lack of
IOMMUs. The problem happens even on AMD because the IOMMU area there
is too small (often only 64-128MB because it is shared with the AGP
aperture). Together with 16MB GFP_DMA you get 96MB, which is very tiny
for today's standards.

And 96MB is just not enough for various people and requiring the users
to change obscure command line options or the BIOS to enlarge the buffer is
just not a nice interface.

The main problem we have is that windows seems to make it very
easy to allocate memory below a specific range, so a lot of hardware
assumes this works :(

There were actually plans in the beginning of the x86-64 port 
for such an additional zone, but back then we were worried
about the impact on the fragile 2.4 VM of the additional zone.
That doesn't seem to be a big issue anymore though and NUMA
has proven that the VM can cope with a lot of zones.

-Andi

P.S.: I'm surprised none of you found the main issue in the current
patch - that it makes GFP_DMA and GFP_DMA incompatible between x86-64
and IA64. I plan to address that. Also there will be followon patches
to convert some drivers and make it used by dma_alloc_coherent()


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

* Re: 2.6.10-rc2-mm4
  2004-12-03 21:59 2.6.10-rc2-mm4 Terence Ripperda
@ 2004-12-05 19:46 ` Alan Cox
  0 siblings, 0 replies; 50+ messages in thread
From: Alan Cox @ 2004-12-05 19:46 UTC (permalink / raw)
  To: Terence Ripperda; +Cc: Linux Kernel Mailing List

On Gwe, 2004-12-03 at 21:59, Terence Ripperda wrote:
> I assume you mean traditional pci in this case, but I remain confused.
> the pci spec calls for 32-bits of addressing, although there is an
> optional extension for 64-bit bus extension pins. I can't speak for other
> pci devices, but all of our pci devices are 32-bit.

The current DRI drivers don't really deal much with PCI devices. A pure
PCI video card on 64bit boxes might be problematic although I'd question
the sanity of anyone doing this 8)

> 
> additionally, the pci-express spec defines legacy and non-legacy
> devices.  legacy devices are only required to address 32-bits, whereas
> non-legacy devices are required to handle 64-bit addresses.

I'd assumed video card vendors were non-legacy but ok

> I certainly understand the concerns with this, although I was led to
> believe that recent 2.6 work made the zone balancing much less
> expensive.  is that not the case?

Andrew certainly believes this is. Certainly in 2.4 it was not.

> > I can find users for a 512Mb or 1Gb DMA region
> 
> there was some brief discussion of this when we originally discussed
> 32-bit addressing issues, but I don't know if a satisfactory solution was
> reached.  If a 1Gb region was prefered for this reason, that should satisfy
> nvidia's needs for 32-bit addressing, but I couldn't speak for any other device
> drivers.

If the VM can take it and get it right I am all for a 512Mb or 1Gb DMA
region to fix the various devices that have 29-31bit DMA issues. If it
fixes Nvidia's needs to then fine.

Alan


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

* Re: 2.6.10-rc2-mm4
@ 2004-12-03 21:59 Terence Ripperda
  2004-12-05 19:46 ` 2.6.10-rc2-mm4 Alan Cox
  0 siblings, 1 reply; 50+ messages in thread
From: Terence Ripperda @ 2004-12-03 21:59 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: tripperda


(sorry for breaking the email thread, I tried to grab the mbox archive
for responding, but ftp.uwsg.iu.edu seems to be having problems with
the mail archive).

in response to Alan Cox' voiced concerns from Tue Nov 30:

> That would also be a proprietary hook wouldn't it 8)

nvidia really isn't interested in proprietary hooks; such a hook
really wouldn't be good for nvidia or the linux kernel. but we don't
feel that a 32-bit zone is such a hook.

> beyond the supported open source hardware PCI-Express is the
> non-AGPGART user and that is 64bit.

I assume you mean traditional pci in this case, but I remain confused.
the pci spec calls for 32-bits of addressing, although there is an
optional extension for 64-bit bus extension pins. I can't speak for other
pci devices, but all of our pci devices are 32-bit.

additionally, the pci-express spec defines legacy and non-legacy
devices.  legacy devices are only required to address 32-bits, whereas
non-legacy devices are required to handle 64-bit addresses.

> In the video space it's even stranger because DRI doesn't need it

I'm unclear how traditional pci video cards function without being
able to allocate < 32-bit addresses for dma purposes. are the video cards
you've tested 64-bit capable or is dma disabled? what about 32-bit cards? I'm
afraid I don't understand how this isn't an issue.

> it seems a risky path because of the past problems trying to get
> zone balancing working.

I certainly understand the concerns with this, although I was led to
believe that recent 2.6 work made the zone balancing much less
expensive.  is that not the case?

> I can find users for a 512Mb or 1Gb DMA region

there was some brief discussion of this when we originally discussed
32-bit addressing issues, but I don't know if a satisfactory solution was
reached.  If a 1Gb region was prefered for this reason, that should satisfy
nvidia's needs for 32-bit addressing, but I couldn't speak for any other device
drivers.

for reference, the previous discussion was here:

http://www.uwsg.indiana.edu/hypermail/linux/kernel/0406.2/2093.html

Thanks,
Terence



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

* Re: 2.6.10-rc2-mm4
  2004-11-30 18:29 2.6.10-rc2-mm4 Petr Vandrovec
@ 2004-11-30 18:38 ` Alan Cox
  0 siblings, 0 replies; 50+ messages in thread
From: Alan Cox @ 2004-11-30 18:38 UTC (permalink / raw)
  To: Petr Vandrovec; +Cc: Arjan van de Ven, Linux Kernel Mailing List, akpm

On Maw, 2004-11-30 at 18:29, Petr Vandrovec wrote:
> If this is going to stay, I have one possible user.  VMware's vmmon needs
> to allocate two pages from memory below 4GB so it can use these pages
> for code and page table root while switching from long mode to legacy

That would also be a proprietary hook wouldn't it 8)

So far I can find none although I can find users for a 512Mb or 1Gb DMA
region. Several sound cards would benefit from this as would b44 and to
a small extent aacraid but no users who benefit for 32bit DMA. In the
video space it's even stranger because DRI doesn't need it, fbcon
doesn't need it and even beyond the supported open source hardware
PCI-Express is the non-AGPGART user and that is 64bit. Even for the
users I can find it seems a risky path because of the past problems
trying to get zone balancing working.

Or do we have someone whose driver is not only proprietary but has crap
hardware ?

Alan


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

* Re: 2.6.10-rc2-mm4
@ 2004-11-30 18:29 Petr Vandrovec
  2004-11-30 18:38 ` 2.6.10-rc2-mm4 Alan Cox
  0 siblings, 1 reply; 50+ messages in thread
From: Petr Vandrovec @ 2004-11-30 18:29 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: linux-kernel, akpm

On 30 Nov 04 at 19:25, Arjan van de Ven wrote:
> On Tue, 2004-11-30 at 10:21 -0800, Andrew Morton wrote:
> > Arjan van de Ven <arjan@infradead.org> wrote:
> > > On Tue, 2004-11-30 at 09:50 -0800, Andrew Morton wrote:
> > > > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc2/2.6.10-rc2-mm4/
> > > > 
> > > > - x86_64 supports a fourth VM zone: ZONE_DMA32.  This may affect memory
> > > >   reclaim, but shouldn't.
> > > what is the purpose of such a zone ??
> > 
> > For pages which have a physical address <4G.  I assume this was motivated
> > by the lack of an IOMMU on ia32e?
> 
> but there's the swiommu for those... so that can't be it
> realistically....
> 
> Is there code using the zone GFP mask yet ??

If this is going to stay, I have one possible user.  VMware's vmmon needs
to allocate two pages from memory below 4GB so it can use these pages
for code and page table root while switching from long mode to legacy
mode and back.  After switch code can use PAE mode and access any memory
it wants, but as CR3 is 32bit only in legacy mode, and paging has to be
disabled while switching between modes, these two pages needs to be in
low 4GB.

Currently vmmon uses GFP_DMA for this allocation - which unnecessarily
limits memory available for this operation to 16MB, although any page
from low 4GB suffices.
                                            Best regards,
                                                    Petr Vandrovec


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

end of thread, other threads:[~2004-12-14 19:02 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-30 17:50 2.6.10-rc2-mm4 Andrew Morton
2004-11-30 18:06 ` 2.6.10-rc2-mm4 Arjan van de Ven
2004-11-30 18:21   ` 2.6.10-rc2-mm4 Andrew Morton
2004-11-30 18:25     ` 2.6.10-rc2-mm4 Arjan van de Ven
2004-11-30 18:32       ` 2.6.10-rc2-mm4 Andrew Morton
2004-11-30 17:44         ` 2.6.10-rc2-mm4 Alan Cox
2004-11-30 19:46           ` 2.6.10-rc2-mm4 Andrew Morton
2004-11-30 19:36         ` 2.6.10-rc2-mm4 Arjan van de Ven
2004-11-30 18:48       ` 2.6.10-rc2-mm4 William Lee Irwin III
2004-12-02  8:03         ` 2.6.10-rc2-mm4 Jes Sorensen
2004-12-02  8:01     ` 2.6.10-rc2-mm4 Jes Sorensen
2004-11-30 18:31   ` 2.6.10-rc2-mm4 Christoph Hellwig
2004-11-30 18:38     ` 2.6.10-rc2-mm4 Alan Cox
2004-11-30 18:30 ` 2.6.10-rc2-mm4 Christoph Hellwig
2004-11-30 19:18 ` 2.6.10-rc2-mm4 Stephen Smalley
2004-11-30 19:29   ` 2.6.10-rc2-mm4 Chris Wright
2004-11-30 19:43     ` 2.6.10-rc2-mm4 Christoph Hellwig
2004-11-30 19:55       ` 2.6.10-rc2-mm4 Jeff Mahoney
2004-12-01 23:32       ` 2.6.10-rc2-mm4 Jeffrey Mahoney
2004-12-02  1:01         ` 2.6.10-rc2-mm4 Chris Wright
2004-12-02  1:11           ` 2.6.10-rc2-mm4 Jeff Mahoney
2004-12-02 13:32           ` 2.6.10-rc2-mm4 Stephen Smalley
2004-12-02 13:15         ` 2.6.10-rc2-mm4 Stephen Smalley
2004-12-07 19:57           ` 2.6.10-rc2-mm4 Jeff Mahoney
2004-12-07 20:28             ` 2.6.10-rc2-mm4 Stephen Smalley
2004-12-07 22:46               ` 2.6.10-rc2-mm4 Jeff Mahoney
2004-12-08 13:28                 ` 2.6.10-rc2-mm4 Stephen Smalley
2004-11-30 23:07 ` 2.6.10-rc2-mm4 - cifs.ko needs unknown symbol CIFSSMBSetPosixACL Eyal Lebedinsky
2004-11-30 23:53   ` Andrew Morton
2004-12-01  1:37 ` 2.6.10-rc2-mm4 Matthew Dobson
2004-12-03  9:23   ` 2.6.10-rc2-mm4 Andi Kleen
2004-12-01  8:43 ` 2.6.10-rc2-mm4 - cifs.ko needs unknown symbol CIFSSMBSetPosixACL Eyal Lebedinsky
2004-12-01 21:10 ` 2.6.10-rc2-mm4 Adrian Bunk
2004-12-01 22:26   ` 2.6.10-rc2-mm4 Bill Davidsen
2004-12-02  0:18   ` 2.6.10-rc2-mm4 Bjorn Helgaas
2004-12-01 22:26 ` 2.6.10-rc2-mm4: NUMA-related oops on dual-Opteron Rafael J. Wysocki
2004-12-02  1:01 ` [PATCH] make gconfig work with gtk-2.4 J.A. Magallon
2004-12-02  8:21   ` Andrew Morton
2004-12-02 12:56   ` Roman Zippel
2004-12-02 13:22     ` J.A. Magallon
2004-12-03  9:06 ` [PATCH hostap] fix Kconfig typos and missing select CRYPTO (was: 2.6.10-rc2-mm4) Joshua Kwan
2004-12-03  9:50 ` oom goodness Re: 2.6.10-rc2-mm4 Chris Ross
2004-12-03 16:07   ` Randy.Dunlap
2004-12-03 22:16   ` Thomas Gleixner
2004-12-09 11:07 ` 2.6.10-rc2-mm4 William Lee Irwin III
2004-11-30 18:29 2.6.10-rc2-mm4 Petr Vandrovec
2004-11-30 18:38 ` 2.6.10-rc2-mm4 Alan Cox
2004-12-03 21:59 2.6.10-rc2-mm4 Terence Ripperda
2004-12-05 19:46 ` 2.6.10-rc2-mm4 Alan Cox
     [not found] <41BF2332.mailL911D9Q6T@suse.de.suse.lists.linux.kernel>
2004-12-14 19:00 ` 2.6.10-rc2-mm4 Andi Kleen

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