- 18 Jun, 2004 40 commits
-
-
Chris Wright authored
Add a user_struct pointer to the sigqueue structure. Charge sigqueue allocation and destruction to the user_struct rather than a global pool. This per user rlimit accounting obsoletes the global queued_signals accouting. The patch as charges the sigqueue struct allocation to the queue that it's pending on (the receiver of the signal). So the owner of the queue is charged for whoever writes to it (much like quota for a 777 file). The patch started out charging the task which allocated the sigqueue struct. In most cases, these are always the same user (permission for sending a signal), so those cases are moot. In the cases where it isn't the same user, it's a privileged user sending a signal to another user. It seems wrong to charge the allocation to the privleged user, when the other user could block receipt as long as it feels. The flipside is, someone else can fill your queue (expectation is that someone else is privileged). I think it's right the way it is. The change to revert is very small. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Chris Wright authored
Update send_signal() api to allow passing the task receiving the signal. This is necessary to ensure signals generated out of process context can be charged to the correct user. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Linus Torvalds authored
-
Krzysztof Rusocki authored
The cmpci driver included in Linux 2.6.7 causes an oops on rmmod, I believe cm_remove should be marked __devexit rather than __devinit. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Yoshinori Sato authored
- optimize byteswap - add noswap io mode - cleanup var type Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Yoshinori Sato authored
- Kconfig typo fix - PTRACE_PEEKUSER read process info support - exr restore fix - ptrace register offset fix Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Keith Owens authored
Several scheduler macros only read from the task struct, mark them const. It may help the compiler generate better code. Signed-off-by: Keith Owens <kaos@ocs.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Greg Kroah-Hartman authored
Distros have started to ship kernels with this patch, as it seems that some unnamed binary module authors are already abusing this function (as well as some open source modules, like the openib code.) I could not find any valid reason why this symbol should be exported, so here's a patch against 2.6.7 that removes it. Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Randy Dunlap authored
Delete a blank line for more error reporting on-screen. Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kenneth W. Chen authored
Hit a bug check when unmap a hugetlb vma in PAE mode on i386 (and x86-64). Bad page state at free_hot_cold_page (in process 'a.out', page c165cc40) flags:0x20000000 mapping:f75e1d00 mapped:0 count:0 Backtrace: Call Trace: [<c0133e0d>] bad_page+0x79/0x9e [<c0134550>] free_hot_cold_page+0x71/0xfa [<c0115d60>] unmap_hugepage_range+0xa3/0xbf [<c013d375>] unmap_vmas+0xac/0x252 [<c0117691>] default_wake_function+0x0/0xc [<c0140bea>] unmap_region+0xd8/0x145 [<c0140f2d>] do_munmap+0xfc/0x14d [<c01b8a56>] sys_shmdt+0xa5/0x126 [<c010a2ad>] sys_ipc+0x23c/0x27f [<c014a85e>] sys_write+0x38/0x59 [<c0103e1b>] syscall_call+0x7/0xb It turns out there is a bug in hugetlb_prefault(): with 3 level page table, huge_pte_alloc() might return a pmd that points to a PTE page. It happens if the virtual address for hugetlb mmap is recycled from previously used normal page mmap. free_pgtables() might not scrub the pmd entry on munmap and hugetlb_prefault skips on any pmd presence regardless what type it is. Patch to fix the bug. Signed-off-by: Ken Chen <kenneth.w.chen@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Corey Minyard authored
This patch fixes some problems with handling of channel detection in the driver. Some systems that are IPMI 1.5 do not implement the channel query command. Also, the interface has to be fully up before the command is ready. This patch also adds a polling interface; this is required for situations where interrupts are not running, but the system must still issue IPMI commands, like when taking a crash dump. It also updates the driver version to v32. Signed-off-by: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Morris authored
This patch contains SELinux changes which add support for extended Netlink socket classes and the associated permissions nlmsg_read and nlmsg_write. Cc: David S. Miller <davem@redhat.com> Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Morris authored
Modifies the LSM netlink_send() hook so that it takes a struct sock parameter. SELinux will use this parameter to lookup the class of socket, which was assigned during socket security initialization. Cc: David S. Miller <davem@redhat.com> Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Morris authored
This patch moves the security_netlink_send() LSM hook after the user copy, so that LSM modules can safely examine skb payload content. For SELinux, we need to look at the Netlink message type. Cc: David S. Miller <davem@redhat.com> Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Morris authored
This patch regenerates the SELinux module headers to reflect new class and access vectors definitions. The size of the diff is misleading; much of it is simply a change in the ordering of the automatically generated definitions. The corresponding generation script has been changed to ensure a stable order in the future. Please apply. Author: Stephen Smalley <sds@epoch.ncsc.mil> Cc: David S. Miller <davem@redhat.com> Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil> Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Chris Wright authored
I know it's simple_strtoul, but is it meant to be that simple? Fix up for both simple_strtoul and simple_strtoull. simple_strtoul(0x401b, NULL, 0) = 0x401b simple_strtoul(0X401b, NULL, 0) = 0x0 simple_strtoul(0x401b, NULL, 16) = 0x0 simple_strtoul(0X401b, NULL, 16) = 0x0 simple_strtoull(0x401b, NULL, 0) = 0x401b simple_strtoull(0X401b, NULL, 0) = 0x0 simple_strtoull(0x401b, NULL, 16) = 0x0 simple_strtoull(0X401b, NULL, 16) = 0x0 Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
David Eger authored
Here's the fb accel capabilities patch for rivafb. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Geert Uytterhoeven authored
Fix a const/non-const warning. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
David Eger authored
radeonfb: fix panning corruption on a large virtual screen, Make panning and copyarea() play nicely with each other. Signed-off-by: David Eger <eger@havoc.gtf.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
asiliantfb seems to have only been partially merged (the fbmem.c bits in particular seem to have been missed entirely). This adds them back in, though they do seem to be present in the fbdev tree, at least they were the last time I looked. These are the last bit of outstanding changes I have in the LinuxSH tree for asiliantfb, so it would be nice to get this out of the way. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Antonino Daplas authored
1. pass info->monspecs.modedb and info->monspecs.modedb_len to fb_find_mode() instead of NULL, 0 since its contents are specific to the attached display. Anyway, if info->monspecs.modedb == NULL, fb_find_mode() will use the default database. 2. Added best fit algo to fb_find_mode(). 3. Use snprintf instead of sprintf. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Antonino Daplas authored
The patch updates rivafb to the following: 1. Fixed cursor corruption and simplified cursor code. 2. Maximized var->yres_virtual on initial mode setting. Scrolling, therefore, defaults to y-panning which is significantly faster. 3. Restricted var->xres_virtual and var->yres_virtual to 0x7fff (hardware limitation?). Otherwise, var->yres_virtual > 0x7fff + panning will hang the GPU. 4. Added I2C/DDC support. This feature enables independent mode setup to rivafb. 'stty rows n cols n' should now work correctly. This is a configurable option. 5. Various/minor fixes to drawing code. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
David Eger authored
Improve heuristics to favor panning over copyarea() thanks to pseudocode from Antonino Daplas <adaplas@hotpop.com> Signed-off-by: David Eger <eger@havoc.gtf.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
David Eger authored
Baseline patch to make framebuffer/fbcon interaction more sane by basing the fbcon heuristics on capabilities advertized by underlying framebuffer via the fb_info.flags field. This patch updates fbcon, fb.h, and skeletonfb.c. It does *not* yet update the drivers themselves. They should compile and work, but their hinting is not correct yet, meaning most fb drivers will be slow until I set the flags to the right hinting driver-by-driver Signed-off-by: David Eger <eger@havoc.gtf.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Daniel McNeil authored
The fsx-linux hole fill failure problem was caused by generic_file_aio_write_nolock() not handling the partial DIO write correctly. Here's a patch lets DIO do the partial write, and the fallback to buffered is done (correctly) for what is left. This fixes the hole filling without retrying the entire i/o. This patch also applies to 2.6.7-rc3 with some offset. I tested this (on ext3) with fsx-linux -l 500000 -r 4096 -t 4096 -w 4096 -Z -N 10000 junk -R -W Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Martin Schwidefsky authored
The SetPageUptodate function is called for pages that are already up to date. The arch_set_page_uptodate function of s390 may not clear the dirty bit in that case otherwise a dirty bit which is set between the start of an i/o for a writeback and a following call to SetPageUptodate is lost. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Christoph Hellwig authored
Without this a usb-storage patch I sent fails on x86 because dma-mapping.h uses struct device and various VM stuff without proper includes. It's fine on ppc at least. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Morris authored
The patch below fixes a race between sock_orphan() and selinux_socket_sock_rcv_skb() which can lead to a null pointer deref oops under heavy load. The sk_callback_lock is used in the patch to synchronize access to the incoming socket's inode security state. This patch has been under test in the Fedora kernel for over a month without incident. Author: Stephen Smalley <sds@epoch.ncsc.mil> Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Marcelo Tosatti authored
Update my CREDITS information. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Morris authored
Currently, there are no LSM hooks in the AIO codepaths, which means that LSM based access controls are not revalidated upon AIO read and write operations. The patch below adds the security_file_permission() LSM hook prior to the VFS aio_read()/aio_write() calls. Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Dominik Brodowski authored
The "mull" instruction in __const_udelay() cuts off the lower 32 bits -- so, it is "rounding down". This is both an issue for small ndelay()s for _all_ values for loops_per_jiffy and for certain {n,u}delay()s for many loops_per_jiffy values. Assuming LPJ = 1501115 udelay(87) results in 130597 loops to be spent. However, 1000 * 130597 / 1501115 is 86.999997 us, so we're actually _rounding down_. 1000 * 130598 / 1501115 is 87.000662841, which would be the technically correct thing to do. Of course, for the TSC case this won't matter as the maths take some time, so the actual delay is 1000 * __udelay(x) / lpj + __OVERHEAD(x) Anybody worried about both the additional overhead and the fact that the overhead takes some time to run should add a check if (unlikely(xloops < OVERHEAD)) return; xloops -= OVERHEAD; to the delay() routines in arch/i386/kernel/timers/*.c and determine what the OVERHEAD is. Signed-off-by: Dominik Brodowski <linux@brodo.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Dominik Brodowski authored
Round up in __udelay(): 2**32 / 100000 is 4294.97, so it's more intuitive to round up, and it causes more predictable results: n usec delay on a 1500000 BogoMIPS system: n before -mull after 1 1000 ticks 1499 ticks 1500 ticks 10 14000 ticks 14999 ticks 15000 ticks n usec delay on a 100000 BogoMIPS system: n before -mull after 1 0 ticks 99 ticks 100 ticks 10 0 ticks 999 ticks 1000 ticks 100 9000 ticks 9999 ticks 10000 ticks While it can be argued that some time is also spent in the delay functions, it's better to spend _at least_ the specified time sleeping, in my humble opinion. And the overhead of a specific ->delay() implementation should be substracted in the specific ->delay() implementation. Signed-off-by: Dominik Brodowski <linux@brodo.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Dominik Brodowski authored
John Stultz mentioned on lkml ( http://lkml.org/lkml/2004/6/5/15 ) that calls to udelay() don't delay long enough, causing trouble e.g. in the USB subsystem. The following patches address this issue. Move the multiplication of (loops_per_jiffy * xloops) with HZ into the "mull" asm operation. This increases the accuracy of the delay functions largely: n usec delay on a system with loops_per_jiffy = 1500000 : n before after 1 1000 ticks 1499 ticks 10 14000 ticks 14999 ticks n usec delay on a system with loops_per_jiffy = 100000 : n before after 1 0 ticks 99 ticks 10 0 ticks 999 ticks 100 9000 ticks 9999 ticks As noted by Kurt Garloff, it's necessary to adjust for large loops_per_jiffies, as the multiplication of it with HZ fails for 4GHz or larger. So, John Stultz suggested multiplying xloops with 4 first, and multiplying with (HZ/4). Signed-off-by: Dominik Brodowski <linux@brodo.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Neil Brown authored
The meaning of mddev->in_sync changed subtly a while ago, and raid1 wasn't changed to match. This results in raid1 read_balancing not working properly. This patch corrects the relevant test. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Alex Tomas authored
I've observed that ext3_htree_fill_tree() doesn't ignore empty records (de->inode == 0). test case is very simple: turn htree on, create several hundreds of files, remove them and look at strace ls: [root@victim tests]# ls -a /test/1 . .. [root@victim tests]# strace ls /test/1/ .... getdents64(3, /* 18 entries */, 4096) = 432 getdents64(3, /* 0 entries */, 4096) = 0 Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
* Removed period check for executables in fs/isofs/inode.c This fixes Debian BTS #162190 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=162190 From: Jan Gregor <gregor_jan@seznam.cz> To: Debian Bug Tracking System <submit@bugs.debian.org> Subject: kernel-source-2.4.18: kernel ignores noexec and mode option in cdrom case Message-ID: <20020924162129.A328@pisidlo> In /etc/fstab i have following line: /dev/cdrom /cdrom iso9660 gid=100,noauto,ro,noexec,mode=0444,user 0 0 I found on one CD that some files have exec bit set. From brief view those files has no extension (filename.ext). My drive is asus-1610a (ATAPI writer) connected throught scsi-emulation. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
* Fix slashes in broken Acorn ISO9660 images in fs/isofs/dir.c (Darren Salt) This fixes Debian BTS #141660. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=141660 From: Darren Salt <linux@youmustbejoking.demon.co.uk> Message-ID: <4B238BA09A%linux@youmustbejoking.demon.co.uk> To: submit@bugs.debian.org Subject: Handle '/' in filenames in broken ISO9660 images [Also applicable to 2.2.x] There has been for some time a problem with certain CD-ROMs whose images were generated using a particular tool on Acorn RISC OS. The problem is that in certain catalogue entries, the extension separator character '/' (RISC OS uses '.' and '/' the other way round) was not replaced with '.'; thus Linux cannot properly parse this without this patch, thinking that it is a directory separator. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
* Fixed argument processing bug in init/main.c (Eric Delaunay) This fixes Debian BTS #58566. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=58566 From: Eric Delaunay <delaunay@lix.polytechnique.fr> Message-Id: <200002201918.UAA02327@jazz.pontchartrain.fr> Subject: pb in handling parameters on kernel command line To: submit@bugs.debian.org (debian bug tracking system) Hello, I found some bugs in kernel command line parser. AFAIK, they are not Debian nor sparc specific but I'm not subscribed to linux-kernel mailing list and since I'm involved with boot-floppies (mainly for sparc), I think I'm right to report it here. Feel free to forward it upstream (I checked the latest 2.3.46 sources and it seems these bugs are still there). These bugs are not release critical. The latter just not gives the user a chance to overwrite TERM env var at boot time. It could be just inconvenient for serial console boot, and in this case, our busybox' init is already enforcing TERM=vt102. Nevertheless if it could not be fixed before the release, I could even write a workaround in busybox' init (it's just a matter of rewriting getenv()). At last, it does not affect sysvinit package because serial console tty is controlled by a getty process which is reading terminal settings on its command line (take a look in inittab for T0 entries, if any). Ok, here is my modest contribution to kernel hacking. I don't know much about kernel internals but it seems that argument parsing is a bit broken. One trivial patch for command line like "init=/bin/sh console=prom" where console=prom is replaced by lot of spaces in previous call to setup_arch() on sparc, therefore the line parsed by parse_options() is really "init=/bin/sh " and a lot of null args are pushed into argv_init. The other patch is for command line like "TERM=vt100" where both default & user TERM entries are pushed into the env array. Taking a look into /proc/1/environ, it shows up: HOME=/ TERM=linux TERM=vt100 It appears that ash (maybe other shells too) is giving the latter entry but glibc getenv() is giving the former. It is therefore impossible to get entry from the user in a C program like busybox' init (used in Debian boot-floppies). I guess getenv() is not written to support duplicate entries, therefore the kernel should avoid such construct. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
* Unregister driver if probing fails in sound/oss/sb_card.c This fixes Debian BTS #218845. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=218845 From: Robin Gerard <robin.jag@free.fr> To: submit@bugs.debian.org Subject: no sound with kernel-image-2.6.0-test9-1-386 Message-ID: <20031103004939.GA2071@mauritius> I downlaoded the kernel-image-2.6.0-test9-1-386_2.6.0-test9-1_i386.deb and I installed it successfully. Everything works fine, except the sound. (I run also the kernel-image-2.4.20 and the sound is ok with this kernel) My sound card is a sb. First I launched modconf but no module was displayed. I did: modprobe sb and I got: sb: Init: Done sb: Init: Starting Probe... kobject_register failed for OSS SndBlstr (-17) Call Trace: [<c0191cda>] kobject_register+0x3a/0x40 [<c01d9bcc>] bus_add_driver+0x30/0x64 [<c01d9e51>] driver_register+0x2d/0x34 [<c011a24a>] preempt_schedule+0x2a/0x48 [<c01b6f84>] pnp_register_driver+0x28/0x58 [<c01b6c5e>] pnp_register_card_driver+0x5e/0x98 [<c488f063>] sb_init+0x63/0xb5 [sb] [<c0130bf4>] sys_init_module+0xe8/0x1f0 [<c010b577>] syscall_call+0x7/0xb Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
From: "Jon Thackray" <jgt@pobox.com> * Lowered priority of "too many keys" message in drivers/input/keyboard/atkbd.c This fixes Debian BTS #239036. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=239036 The keyboard under 2.6.4 seems to be behaving strangely, reporting unknown key codes and too many keys pressed, even when no keys have been pressed. The keyboard is connected via an 8 way KVM switch, but was working quite acceptably under 2.4.25 with no such messages. Trying 2.6.3 is not an option as it doesn't support the hardware properly, as previously reported. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-