* Linus Torvalds <torvalds@linux-foundation.org> wrote:ok, on a second thought: kgdb_{get|set}_mem() is _only_ used to validate and set the software breakpoint (int3). And i think kgdb correctly restricts that to kernel-space addresses only - you can typo an address down into user-space and overwrite user-space memory and not know what hit you ... [you can still explicitly touch user-space memory, but that has to be done intentionally] So to reduce the confusion i've removed these functions and open-coded the probe_kernel_*() functions into kgdb_validate_break_address() and kgdb_arch_set_breakpoint(). all other places already use probe_kernel_{read|write}. (Now, there are a few stray TASK_SIZE checks still, i'll double check them and convert them to access_ok() checks.) btw., based on your previous comment about alignment, i found another function that used weird alignment checks, kgdb_hex2mem(): if (count == 2 && ((long)mem & 1) == 0) err = probe_kernel_write(mem, tmp_raw, 2); else if (count == 4 && ((long)mem & 3) == 0) err = probe_kernel_write(mem, tmp_raw, 4); else if (count == 8 && ((long)mem & 7) == 0) err = probe_kernel_write(mem, tmp_raw, 8); else err = probe_kernel_write(mem, tmp_raw, count); return err; } I just converted it to: return probe_kernel_write(mem, tmp_raw, count); which looks _a lot_ cleaner. Ingo --
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Andrew Morton | 2.6.25-mm1 |
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
git: | |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | [GIT]: Networking |
| Natalie Protasevich | [BUG] New Kernel Bugs |
