Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Sep 2008 17:36:34 +0800
From:      "Intron is my alias on the Internet" <intron@intron.ac>
To:        freebsd-usb@freebsd.org
Subject:   Re: [usb2] new usb stack and suser in CURRENT
Message-ID:  <courier.48D4C422.0000187B@intron.ac>
In-Reply-To: <20080919153415.GA1178@q.gid0.org>
References:  <20080919145320.GA2444@q.gid0.org> <20080919153415.GA1178@q.gid0.org>

next in thread | previous in thread | raw e-mail | index | archive | help
olivier wrote:

> On Fri, Sep 19, 2008 at 04:53:22PM +0200, Olivier Smedts wrote:
>> Since the suser interface has been removed from HEAD
>> (http://www.freebsd.org/cgi/getmsg.cgi?fetch=284102+0+current/cvs-src)
>> I use the following patch to use the new usb2 stack with
>> latest CURRENT. Of course, PRIV_ROOT is not the right one to use,
>> see include/sys/priv.h.
> 
> Attachment seems to have been removed. Retrying with a different content-type
> and disposition (mutt is so great).
> 
> -- 
> Olivier Smedts                                              _
>                           ASCII ribbon campaign            ( )
> e-mail: olivier at gid0.org - against HTML email & vCards   X
> www: http://www.gid0.org - against proprietary attachments / \
> 
>  "Il y a seulement 10 sortes de gens dans le monde :
>  ceux qui comprennent le binaire,
>  et ceux qui ne le comprennent pas."
> -------------- next part --------------
> Index: i4b/src/sys/dev/usb2/core/usb2_dev.c
> ===================================================================
> --- i4b/src/sys/dev/usb2/core/usb2_dev.c	(r?vision 880)
> +++ i4b/src/sys/dev/usb2/core/usb2_dev.c	(copie de travail)
> @@ -262,7 +262,7 @@
>  	int error;
>  
>  	/* only super-user can set permissions */
> -	error = suser(curthread);
> +	error = priv_check(curthread, PRIV_ROOT);
>  	if (error) {
>  		return (error);
>  	}
> Index: i4b/src/sys/dev/usb2/core/usb2_generic.c
> ===================================================================
> --- i4b/src/sys/dev/usb2/core/usb2_generic.c	(r?vision 880)
> +++ i4b/src/sys/dev/usb2/core/usb2_generic.c	(copie de travail)
> @@ -878,7 +878,7 @@
>  	    (req->bRequest == UR_SET_CONFIG)) ||
>  	    ((req->bmRequestType == UT_WRITE_INTERFACE) &&
>  	    (req->bRequest == UR_SET_INTERFACE))) {
> -		if (suser(curthread)) {
> +		if (priv_check(curthread, PRIV_ROOT)) {
>  			return (EPERM);
>  		}
>  	}
> @@ -887,7 +887,7 @@
>  	 * not update the data toggle value in "struct usb2_pipe" !
>  	 */
>  	if (req->bmRequestType == UT_WRITE_ENDPOINT) {
> -		if (suser(curthread)) {
> +		if (priv_check(curthread, PRIV_ROOT)) {
>  			return (EPERM);
>  		}
>  	}
> @@ -946,7 +946,7 @@
>  		/* control endpoint only */
>  		return (EINVAL);
>  	}
> -	if (suser(curthread)) {
> +	if (priv_check(curthread, PRIV_ROOT)) {
>  		return (EPERM);
>  	}
>  	mtx_lock(f->priv_mtx);
> @@ -1738,7 +1738,7 @@
>  	    (udev->parent_hub == NULL)) {
>  		return (EINVAL);
>  	}
> -	if (suser(curthread)) {
> +	if (priv_check(curthread, PRIV_ROOT)) {
>  		return (EPERM);
>  	}
>  	switch (mode) {
> @@ -1805,7 +1805,7 @@
>  	struct usb2_hub *hub;
>  	int err;
>  
> -	if (suser(curthread)) {
> +	if (priv_check(curthread, PRIV_ROOT)) {
>  		return (EPERM);
>  	}
>  	if (port_no == 0) {
> @@ -2115,7 +2115,7 @@
>  
>  	case USB_IFACE_DRIVER_DETACH:
>  		/* TODO */
> -		if (suser(curthread))
> +		if (priv_check(curthread, PRIV_ROOT))
>  			error = EPERM;
>  		else
>  			error = EINVAL;
> 

Maybe PRIV_DRIVER is a more appropriate one for this case.

------------------------------------------------------------------------
                                                From Beijing, China




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?courier.48D4C422.0000187B>