1
0
Fork 0
alistair23-linux/Documentation
Thomas Gleixner 7d99b7d634 [PATCH] Validate and sanitze itimer timeval from userspace
According to the specification the timevals must be validated and an
errorcode -EINVAL returned in case the timevals are not in canonical form.
This check was never done in Linux.

The pre 2.6.16 code converted invalid timevals silently.  Negative timeouts
were converted by the timeval_to_jiffies conversion to the maximum timeout.

hrtimers and the ktime_t operations expect timevals in canonical form.
Otherwise random results might happen on 32 bits machines due to the
optimized ktime_add/sub operations.  Negative timeouts are treated as
already expired.  This might break applications which work on pre 2.6.16.

To prevent random behaviour and API breakage the timevals are checked and
invalid timevals sanitized in a simliar way as the pre 2.6.16 code did.

Invalid timevals are reported with a per boot limited number of kernel
messages so applications which use this misfeature can be corrected.

After a grace period of one year the sanitizing should be replaced by a
correct validation check.  This is also documented in
Documentation/feature-removal-schedule.txt

The validation and sanitizing is done inside do_setitimer so all callers
(sys_setitimer, compat_sys_setitimer, osf_setitimer) are catched.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-25 08:22:49 -08:00
..
DocBook [PATCH] remove ISA legacy functions: remove documentation 2006-03-24 07:33:19 -08:00
RCU [PATCH] RCU documentation fixes (January 2006 update) 2006-02-01 08:53:25 -08:00
aoe [PATCH] aoe [1/2]: support 16 AoE slot addresses per AoE shelf 2005-09-09 14:23:16 -07:00
arm [ARM] 3332/1: S3C24XX - documentation update 2006-03-21 22:06:03 +00:00
block barrier.txt got lost while the new barrier patchset was climbing up 2006-01-16 09:45:58 +01:00
cdrom [PATCH] remove verify_area(): remove or edit references to verify_area in Documentation/ 2005-09-07 16:57:35 -07:00
connector [CONNECTOR]: Use netlink_has_listeners() to avoind unnecessary allocations. 2006-03-20 22:21:40 -08:00
cpu-freq [PATCH] cpufreq: documentation for 'ondemand' and 'conservative' 2005-12-01 01:23:23 -08:00
cris Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
crypto [PATCH] Spelling fixes for Documentation/ 2005-09-10 10:06:28 -07:00
device-mapper [PATCH] Fix dm-snapshot tutorial in Documentation 2005-11-07 07:53:54 -08:00
driver-model [PATCH] Clean up Documentation/driver-model/overview.txt 2006-02-03 08:31:59 -08:00
drivers/edac [PATCH] EDAC: core EDAC support code 2006-01-18 19:20:31 -08:00
dvb Documentation/dvb/get_dvb_firmware: fix firmware URL 2006-03-22 00:43:59 +01:00
early-userspace earlyuserspace/README: fix homonym err 2005-11-08 17:16:50 +01:00
fb [PATCH] Update cyblafb driver 2006-01-09 10:00:36 -08:00
filesystems NTFS: 2.1.27 - Various bug fixes and cleanups. 2006-03-23 17:04:12 +00:00
firmware_class [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
fujitsu/frv [PATCH] FRV: Use virtual interrupt disablement 2006-02-14 16:09:35 -08:00
hwmon [PATCH] w83781d: Don't reset the chip by default 2006-03-23 14:21:53 -08:00
i2c [PATCH] I2C: i2c-piix4: Add Broadcom HT-1000 support 2006-03-23 14:21:55 -08:00
i2o spelling: s/retreive/retrieve/ 2006-01-10 00:10:13 +01:00
i386 [PATCH] Make the bzImage format self-terminating 2005-09-07 16:57:29 -07:00
ia64 [IA64] Add Documentation/ia64/mca.txt 2005-09-16 10:34:16 -07:00
infiniband [PATCH] IB: Add core locking documentation to Infiniband 2005-07-27 16:26:15 -07:00
input Fix "stuct", "strut", "struc" typos 2006-01-15 02:12:54 +01:00
ioctl spelling: s/appropiate/appropriate/ 2006-01-15 02:00:17 +01:00
isdn Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kbuild kbuild: remove GCC_VERSION 2006-01-08 19:58:51 +01:00
kdump [PATCH] kdump: add dmesg gdbmacro into document 2006-01-11 18:42:10 -08:00
m68k [PATCH] mm: m68k kill stram swap 2005-10-29 21:40:38 -07:00
mips [MIPS] Update docs to reflect the latest status of the Alchemy IDE driver. 2006-02-14 19:13:23 +00:00
networking [PKTGEN]: Add MPLS extension. 2006-03-23 01:10:26 -08:00
parisc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pcmcia [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback 2006-01-06 00:03:24 +01:00
power [PATCH] swsusp: userland interface 2006-03-23 07:38:07 -08:00
powerpc [PATCH] powerpc: Add FSL SEC node to documentation 2006-03-23 14:41:09 +11:00
s390 [PATCH] s390: cio documentation update 2006-03-24 07:33:15 -08:00
scsi [SCSI] megaraid_sas: support for 1078 type controller added 2006-02-04 16:38:41 -06:00
serial [SERIAL] Update serial_core documentation 2005-10-31 11:53:19 +00:00
sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sound [ALSA] Fixes typos in Audiophile-USB.txt 2006-03-22 10:40:10 +01:00
sparc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spi [PATCH] SPI: spi_butterfly, restore lost deltas 2006-02-06 12:17:17 -08:00
sysctl [PATCH] suspend-to-ram: allow video options to be set at runtime 2006-02-20 20:00:10 -08:00
telephony Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uml [PATCH] Spelling fixes for Documentation/ 2005-09-10 10:06:28 -07:00
usb [PATCH] USB: ZC0301 driver bugfix 2006-03-20 14:50:01 -08:00
video4linux V4L/DVB (3504): Medion 7134: Autodetect second bridge chip 2006-03-21 08:53:33 -08:00
vm [PATCH] Page migration documentation update 2006-03-14 21:43:02 -08:00
w1 [PATCH] W1: Add the DS2482 I2C-to-w1 bridge driver. 2006-03-23 17:28:12 -08:00
watchdog [PATCH] ppc32: Added support for the Book-E style Watchdog Timer 2005-09-05 00:05:56 -07:00
x86_64 [PATCH] x86_64: Better ATI timer fix 2006-02-26 09:53:31 -08:00
00-INDEX [PATCH] update Documentation/00-INDEX 2005-11-18 10:51:22 -08:00
BUG-HUNTING Documentation: Update to BUG-HUNTING 2006-03-22 00:37:42 +01:00
Changes Documentation/Changes: remove outdated translation references 2006-03-20 20:28:13 +01:00
CodingStyle [PATCH] CodingStyle correction 2006-01-10 08:01:52 -08:00
DMA-API.txt [PATCH] Spelling fixes for Documentation/ 2005-09-10 10:06:28 -07:00
DMA-ISA-LPC.txt [PATCH] ISA DMA API documentation 2005-09-09 14:03:42 -07:00
DMA-mapping.txt [PATCH] remove old scsi data direction macros 2005-04-18 13:49:58 -05:00
HOWTO [PATCH] Add HOWTO do kernel development document to the Documentation directory 2005-11-18 10:51:21 -08:00
IO-mapping.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
IPMI.txt [PATCH] ipmi poweroff: fix chassis control 2005-09-07 16:57:49 -07:00
IRQ-affinity.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
MSI-HOWTO.txt [PATCH] Doc/MSI-HOWTO: cleanups 2005-11-07 07:53:55 -08:00
ManagementStyle Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
PCIEBUS-HOWTO.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
README.DAC960 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
README.cycladesZ Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
SAK.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
SecurityBugs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
SubmittingDrivers [PATCH] docs: update some updated code docs 2006-01-14 10:39:53 -08:00
SubmittingPatches [PATCH] docs: update some updated code docs 2006-01-14 10:39:53 -08:00
VGA-softcursor.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
acpi-hotkey.txt Merge to-linus-stable into to-akpm 2005-08-15 15:52:00 -04:00
applying-patches.txt [PATCH] Docs update: typos, corrections and additions to applying-patches.txt 2006-01-10 08:01:54 -08:00
atomic_ops.txt [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
basic_profiling.txt [PATCH] oprofile: report anonymous region samples 2005-06-24 00:06:27 -07:00
binfmt_misc.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cachetlb.txt spelling: s/appropiate/appropriate/ 2006-01-15 02:00:17 +01:00
cciss.txt [SCSI] cciss: scsi error handling 2005-11-06 14:12:49 -06:00
cli-sti-removal.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
computone.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpqarray.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu-hotplug.txt [PATCH] cpu hotplug documentation fix 2006-02-20 20:00:10 -08:00
cpusets.txt [PATCH] cpuset memory spread basic implementation 2006-03-24 07:33:22 -08:00
cputopology.txt [PATCH] Export cpu topology in sysfs 2006-02-03 08:32:09 -08:00
dcdbas.txt [PATCH] dcdbas: add Dell Systems Management Base Driver with sysfs support 2005-09-07 16:57:27 -07:00
debugging-modules.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dell_rbu.txt [PATCH] dell_rbu: changes in packet update mechanism 2005-10-11 09:46:53 -07:00
devices.txt [PATCH] USB: Delete leftovers from bluetty driver 2005-11-17 11:29:53 -08:00
digiepca.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dnotify.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dontdiff [PATCH] dontdiff: add asm_offsets 2005-09-13 08:22:29 -07:00
eisa.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exception.txt [PATCH] remove verify_area(): remove or edit references to verify_area in Documentation/ 2005-09-07 16:57:35 -07:00
feature-removal-schedule.txt [PATCH] Validate and sanitze itimer timeval from userspace 2006-03-25 08:22:49 -08:00
floppy.txt [PATCH] kernel Doc/ URL corrections 2005-11-22 09:14:30 -08:00
ftape.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hayes-esp.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
highuid.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hpet.txt Documentation/hpet.txt typo 2006-01-15 02:09:54 +01:00
hrtimers.txt [PATCH] hrtimer: hrtimer documentation 2006-01-10 08:01:37 -08:00
hw_random.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ibm-acpi.txt [ACPI] IBM ThinkPad ACPI Extras Driver v0.12 2005-08-25 17:37:51 -04:00
ide.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
initrd.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_ordering.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl-number.txt [PATCH] kernel Doc/ URL corrections 2005-11-22 09:14:30 -08:00
iostats.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
isapnp.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
java.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kernel-doc-nano-HOWTO.txt [PATCH] Doc/kernel-doc: add more usage info 2006-02-01 08:53:27 -08:00
kernel-docs.txt [PATCH] kernel Doc/ URL corrections 2005-11-22 09:14:30 -08:00
kernel-parameters.txt [PATCH] PCI: Provide a boot parameter to disable MSI 2006-03-23 14:35:16 -08:00
keys-request-key.txt [PATCH] keys: Permit running process to instantiate keys 2006-01-08 20:13:53 -08:00
keys.txt [PATCH] keys: Permit running process to instantiate keys 2006-01-08 20:13:53 -08:00
kobject.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.txt [PATCH] kprobes: Update Documentation/kprobes.txt 2006-02-14 16:09:34 -08:00
kref.txt [PATCH] kref: add link to original documentation to the kref documentation. 2005-04-18 21:57:30 -07:00
laptop-mode.txt spelling: s/appropiate/appropriate/ 2006-01-15 02:00:17 +01:00
ldm.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
locks.txt [PATCH] Docs update: remove obsolete patch from locks.txt 2006-01-10 08:01:54 -08:00
logo.gif Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
logo.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
magic-number.txt [PATCH] mm: rename kmem_cache_s to kmem_cache 2005-11-07 07:53:24 -08:00
mandatory.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mca.txt [PATCH] kernel Doc/ URL corrections 2005-11-22 09:14:30 -08:00
md.txt [PATCH] md: allow sync-speed to be controlled per-device 2006-01-06 08:34:10 -08:00
memory.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mono.txt [PATCH] merge some from Rusty's trivial patches 2005-09-10 10:06:30 -07:00
moxa-smartio Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mtrr.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mutex-design.txt [PATCH] mutex subsystem, documentation 2006-01-09 15:59:20 -08:00
nbd.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nfsroot.txt [PATCH] Updated Documentation/nfsroot.txt 2006-03-24 07:33:27 -08:00
nmi_watchdog.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nommu-mmap.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
numastat.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
oops-tracing.txt [PATCH] doc: refer to kdump in oops-tracing.txt 2006-01-11 18:42:10 -08:00
paride.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
parport-lowlevel.txt [PATCH] parport: fix documentation 2006-02-03 08:32:06 -08:00
parport.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci-error-recovery.txt [PATCH] Documentation: Updated PCI Error Recovery 2006-02-03 08:32:00 -08:00
pci.txt [PATCH] merge some from Rusty's trivial patches 2005-09-10 10:06:30 -07:00
pm.txt [ACPI] linux-acpi@vger.kernel.org replaces acpi-devel@lists.sourceforge.net 2006-01-06 16:19:26 -05:00
pnp.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
preempt-locking.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
prio_tree.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ramdisk.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
riscom8.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rocket.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rpc-cache.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtc.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched-arch.txt [PATCH] sched: resched and cpu_idle rework 2005-11-09 07:56:33 -08:00
sched-coding.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched-design.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched-domains.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched-stats.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
seclvl.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
serial-console.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sgi-ioc4.txt [PATCH] ioc4: Core driver rewrite 2005-06-21 18:46:32 -07:00
sgi-visws.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sharedsubtree.txt [PATCH] Complete description of shared subtrees. 2005-11-07 18:18:11 -08:00
smart-config.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sonypi.txt [PATCH] sonypi SPIC initialisation fix 2005-09-07 16:57:24 -07:00
sparse.txt [PATCH] Documentation/sparse.txt: mention CF=-Wbitwise 2005-11-07 07:53:54 -08:00
specialix.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spinlocks.txt fix rwlock usage example 2006-03-22 00:19:39 +01:00
stable_api_nonsense.txt [PATCH] stable_api_nonsense.txt fixes 2005-07-29 13:12:49 -07:00
stable_kernel_rules.txt [PATCH] Docs update: small fixes to stable_kernel_rules.txt 2006-01-10 08:01:55 -08:00
stallion.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
svga.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sx.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysrq.txt update for Documentation/sysrq.txt 2006-01-03 13:31:01 +01:00
time_interpolators.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tipar.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tty.txt [PATCH] Introduce tty_unregister_ldisc() 2005-06-23 09:45:35 -07:00
unicode.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unshare.txt [PATCH] unshare system call -v5: Documentation file 2006-02-07 16:12:34 -08:00
voyager.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xterm-linux.xpm Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
zorro.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00

README.cycladesZ

The Cyclades-Z must have firmware loaded onto the card before it will
operate.  This operation should be performed during system startup,

The firmware, loader program and the latest device driver code are
available from Cyclades at
    ftp://ftp.cyclades.com/pub/cyclades/cyclades-z/linux/