PATCH: 2.6.7-rc3 drivers/char/ipmi/ipmi_devintf.c: user/kernel pointer typo
Judging from context, I think there's a misplaced "&" in this code that can cause stack overflows and other nasty problems. Perhaps it's left over from when msgdata was an array instead of a pointer? Let me know if you have any questions or I made a mistake.
Best,
Rob
drivers/char/ipmi/ipmi_devintf.c renamed from drivers/char/ipmi/ipmi_devintf.c.orig +1 -1
@@ -199,7 +199,7 @@ static int handle_send_req(ipmi_user_t goto out; } -if (copy_from_user (&msgdata, +if (copy_from_user (msgdata, req->msg.data, req->msg.data_len)) {
Quoted 4 lines · Robert T. Johnson
Judging from context, I think there's a misplaced "&" in this code that can cause stack overflows and other nasty problems. Perhaps it's left over from when msgdata was an array instead of a pointer? Let me know if you have any questions or I made a mistake.
ACK.
You are obviously right, and it looks like the fix is in the newest release candidate. Thanks for finding this.
-Corey
Quoted 23 lines · Robert T. Johnson
Judging from context, I think there's a misplaced "&" in this code that
can cause stack overflows and other nasty problems. Perhaps it's left over from when msgdata was an array instead of a pointer? Let me know if you have any questions or I made a mistake.Best,
Robdrivers/char/ipmi/ipmi_devintf.c renamed from drivers/char/ipmi/ipmi_devintf.c.orig +1
-1@@ -199,7 +199,7 @@ static int handle_send_req(ipmi_user_t goto out; } -if (copy_from_user (&msgdata, +if (copy_from_user (msgdata, req->msg.data, req->msg.data_len)) {