Re: [ Re: [ RE: [Linux-ia64] problems with ppp/pppd: put_user/copy_to_user]]

From: David Mosberger <>
Date: 2003-12-13 04:21:59
>>>>> On Fri, 12 Dec 2003 10:37:16 -0500, Bill Nottingham <> said:

  Bill> Back long ago, I reported a problem with PPP on ia64:

  Bill> We added the workaround in our tree for earlier releases, and
  Bill> promptly forgot about it; however, someone reported that RHEL
  Bill> 3 has the same issue (as we took the workaround out.)

  Bill> Jakub noticed the following - does this explain the problem?

Yes, it sure does.  Argh, passing functions to get/put-user macro
arguments.  I suppose that's legal... ;-(

  Bill> But, a function call clobbers r8.  Guess a __typeof(x) __x =
  Bill> (x); before __pu_err and s/x/__x/ is needed.  Probably
  Bill> __pu_addr decl should be moved before __pu_err is initialized
  Bill> too, otherwise extern int *foo (); put_user (0, foo ()); might
  Bill> not work properly.

Yeah, we need to be careful not to evalute any macro arguments while
using the special register-usage convention needed for the exception
handlers.  It affects get_user(), too.  Let me work on a patch.

To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Fri Dec 12 12:27:13 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:21 EST