linux/block/compat_ioctl.c
<<
>>
Prefs
   1#include <linux/blkdev.h>
   2#include <linux/blkpg.h>
   3#include <linux/blktrace_api.h>
   4#include <linux/cdrom.h>
   5#include <linux/compat.h>
   6#include <linux/elevator.h>
   7#include <linux/fd.h>
   8#include <linux/hdreg.h>
   9#include <linux/slab.h>
  10#include <linux/syscalls.h>
  11#include <linux/types.h>
  12#include <linux/uaccess.h>
  13
  14static int compat_put_ushort(unsigned long arg, unsigned short val)
  15{
  16        return put_user(val, (unsigned short __user *)compat_ptr(arg));
  17}
  18
  19static int compat_put_int(unsigned long arg, int val)
  20{
  21        return put_user(val, (compat_int_t __user *)compat_ptr(arg));
  22}
  23
  24static int compat_put_uint(unsigned long arg, unsigned int val)
  25{
  26        return put_user(val, (compat_uint_t __user *)compat_ptr(arg));
  27}
  28
  29static int compat_put_long(unsigned long arg, long val)
  30{
  31        return put_user(val, (compat_long_t __user *)compat_ptr(arg));
  32}
  33
  34static int compat_put_ulong(unsigned long arg, compat_ulong_t val)
  35{
  36        return put_user(val, (compat_ulong_t __user *)compat_ptr(arg));
  37}
  38
  39static int compat_put_u64(unsigned long arg, u64 val)
  40{
  41        return put_user(val, (compat_u64 __user *)compat_ptr(arg));
  42}
  43
  44struct compat_hd_geometry {
  45        unsigned char heads;
  46        unsigned char sectors;
  47        unsigned short cylinders;
  48        u32 start;
  49};
  50
  51static int compat_hdio_getgeo(struct gendisk *disk, struct block_device *bdev,
  52                        struct compat_hd_geometry __user *ugeo)
  53{
  54        struct hd_geometry geo;
  55        int ret;
  56
  57        if (!ugeo)
  58                return -EINVAL;
  59        if (!disk->fops->getgeo)
  60                return -ENOTTY;
  61
  62        /*
  63         * We need to set the startsect first, the driver may
  64         * want to override it.
  65         */
  66        geo.start = get_start_sect(bdev);
  67        ret = disk->fops->getgeo(bdev, &geo);
  68        if (ret)
  69                return ret;
  70
  71        ret = copy_to_user(ugeo, &geo, 4);
  72        ret |= __put_user(geo.start, &ugeo->start);
  73        if (ret)
  74                ret = -EFAULT;
  75
  76        return ret;
  77}
  78
  79static int compat_hdio_ioctl(struct block_device *bdev, fmode_t mode,
  80                unsigned int cmd, unsigned long arg)
  81{
  82        mm_segment_t old_fs = get_fs();
  83        unsigned long kval;
  84        unsigned int __user *uvp;
  85        int error;
  86
  87        set_fs(KERNEL_DS);
  88        error = __blkdev_driver_ioctl(bdev, mode,
  89                                cmd, (unsigned long)(&kval));
  90        set_fs(old_fs);
  91
  92        if (error == 0) {
  93                uvp = compat_ptr(arg);
  94                if (put_user(kval, uvp))
  95                        error = -EFAULT;
  96        }
  97        return error;
  98}
  99
 100struct compat_cdrom_read_audio {
 101        union cdrom_addr        addr;
 102        u8                      addr_format;
 103        compat_int_t            nframes;
 104        compat_caddr_t          buf;
 105};
 106
 107struct compat_cdrom_generic_command {
 108        unsigned char   cmd[CDROM_PACKET_SIZE];
 109        compat_caddr_t  buffer;
 110        compat_uint_t   buflen;
 111        compat_int_t    stat;
 112        compat_caddr_t  sense;
 113        unsigned char   data_direction;
 114        compat_int_t    quiet;
 115        compat_int_t    timeout;
 116        compat_caddr_t  reserved[1];
 117};
 118
 119static int compat_cdrom_read_audio(struct block_device *bdev, fmode_t mode,
 120                unsigned int cmd, unsigned long arg)
 121{
 122        struct cdrom_read_audio __user *cdread_audio;
 123        struct compat_cdrom_read_audio __user *cdread_audio32;
 124        __u32 data;
 125        void __user *datap;
 126
 127        cdread_audio = compat_alloc_user_space(sizeof(*cdread_audio));
 128        cdread_audio32 = compat_ptr(arg);
 129
 130        if (copy_in_user(&cdread_audio->addr,
 131                         &cdread_audio32->addr,
 132                         (sizeof(*cdread_audio32) -
 133                          sizeof(compat_caddr_t))))
 134                return -EFAULT;
 135
 136        if (get_user(data, &cdread_audio32->buf))
 137                return -EFAULT;
 138        datap = compat_ptr(data);
 139        if (put_user(datap, &cdread_audio->buf))
 140                return -EFAULT;
 141
 142        return __blkdev_driver_ioctl(bdev, mode, cmd,
 143                        (unsigned long)cdread_audio);
 144}
 145
 146static int compat_cdrom_generic_command(struct block_device *bdev, fmode_t mode,
 147                unsigned int cmd, unsigned long arg)
 148{
 149        struct cdrom_generic_command __user *cgc;
 150        struct compat_cdrom_generic_command __user *cgc32;
 151        u32 data;
 152        unsigned char dir;
 153        int itmp;
 154
 155        cgc = compat_alloc_user_space(sizeof(*cgc));
 156        cgc32 = compat_ptr(arg);
 157
 158        if (copy_in_user(&cgc->cmd, &cgc32->cmd, sizeof(cgc->cmd)) ||
 159            get_user(data, &cgc32->buffer) ||
 160            put_user(compat_ptr(data), &cgc->buffer) ||
 161            copy_in_user(&cgc->buflen, &cgc32->buflen,
 162                         (sizeof(unsigned int) + sizeof(int))) ||
 163            get_user(data, &cgc32->sense) ||
 164            put_user(compat_ptr(data), &cgc->sense) ||
 165            get_user(dir, &cgc32->data_direction) ||
 166            put_user(dir, &cgc->data_direction) ||
 167            get_user(itmp, &cgc32->quiet) ||
 168            put_user(itmp, &cgc->quiet) ||
 169            get_user(itmp, &cgc32->timeout) ||
 170            put_user(itmp, &cgc->timeout) ||
 171            get_user(data, &cgc32->reserved[0]) ||
 172            put_user(compat_ptr(data), &cgc->reserved[0]))
 173                return -EFAULT;
 174
 175        return __blkdev_driver_ioctl(bdev, mode, cmd, (unsigned long)cgc);
 176}
 177
 178struct compat_blkpg_ioctl_arg {
ide=cdread_audio" class="sref">cdread150" class="line" name="L70">  70
__user *) 154compat_uint_t   __user *) 154        ="block/compat_ioctl.c#L182" i18ss="sref">compat_int_t    stat& 154        a href="+code=mm_segment1_t" c1ass="sref">mm_segment_t   reserva href="block/compat_ioctl.c#L152" id="L152" class="line" name="L152"> 152 118 175compat_cdoctl.c#LL79a href="block/compat_ioctl.c#LL79>cgcblock_device *bdev, fmode_t mode,
 147put_useeeee>cmd, unsigned long compat_blkpg_ioctl_arg {
__blkdev_dr=uvp" class="sref">uvp;
dataa id="L1" class="line" name="L147"> 147
si        <1a href="+code=error" cla1ss="s1ef">error /f">block_device * {
__blkdev_dr=uvp" class="sref">uvp;
compat_alloc_user_space(sizeof(*cgc));
 156compat_caddr_t  buffer 152set_fs(stat& 154com/a>;
 154        f ( 154compat_int_t  /copat_ioctl.c#L16/co"L15();
data, &->dataa id="Lserved[0]))
 156  /copat_ioctl.c#L16/co"L15(compat_ptr(->[0]))
 156cgc = (data, &->dataa id="Lserved[0]))
 156cgc32 = (compat_ptr(->[0]))
 156
cdread_audio =/copat_ioctl.c#L16/co"L15(data, &->dataa id="Lserved[0]))
 156error = (compat_ptr(->[0]))
 156compat_caddr_t(data, &dataa id="Lserved[0]))
cgc 156<2a>struct 2a href="+code=compat_cdr2m_rea20ef">set_fs((compat_ptr(data), &[0]))
cgc 156<2a1struct 2ablock/compat_ioctl.c#L92m_add2" class="sref"/a> == 0) {
 147<2a>       2put_useeeeeor;
 154<2a>       2  442a>       2cor;
, mode, cmd, (unsigned long)cgc);
 154<2a5       2<               154<2a6       2< 107<2a>struct 2a href="+code=compat_cdr2m_gen2ric_co#defe=cnsigned long)datBLKBSZGET_ cs="sref">put_user(uIORa>, <0x12," cl,t_ioc" class="line" name="L107"> 107<2a8struct 2a"block/compat_ioctl.c#L2+code2cmd" c#defe=cnsigned long)datBLKBSZSET_ cs="sref">put_user(uIOWa>, <0x12," c3,t_ioc" class="line" name="L107"> 107<2a9struct 2ablock/compat_ioctl.c#L12dr_t"2class=#defe=cnsigned long)datBLKGET" id64_ cs="sref">put_r(uIORa>, <0x12," c4,t_ioc" class="line" name="L107"> 107<2a>       2  712a>       2compat_blkpg_iofloppy"sref"_param/compat_ioctl.c#Lkpg_iofloppy"sref"_param/="a>(2a>       2csref">dref">put_r( 154<2a>       2unsigned char   compat_int_t         u);
<"+code=buflen" class="sre);
<"+s="srea href="+code=cmax_de=data" class="srmax_de="L154" class="line" name="L154"> 154<2a>       2compat_int_t     154<2a5       2compat_int_t     116<2a>       2compat_caddr_t   116<2a>struct 2ef="block/compat_ioctl.c2L118"21ss="sref">cdread_audio = >   116<2a8struct 2="block/compat_ioctl.c#L219" i21lass="sref">cdread_audio32   116<2a9struct 2nt c" class="sref">data_direction 116<2a>       2        unsigned int data_direction 116<2a>       2f="block/compat_ioctl.c#2122" 221de=cmd" clas" class="sref">data_direction 154<2a>       2struct data_direction 154<2a>       2struct compat_int_t         u);
<"+code=buflen" class="sre);
<"+s="srea href="+code=clock/compat_ioctl.c#L116" id="L116" class="line" name="L116"> 116<2a>       2__u32 " class="sref">data_direction 116<2a5       2void __us class="sref">compat_bfloppy"max_ id="etgeo" class="sreloppy"max_ id="et& 116<2a>       2="block/compat_ioctl.c#L227" i22lass="sref">csref">dref">put_r( 154<2a>       2cdrsref">dref">put_r( 154<2a8struct 2cshort>dref">put_r( 117<2a>
  70
__user  70 154<2a>       2if (set_fs(stat( 154<2a>       2                 & 118<2a>       2                 (sizeof2* 154<2a>       2                  sizeof2compat_blkpg_iofloppy"sref"_ classcompat_ioctl.c#Lkpg_iofloppy"sref"_ class="a>(2a>       2        return -dt_r( 154<2a>
compat_int_t     154<2a>       2if (compat_caddr_t   154<2a>       2        return -cdread_audio = >   154<2a8struct 2cshort>dref">put_r( 154<2a>
putshort>dref">put_r( 154<2a>       2        return -dref">put_r( 154<2a>       2="block/compat_ioctl.c#L242" i241AULT" class=short>dref">put_r( 154<2a>       2return (stat( 154<2a>       2                (unsigne2 long24ss="sref">compat_int_t         ef="+code=stat" class="sref">stat( 154<2a>       2f="block/compat_ioctl.c#2145" 24ss="sref">compat_int_t    quiet;
 154<2a>
compat_int_t    timeout;
 154<2a>       2nt compat_caddr_t  timeout;
 154<2a>       2        unsigned int cdread_audio = >  reserva href="block/comampat_ioctl.c#L140"omampa"L154" class="line" name="L154"> 154<2a8struct 2f="block/compat_ioctl.c#2149" 24lass="sref">cdread_audio32  timeout;
 154<2a>
 118<2a>       2struct   712a>       2compat_blkpg_iofloppy"fdc_c_coizeof(*2a>       2unsigned char (stat( 154<2a>       2int compat_int_t         ef="+code=stat" class="sref">stat(datspecc"L154" class="line" name="L154"> 154<2a>       2="block/compat_ioctl.c#L255" i25ss="sref">compat_int_t    quiet;
 154<2a>       2cgc = data_direction 154<2a>       2cgc32 " class="sref">data_direction  982a>
cdread_audio = >    982a8struct 2if (cmd;cdread_audio =rawhref="+code=cgc" crawhred" c:2 class="line" name="L98">  982a>
c" class="/a>;cdread_audio =res/compat_ioctl.c#Lres/cd" c:1 class="line" name="L98">  982a>       2      982a>       2    cmperp_md" d" c:2 class="line" name="L98">  982a>       2                 (sizeof2unsig26_audio" class" class="/a>;cdread_audio =has_fiflock/compat_iocthas_fifld" c:1 class="line" name="L98">  982a>       2    get" class="/a>;cdread_audio =sref">bversref="block/compat_sref">bversrefL98" class="line" name="L98">  982a>       2    __u32 " class="sref">data_direction 117<2a>       2     106<2a>       2     107<2a>       2    compat_cdfloppy"write_ id="etgeo" class="srmpat_cdfloppy"write_ id="e="a>(2a>       2    cmd;cdread_audio =write_ id="etgeo" class="srwrite_ id="e="a>6" class="line" name="L106"> 106<2a>
  70
 106<2a>       2    set_fs(stat( 106<2a>       2    compat_int_t     106<2a>       2    (stat( 106<2a>       2        return -compat_int_t         uef="+code=buflen" class="sref">buflen;
6" class="line" name="L106"> 106<2a>       2="block/compat_ioctl.c#L275" i2="L17506" class="line" name="L106"> 106<2a>       2return  146<2a>}
datFDSETPRM ceserva href="block/c_IOW" class="sref">uIOWa>, <2, 0x42ef class="sref">compat_blkpg_iofloppy" classcompat_ioctl.c#Lkpg_iofloppy" class="a>c" class="line" name="L107"> 107<2a>
datFDDEFPRM ceserva href="block/c_IOW" class="sref">uIOWa>, <2, 0x43ef class="sref">compat_blkpg_iofloppy" classcompat_ioctl.c#Lkpg_iofloppy" class="a>c" class="line" name="L107"> 107<2a>       2a href="+code=compat_blk2g_ioc27md" c#defe=cnsigned long)datFDSETDRVPRM ceserva href="block/c_IOW" class="sref">uIOWa>, <2, 0x90ef class="sref">compat_blkpg_iofloppy"sref"_param/compat_ioctl.c#Lkpg_iofloppy"sref"_param/="a>c" class="line" name="L107"> 107<2a>
cdre2d150"27lass=#defe=cnsigned long)datFDGETDRVPRM ceserva href="block/c_IOR" class="sref">uIORa>, <2, 0x11ef class="sref">compat_blkpg_iofloppy"sref"_param/compat_ioctl.c#Lkpg_iofloppy"sref"_param/="a>c" class="line" name="L107"> 107<2         2       unsigned int datFDGETDRVSTAT ceserva href="block/c_IOR" class="sref">uIORa>, <2, 0x12ef class="sref">compat_blkpg_iofloppy"sref"_ classcompat_ioctl.c#Lkpg_iofloppy"sref"_ class="a>c" class="line" name="L107"> 107<2 >       2="block/compat_ioctl.c#L282" i28ss="s#defe=cnsigned long)datFDPOLLDRVSTAT ceserva href="block/c_IOR" class="sref">uIORa>, <2, 0x13ef class="sref">compat_blkpg_iofloppy"sref"_ classcompat_ioctl.c#Lkpg_iofloppy"sref"_ class="a>c" class="line" name="L107"> 107<2 >       2a href="+code=mm_segment2_t" c2ass="s#defe=cnsigned long)datFDGETFDCSTAT ceserva href="block/c_IOR" class="sref">uIORa>, <2, 0x15ef class="sref">compat_blkpg_iofloppy"fdc_c_coizeof(* 107<2 >       2nsigned long datFDWERRORGET cs="srea href="+code=c_IOR" class="sref">uIORa>, <2, 0x17ef class="sref">compat_blkpg_iofloppy"write_ id="etgeo" class="srmpat_cdfloppy"write_ id="e="a>c" class="line" name="L107"> 107<2 >       2nsigned int  175<2        i2nt 2
cgc32 " class="/a>;cdread_audio =cmd=reserved" class="md=r="a>6" class="line" name="L106"> 106<2
>
cgc32 " class="/a>;cdread_audio =cmdeserved" class="md="a>6" class="line" name="L106"> 106<2
>       2a href="+code=error" cla2ss="s2ef">er};
2
>
c{nsigned long)datFDSETPRM ceserunsigned long)datFDSETPRMass="}7" class="line" name="L147"> 147<2        <2a href="+code=set_fs" cl2ass="2ref">set_fsdatFDDEFPRM ceserunsigned long)datFDDEFPRMass="}7" class="line" name="L147"> 147<2 >       2"block/compat_ioctl.c#L922" id29ss="sref">com{nsigned long)datFDGETPRM ceserunsigned long)datFDGETPRMass="}7" class="line" name="L147"> 147<2 >       2f (c{nsigned long)datFDSETDRVPRM ceserunsigned long)datFDSETDRVPRMass="}7" class="line" name="L147"> 147<2 >       2       com{nsigned long)datFDGETDRVPRM ceserunsigned long)datFDGETDRVPRMass="}7" class="line" name="L147"> 147<2 >       2       if (datFDGETDRVSTAT ceserunsigned long)datFDGETDRVSTATass="}7" class="line" name="L147"> 147<2        i2               datFDPOLLDRVSTAT ceserunsigned long)datFDPOLLDRVSTATass="}7" class="line" name="L147"> 147<2 cgc32 {nsigned long)datFDGETFDCSTAT ceserunsigned long)datFDGETFDCSTATass="}7" class="line" name="L147"> 147<2 >
cdr{nsigned long)datFDWERRORGET cs="sunsigned long)datFDWERRORGETass="}" class="line" name="L147"> 147<2 >       2="block/compat_ioctl.c#L299" i29f">er06" class="line" name="L106"> 106<2         2"block/compat_ioctl.c#L1200" i29lass=" class="line" name="L106"> 106<3a>struct 3a href="+code=compat_cdr3m_rea30ass="#defe=cnsigned long)datNR_FDuIOCTL_TRANSeserva href="block/cARRAY_" idlass="sref">datARRAY_" ida>, ;
 107<3a1struct 3ablock/compat_ioctl.c#L93m_add30"L142" class="line" name="L142"> 142<3a>       3compat_cdfd_#LL79tgeo" class="srmpat_cdfd"#LL79a>, block_device *bdev, fmode_t mode,
 147<3a>       3E>cmd, unsigned long arg)
 148<3a>       33a5       3<              compat_int_t  mm_segmef="+code=buflen" clmm_segmef="+a>,
 154<3a6       3<cgc32 void datNULL="a>6" class="line" name="L106"> 106<3a>struct 3a href="+code=compat_cdr3m_gen307">cgc32 " class="/a>;a href="+code=fkref="+code=arg" clkass="sr(ut06" class="line" name="L106"> 106<3a8struct 3a"block/compat_ioctl.c#L3+code30 class="sref">;
  154<3a9struct 3ablock/compat_ioctl.c#L13dr_t"30lass=" class="line" name="L106"> 106<3a>       3set_fs == 0) {
datNR_FDuIOCTL_TRANSeser6 148<3a>       3get_useref">copy_in_user(&aef="+code=arg" class="sr =ut_user( =cmd=reserved" class="md=r="a>)=3a>       3ccccccccccccccccca href="+code=fkref="+code=arg" clkass="sr(ut_user( =cmdeserved" class="md="a>6" class="line" name="L106"> 106<3a>       3unsigned char   EEEEEEEEEbreak6" class="line" name="L106"> 106<3a>       3commmmmmmmm}" class="line" name="L147"> 147<3a5       3com>cop!a href="+code=fkref="+code=arg" clkass="sr8" class="line" name="L148"> 148<3a6       3put_useeeeeFAULT;
datcINVAL="a>6" class="line" name="L106"> 106<3a>struct 3ef="block/compat_ioctl.c3L118"31"L178" class="line" name="L178"> 178<3a8struct 3="block/compat_ioctl.c#L319" i31lass="sref">cswitchopy_in_user(&aef="+code=arg" class="sr)=3a9struct 3nt ccascnsigned long)datFDSETPRM ceser:a href="+code=val" class="sref">3a>       3        unsigned int datFDDEFPRM ceser:a href="+code=val" class="sref">3a>       3f="block/compat_ioctl.c#3122" 321de=cmd" clascascnsigned long)datFDGETPRM ceser:a href="+code=val" class="sref">3a>       3struct 3a>       3struct Eclass="sref">compat_cdupt="+code=reserved" class="upt="+a>,
 106<3a>       3commmmmmmmm class="sref">compat_blkpg_iofloppy" classcompat_ioctl.c#Lkpg_iofloppy" class="a>ea href="+code=c_r=uvp" class="sref">uvp;
 154<3a5       3void __usmmmmmmmm class="sref">compat_bfloppy" classcompat_ioctl.c#floppy" class="a>e href="block/comclmpat_ioctl.c#Lf"L154" class="line" name="L154"> 154<3a6       3="block/compat_ioctl.c#L327" i32"L107" class="line" name="L107"> 107<3a>       3get_usef">Eclass="sref">copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class="sref">data), & 154<3a8struct 3put_usef">Eclass="sref">coclmpat_ioctl.c#Lf"L15ass="sref">compat_kpat_ioctl.c#L148" k id="a>(ut_user(, ));
 class="sref">compat_bfloppy" classcompat_ioctl.c#floppy" class="a>)t datGFP_KERNEL"L1484" class="line" name="L154"> 154<3a9struct 3="block/compat_ioctl.c#L330" i32ss="sref">get_use>com>cop!a href="+code=fkpat_ioctl.c#L148" k id="a>8" class="line" name="L148"> 148<3a>       3if (put_useeeeeeeeeeeeeFAULT;
datcNOMEM"L154" class="line" name="L154"> 154<3a>       3                 &get_useref">copy_in_user(&aef="+code=arg" class="sr =ut_user(datFDGETPRM ceser8" class="line" name="L148"> 148<3a>       3                 (sizeof3*put_useeeeeeeeeeeeebreak6" class="line" name="L106"> 106<3a>       3                  sizeof3Eclass="sref">co/copat_ioctl.c#L16/co"L15();
) ||
) ||
 154<3a>       3        return -commmmmmmmmclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->) ||
 154<3a5       3="block/compat_ioctl.c#L336" i33s="sref">__usmmmmmmmmclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->) ||
 154<3a6       3if (put_useeeeeclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->) ||
 154<3a>       3        return -get_usef">Eclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->) ||
 154<3a8struct 3put_usef">Eclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->) ||
 154<3a9struct 3if (get_use>comclass="sref">co/copat_ioctl.c#L16/co"L15() ||
) ||
 154<3a>       3        return -put_useeeeeclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->) ||
 154<3a>       3="block/compat_ioctl.c#L342" i34ss="sref">get_useref"class="sref">co/copat_ioctl.c#L16/co"L15() ||
->) ||
 154<3a>       3return put_useeeeeclass="sref">co/copat_ioctl.c#L16/co"L15() ||
 154<3a>       3                (unsigne3 long34FAULT" class="sref">Eclass="sref">coflmpat_ioctl.c#Lf"L15) ||
compat_alloc_ude=data" class="sref">data), & 154<3a>       3f="block/compat_ioctl.c#3145" 34ss="sref">commmmmmmmm/a> == 0) {
3a>
__usmmmmmmmm_useeeeeclass="sref">co/copat_ioctl.c#L16/co"L15<=/a>;
datcFAULT"L154" class="line" name="L154"> 154<3a>       3nt put_useeeeeeeeeeeeegoto 116<3a>       3        unsigned int get_usef">E}" class="line" name="L147"> 147<3a8struct 3f="block/compat_ioctl.c#3149" 34ss="sref">put_usef">Ebreak6" class="line" name="L106"> 106<3a>
get}" class="line" name="L147"> 147<3a>       3struct datFDSETDRVPRM ceser:a href="+code=val" class="sref">3a>       3datFDGETDRVPRM ceser:a href="+code=val" class="sref">3a>       3unsigned char 3a>       3int E class="sref">compat_blkpg_iofloppy"sref"_param/compat_ioctl.c#Lkpg_iofloppy"sref"_param/="a>(a href="+code=c_r=uvp" class="sref">uvp;
 154<3 class="s3="block/compat_ioctl.c#L3RM cencode=reserved" code="au=val" class="sr_oppy"ef">compat_bfloppy" classcompat_ioctl.c#floppy" class="a>e href="block/e=data" c3ass="srde="L154" class="3ine" 35me="L106"> 106<2a>       2return  154<3a6       3if (get_usef">Eclass="sref">copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class="sref">data), & 154<3a>       3        recode=cdread_au3io32"32ss="sref">put_usef">Eclass="sref">coclmpat_ioctl.c#Lf"L15ass="sref">compat_kpat_ioctl.c#L148" k id="a>(ut_user(compat_bfloppy" classcompat_ioctl.c#floppy" class="a>)t  147<3a8struct 3="block/compat_ioctl.c#L330" i32ss="sref">get_use>com>cop!a href="+code=fkpa+code=cgc3 crawhred" c:2 class="li3e" na35me="L154"> 154<3a9strrrrrrrrr(put_useeeeeeeeeeeeeFAULT;
 154<3a>       3                 &get_useref">copy_in_ude=u32" clas3="sre351de=cmd" clascascnsiget_use>com>cop!a href="+code=fkpaef="need_3onfigurid" c:1 class="li3e" na36me="L154"> 154<3a>           uct 3f="block/compat_ioctl.c#3149" 34ss"sref">cm3erp_md" d" c:2 class="li3e" na36me="L154"> 154<3a>       3return get_useref"class="sref">co/copat_ioctl.c#L16/co"L15(cf__locke=daa>, ;
c>)t  106<3a>       3                  sizeof3get_useref"class="sref">co/copat_ioctl.c#L16/co"L15(bversrefL98" class="li3e" na36me="L154"> 154<3a>       3        return -commmmmmmmmclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->u);
<"+code=buflen" clas>)t  154<3a5       3="block/compat_ioctl.c#L336" i33s="sref">__usmmmmmmmmclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->u);
<"+code=buflen" clas>)t  154<3a6       3if (put_useeeeeclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->u);
<"+code=buflen" clas>)t  154<3a>       3        return -get_usef">Eclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->);
<"+code=buflen" class="sre>)t ( 154<3a8struct 3put_usef">Eclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->);
<"+code=buflen" class="sre);
<>)t 6" class="3ine" 36me="L154"> 154<3a9struct 3if (get_use>comclass="sref">co/copat_ioctl.c#L16/co"L15(c" class="sref">data_di.c#Lf"L15) ||
->);
<"+drom21lass="sref">c" class="sref">data_di>)t  154<3a>       3        return -put_useeeeeclass="sref">co/copat_ioctl.c#L16/co"L15(dtl.c#Lf"L15) ||
-> d>)t  154<3a>       3="block/compat_ioctl.c#L342" i34ss="sref">get_useref"class="sref">co/copat_ioctl.c#L16/co"L15() ||
)t cm3d="_="+cmp="a>6" class="3ine" 37me="L154"> 154<3a>       3return put_useeeeeclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->)t 6" class="3ine" 37me="L106"> 106<3a>       3                  sizeof3get_useref"class="sref">co/copat_ioctl.c#L16/co"L15() ||
->u);
<"+code=buflen" class="sre);>)t  154<3a>       3        return -commmmmmmmmclass="sref">co/copat_ioctl.c#L16/co"L15(__u32 " class="sref">data_di.c#Lf"L15) ||
-&g32" cl2ss="s2ef">__u32 " class="sref">data_di>)t  154<3a5       3="block/compat_ioctl.c#L336" i33s="sref">__usmmmmmmmmclaco>comrom"sref">co/copat_ioctl.co>comrom"sref"L15<#Lf"L15) ||
(15) ||
 154<3a6       3if (put_useeeeeclass="sref">co/copat_ioctl.c#L16/co"L15() ||
->href=2+code2EFAULT" class=cl>)t  154<3a>       3        return -get_usef">Eclass="sref">co/copat_ioctl.c#L16/co"L15(cdrsref">dref">tl.c#Lf"L15) ||
cdrsref">dref">>)t  154<3a8struct 3put_usef">Eclaco>comrom"sref">co/copat_ioctl.co>comrom"sref"L15(cshort>dref">ef">compat_bflopp href="blrcoizeof(*t-&gead_au2io32"2class="sref">cshort>dref">efid="a>(15) ||
cshort>dref">)>)t c" class="3ine" 37me="L154"> 154<3a9struct 3if (get_use>comclass="sref">co/copat_ioctl.c#L16/co"L15(tifreqca2dr_t"2class="">tifreqf">cf__locke=daa>, ;
tifreqca2dr_t"2class="">tifreqf">c>)t c" class="3ine" 38me="L154"> 154<3a>       3        return -put_useeeeeclass="sref">co/copat_ioctl.c#L16/co"L15(csnatclasss="s2f">cf__locke=daa>, ;
csnatclasss="s2f">c>)t  154<3a>       3              t_ioctl.c#3145" 34ss="sref">commmmmmmmm/a> == 0) {
3a>       3__usmmmmmmmm_useeeeeclass="sref">co/copat_ioctl.c#L16/co"L15<=/a>;
 106<3a>       3unsput_useeeeeeeeeeeeegotoc" class="3ine" 38me="L106"> 106<3a>       3 154<3a5   uct 3f="block/compat_ioctl.c#3149" 34sslas2="sre3c_comma class=6" class="3ine" 3ame="L106"> 10">3a>       36" class="3ine" 388e="L106"> 10">3a>       3cgc =  154<3a9struct 3if (Eclass="sref">coclmpat_ioctl.c#Lf"L15ass="sref">compat_kpat_ioctl.c#L148" k id="a>(ut_user(, ));t_blkpg_iofloppy"ef">compat_bfloppy" classcompat_ioctl.c#floppy" class="a>)t da3FDSETPRMass="}7" class="3ine" 39me="L154"> 154<3a>       3="block/compat_ioctl.c#L330" i32ss="sref">get_use>com>cop!a href="+code=fkpa"sref">da3FDDEFPRMass="}7" class="3ine" 39me="L154"> 154<3a>           (put_useeeeeeeeeeeeeFAULT;
da3FDGETPRMass="}7" class="3ine" 39" class="sref">3a>   uct 3f="block/compat_ioctl.c#3149" 34ssef">datFD3ETDRVPRMass="}7" class="3ine" 3ame="L147"> 14">3a>       3cgc32 {nsigngned long)datFD3ETDRVPRMass="}7" class="3ine" 39me="L154"> 154<3a>       3        ref">Eclass="sref">coclmpat_ioctl.c#Lf"L15ass="sref">compat_kpat_ioctl.c#L148" k id="a>(ut_user(uIORa>, <2, 0x15ef cref">compat_blkpg_iofef">compat_bfloppy" classcompat_ioctl.c#floppy" class="a>)t  154<3a5       3="block/compat_ioctl.c#L330" i32ss="sref">get_use>com>cop!a href="+code=fkpa"as2="sre3LDRVSTATass="}7" class="3ine" 39me="L154"> 154<3a6           (put_useeeeeeeeeeeeeFAULT;
 154<3a>   uct 3f="block/compat_ioctl.c#3149" 34ssedeserved3WERRORGETass="}" class="3ine" 398e="L106"> 10">3a>       3cdr{nsigned long)er06" class="3ine" 39me="L154"> 154<3a9struct 3if (Eclass="sref">coclmpat_ioctl.c#Lf"L15ass="sref">compat_kpat_ioctl.c#L148" k id="a>(ut_user(uIORa>, <2, 0x17ef clas">compat_blkpg_iofloppy"ef">compat_bfloppy" classcompat_ioctl.c#floppy" class="a>)t  154<3a>       3="block/compat_ioctl.c#L330" i32ss="sref">get_use>com>cop!a href="+code=fkp4fd_#LL79"4rans_tablo"L15c" class="4ine" 40me="L154"> 154<3a>           (put_useeeeeeeeeeeeeFAULT;
3a>   uct 3f="block/compat_ioctl.c#3149" 34s4at_ioctl.4#L147" id="L147" class="4ine" 4ame="L147"> 14defaultgned long) 154<3a>       3put_useeeeeFAULT;
, <14" class="4ine" 4ame="L154"> 15="+c"L11t->block/cold_fetgeo" slass="srol="+c"L11t-&g" clas_Do="+code=arg" cl" clas_Dos="a>)t  10href="+code=comtl.c#L346" i34s="sref">__usmf">put_useeeeeclablkdev_class="u8" class3"sref30ss=lablkdev_class="u8" c"srol="+c"L11t-&g href="+code=bdev" class="sref">bdev, c, (">E>cmd, )="block/compat_ioctl.c#L330" i32ss="sref">g)t  10="+c"L11t->block/cold_fetgeo" slass="srol="+c"L11t-&gm_segmef="+code=buflen" clmm_seg)t er06" class="4ine" 40me="L154"> 15    3              t_ioctl.c#3145" 34ss="sreft  154<3a>   put_useeeeeeeeeeeeegoto 148<3a8struct 3="block/compat_ioctl.c#L319" i31lass="sref">cswitchopy_in_user(&ae4erved" cl4ss="md=r="a>)=3a>       3f="block/compat_ioctl.c#3122" 321de=cmd" clascascnsigned long)6" class="4ine" 4ame="L106"> 10"sref">cswitchopy_in_user(&ae4et_ioctl.4EEEEEEEEEbreak6" class="4ine" 4ame="L106"> 106<3a>       3void __usmmmmmmmm class="sref">compat_bfloppy" classcompat_ioctl2ss="sref">put_usef">Eclass="sref">coclmpat_ieeeeeeeeeeeeegotocommmmmmmmm}" class="4ine" 41me="L154"> 154<3a5       3void commmmmmmmm class="sref">compat_blkpg_iofloppy" classcompat_ioctl.c#Lkpg_iofloppy" class="a>ea href="+code=c_r=uvp" classs="sref">get_usef">Eclass="sref">copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class="sref">data), & 154<3a6       3="block/com4ass="sref4>datcINVAL="a>6" class="4ine" 41me="L154"> 154<3a>       3        return -put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15() ||
) ||
 154<3a8struct 3put_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->) ||
 154<3a9struct 3if (get_use>comclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->) ||
da4FDSETPRM ceser:a href="+4ode=v42me="L154"> 154<3a>       3        return -put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->) ||
da4FDDEFPRM ceser:a href="+4ode=v42me="L154"> 154<3a>       3="block/compat_ioctl.c#L342" i34ss="sref">get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15() ||
->) ||
da4FDGETPRM ceser:a href="+4ode=v42" class="sref">3a>       3="block/compat_ioctl.c#L342" i34ss="sref">get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15() ||
->) ||
3a>       3struct get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15() ||
) ||
 106<3a>       3struct get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15() ||
->) ||
 154<3a5       3struct get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15() ||
->) ||
 154<3a6       3if (put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15<(bversrefLgc" cla6me="L)="block/compat_      (unsigne3 long34FAULT" class="sref">Eclass="sref">coflmpat_ioc,truct 3="block/comef="blcadde=co3pat_c32FAULT" class=cadde=ct_blkpg_iofloppy" classcompat_ioctl.c#Lkpg_iofloppy" )_locke=daa>, ;
) ||
 107<3a>   uct 3f="block/compat_ioctl.c#3149" 34s4t_ioctl.c4L148" id="L1484" class="4ine" 4ame="L154"> 15    3dat4FP_KERNEL"L1484" class="4ine" 42" class="sref">3a9struct 3nt  14"sref">cswitchopy_in_user(&ae4ass="sref4>datcNOMEM"L154" class="4ine" 4ame="L154"> 154<3a>       3int E class="sref">compat_blkpg_iofloppy"sref"_param/compat_ioctl.c#Lkpg_iofloppy"sref"_param/="a>(a href="+code=c_r=uvp" class="sref">uvp;
da4FDGETPRM ceser8" class="4ine" 4ame="L148"> 148<3a>   s="s3="block/compat_ioctl.c#L3RM cencode=reserved" code="au=val" class="sr_oppy"ef">compat_bfloppy" classcompat_ioctl2ss="sref">put_usef">Eclass="sref">coclmpat_ieeeeeeeeeeeeegoto)ode_84" class="4ine" 4ame="L154"> 154<3a>       3        ref="+code=c_r=uvp" classs="sref">get_usef">Eclass="sref">copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class="sref">data), & 154<3a5       3="block/compat_ioctl.c#L336" i33s="sref">get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15(cf__locke=daa>, ;
c>)t  154<3a6       3if (put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15( 154<3a>       3        return -get_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->u);
<"+code=buflen" clas>)t  154<3a8struct 3put_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->u);
<"+code=buflen" clas>)t  154<3a9struct 3if (get_use>comclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->u);
<"+code=buflen" clas>)t  154<3a>       3        return -put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->);
<"+code=buflen" class="sre>)t  154<3a>       3="block/compat_ioctl.c#L342" i34ss="sref">get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15() ||
->);
<"+code=buflen" class="sre);
<>)t  154<3a>       3return put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15(c" class="sref">data_di.c#Lf"L15) ||
->);
<"+drom21lass="sref">c" class="sref">data_di>)t  154<3a>       3          href="+code=__3lkdev34cs="sref">put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15(dtl.c#Lf"L15) ||
-> d>)t  154<3a>       3          href="+code=__3lkdev34cs="sref">put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15() ||
)t 3a>
put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->)t datcFAULT"L154" class="4ine" 4ame="L154"> 154<3a>       3          href="+code=__3lkdev34cs="sref">put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->u);
<"+code=buflen" class="sre);>)t  116<3a>       3          href="+code=__3lkdev34cs="sref">put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15(__u32 " class="sref">data_di.c#Lf"L15) ||
-&g32" cl2ss="s2ef">__u32 " class="sref">data_di>)t get_usef">E}" class="4ine" 4ame="L147"> 147<3a8str    3          href="+code=__3lkdev34cs="sref">put_useeeeeclaco>coto"sref">co/copat_ioctl.co>coto"sref"L15<_locke=daa>, ;
) ||
(15) ||
p4t_usef">Ebreak6" class="4ine" 44me="L154"> 154<3a9struct 3if (get_use>comclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->href=2+code2EFAULT" class=cl>)t get}" class="4ine" 45me="L154"> 154<3a>       3        return -put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15(cdrsref">dref">tl.c#Lf"L15) ||
cdrsref">dref">>)t datFD4ETDRVPRM ceser:a href="+4ode=v45me="L154"> 154<3a>       3="block/compat_ioctl.c#L342" i34ss="sref">get_useref"claco>coto"sref">co/copat_ioctl.co>coto"sref"L15<"L15) ||
cshort>dref">ef">compat_bflopp hr__locke=data" class="sref__locke=daa>,ead_au2io32"2class="sref">cshort>dref">efid="a>(15) ||
cshort>dref">)>)t datFD4ETDRVPRM ceser:a href="+4ode=v45me="L154"> 154<3a>       3return put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15(tifreqca2dr_t"2class="">tifreqf">cf__locke=daa>, ;
tifreqca2dr_t"2class="">tifreqf">c>)t 3a>       3return put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15(csnatclasss="s2f">cf__locke=daa>, ;
csnatclasss="s2f">c>)t  154<3 clasuct 3f="block/compat_ioctl.c#3149" 34s4e=data" c4ass="srde="L154" class="4ine" 45" class="sref    3 15">3a>       3 10">3a>       3cgc =  14"sref">cswitchopy_in_user(&ae4+code=cgc4 crawhred" c:2 class="li4e" na45me="L154"> 154<3a9str    3int commmmmmmmm class="sref"t_blkpg_iofloppy"sref"_param/compat_ioctl.c#Lkpg_iofloppy"sref"_param/="a>(a href="+code=c_r=uvp" class="sref">uvp;
 154<3a>   ut_user(, ));t_blkpg_iofloppy"ef">compat_bfloppy" classcompat_ioctl2ss="sref">put_usef">Eclass="sref">coclmpat_ieeeeeeeeeeeeegotodatFD4erp_md" d" c:2 class="li4e" na46me="L154"> 154<3a>       3return get_usef">Eclass="sref">copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class="sref">data), & 106<3a>       3                  sizeof3get_use>comclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->href=2+code2EFAULT" class=cl>)t bversrefL98" class="li4e" na46me="L154"> 154<3a>       3        return -commmmmmmmmclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->);
<_d; 154<3a5       3="block/compat_ioctl.c#L336" i33s="sref">__usmmmmmmmmclapu="sref">co/copat_ioctl.pu="sref"L15(dtl.c#Lf"L15) ||
-> d>)t  154<3a6       3if (put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->irst_drsrer; 154<3a>       3        return -get_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15(csprobedsss="s2s=clf"L15) ||
-&gprobedsss="s23lass="sref">csprobedsss="s2s=cl>)t ( 154<3a8struct 3put_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->) ||
 154<3a9struct 3if (get_use>comclapu="sref">co/copat_ioctl.pu="sref"L15() ||octl.c#Lf"L15) ||
-&g u)>) ||" class="sreloppy">) ||octl40"pa"L15) ||
 154<3a>       3        return -put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15() ||
-&g u)t;) ||
6" class="4ine" 47me="L154"> 154<3a>       3="block/compat_ioctl.c#L342" i34ss="sref">get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15() ||
-&g eneratio+code=buflen" cl eneratio+octl40"pa"L15) ||
datFD4d="_="+cmp="a>6" class="4ine" 47me="L154"> 154<3a>       3return put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15(cocee<_d;) ||
-&gkee<_d;cocee<_d;) ||
 106<3a>       3                  sizeof3get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15() ||
->d_datar__locke=data" d_dats=cl40"pa"L15) ||
 154<3a>       3        return -commmmmmmmmclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->d_devica href="+codeat_ d_devicas=cl40"pa"L15) ||
 154<3a5       3="block/compat_ioctl.c#L336" i33s="sref">__usmmmmmmmmclapu="sref">co/copat_ioctl.pu="sref"L15(tiea href="+codeat__lot_"">tieas=clf"L15) ||
-&g_lot_"">tiea href="+codeat__lot_"">tieas=cl40"pa"L15) ||
 154<3a6       3if (put_useeeeeclapu="sref">co/copat_ioctl.pu="sref"L15<(bversrefLgc" cla6me="L)="block/compat_      (unsigne3 long34FAULT" class="sref"dmab"blfmt_ga=cgc" cldmab"bs=clf"L15) ||
-&gdmab"blfmt_ga=cgc" cldmab"bs=cl40"pa"L15) ||
 154<3a>       3        return -get_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15<(bversrefLgc" cla6me="L)="block/compat_      (unsigne3 long34FAULT" class="sref"b"b>) ||f=2+code2EFAULT"b"b>) ||fs=clf"L15) ||
-&gb"b>) ||f=2+code2EFAULT"b"b>) ||fs=cl40"pa"L15) ||
 154<3a8struct 3f="block/compat_ioctl.c#3149" 34s48code=cgc4ef"_param/="a>c" class="4ine" 47me="L154"> 15    3c" class="4ine" 48me="L154"> 15">3a>       3cgc32 {nsigngned long) 15"sref">cswitchopy_in_user(&ae4ofloppy"s4ef"_ class="a>c" class="4ine" 48" class="sref">3a>       3int uIORa>, <2, 0x15ef ce=itmp"3class3ef">uIORaoppy"sref"_param/compat_ioctl.c#Lkpg_iofloppy"sref"_param/="a>(a href="+code=c_r=uvp" class="sref">uvp;
 106<3a>   ut_user(uIORa>, <2, 0x15ef cref">compat_blkpg_io"ef">compat_bfloppy" classcompat_ioctl2ss="sref">put_usef">Eclass="sref">coclmpat_ieeeeeeeeeeeeegotoc" class="4ine" 48me="Leeeeeeeeeeeegoto 154<3a5       3return get_usef">Eclass="sref">copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class="sref">data), & 154<3a6       3if (get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15() ||
->) ||
6" class="4ine" 48me="L154"> 154<3a>       3        return -get_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15() ||
->) ||
6" class="4ine" 48me="L154"> 154<3a8struct 3put_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15() ||
 154<3a9struct 3if (put_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15(, ;
) ||
da4FDSETPRMass="}7" class="4ine" 49me="L154"> 154<3a>   uct 3if (put_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15(, ;
) ||
 154<3a>   uct 3if (put_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15(, ;
) ||
3a>   uct 3if (put_usef">Eclaco>coto"sref">co/copat_ioctl.co>coto"sref"L15<(charkpg_iofloppy" classcompat_ioctl.c#Lkpg_iofloppy" )_locke=daa>, ;
) ||
 106<3a>                      (chark )_locke=daa>, ;
< hr__locke=data" class="sref__locke=daa>,addeesf=2+code2EFAULT"addeesfre); +fid="a>(15) ||
datFD4ETDRVPRMass="}7" class="4ine" 49me="L154"> 154<3a>       3        recode=datap" cl3ss="s33ss="sref">put_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15( 154<3a5   uct 3if (put_usef">Eclaco>coto"sref">co/copat_ioctl.co>coto"sref"L15, ;
()t  154<3a6   uct 3f="block/compat_ioctl.c#3149" 34s4"pat_ioct4TFDCSTATass="}7" class="4ine" 49me="L154"> 15    3 10">3a>       3cdr{nsigned long)er06" class="4ine" 49me="L154"> 15"sref">cswitchopy_in_user(&ae5t_ioctl.c5L1200" i29lass=" class="5ine" 50me="L154"> 154<3a>       3int uIORa>, <2, 0x17ef clase=itmp"3class3ef">uIORa>, oppy"sref"_param/compat_ioctl.c#Lkpg_iofloppy"sref"_param/="a>(a href="+code=c_r=uvp" class="sref">uvp;
 154<3a>   ut_user(uIORa>, <2, 0x17ef clas">compat_blkpg_iofloppy"ef">compat_bfloppy" classcompat_ioctl2ss="sref">put_usef">Eclass="sref">coclmpat_ieeeeeeeeeeeeegoto 106<3a>       3          f="+code=c_r=uvp" classs="sref">get_usef">Eclass="sref">copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class="sref">data), & 154<3a>       3if (get_useref"clapu="sref">co/copat_ioctl.pu="sref"L15(uIORa>, <2, 0x17ef clast_blkpg_iofloppyf__locke=daa>, ;
uIORa>, <2, 0x17ef clast_blkpg_iofloppy"sref">data), & 154<3a5       3="block/compat_ioctl.c#L336" i33s="sref">__usmmmmmmmmclapu="sref">co/copat_ioctl.pu="sref"L15(dato"+code=buflen" c irst_g_iof">dato"oppyf__locke=daa>, ;
dato"+code=buflen" c irst_g_iof">dato"oppy"sref">data), & 154<3a6       3if (__usmmmmmmmmclapu="sref">co/copat_ioctl.pu="sref"L15(, ;
data), & 154<3a>       3        return -get_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15(dato"+code=buflen" clast_g_iof">dato"oppyf__locke=daa>, ;
dato"+code=buflen" clast_g_iof">dato"oppy"sref">data), & 154<3a8struct 3put_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15(, ;
data), &er06" class="5ine" 50me="L154"> 154<3a9struct 3if (put_usef">Eclapu="sref">co/copat_ioctl.pu="sref"L15(, ;
data), & 154<3a>   uct 3f="block/compat_ioctl.c#3149" 34s5co="+code5arg" cliode_++8" class="5ine" 5ame="L148"> 14    3)=6" class="5ine" 51me="L106"> 106<3a>   uct 3f="block/compat_ioctl.c#3149" 34s5ct_ioctl.5EEEEEEEEEbreak6" class="5ine" 5ame="L106"> 10    3commmmmmmmm}" class="5ine" 51me="L154"> 15    3              t_ioctl.c#3145" 34ss="sreft  154<3a6       3if (datcINVAL="a>6" class="5ine" 51me="Leeeeeeeeeeeegotoput_usgned long) 15="sref">put_useffrea>, <2, 0x15ef cffrea"L15(g)t da5FDSETPRM ceser:a href="+5ode=v52me="L154"> 15return     3if ( da5FDGETPRM ceser:a href="+5ode=v52" claeeeeeeeeeeeegotocopat_ioctl.c#L14blkdev_class="="blo"L15(compat_bflopbdev href="+codeat_edevoctl.cput_user((<=co3pat_c32FAULT" m>(<=coppy"sref"_param/comm>(( 106<3a>           unsignednt cswitchopy_in_user(&ae5comclmpat5ioctl.c#Lf"L154" class="5ine" 52me="L154"> 158<3a8struct 3="block/compat_ioctl.c#L319" i31lass="sref">cswitchopy_in_user(&ae5at_ioctl.5#L327" i32"L107" class="5ine" 52me="L106"> 10">3a>       3 10">3a>       33a9struct 3nt  15">3a>       3datcNOMEM"L154" class="5ine" 5ame="L154"> 15">3a>       3da5FDGETPRM ceser8" class="5ine" 5ame="L148"> 14">3a>       3 15">3a>       3 15">3a>       3 15">3a>       3 15">3a>       3 10">3a>       3 E+code=get_u3er"HDIO_GET_BUS/a> Et_usgned long) 154<3a8strreturn     3if (copat_ioctl.c#L14hdio"="blo"L15((compat_alloc_ude=data" class="sref">data), &3a9struct 3nt  15">3a>       3 15">3a>       3cgcu32" clas3="sre351de=cmd"u32" t_usgned long)da5refmt_ga="L1584" class="5ine" 54me="L148"> 14">3a>       3 15">3a>       3 15">3a>       3 15">3a>       3cgc = datcFAULT"L154" class="5ine" 54me="L154"> 15">3a>       3cgc32 {nsigngned long) 10">3a>       3cdr{nsigned long)get_usef">E}" class="5ine" 5ame="L147"> 147<3a8strreturn     3if (copat_ioctl.c#L14fd"="blo"L15((compat_alloc_ude=data" class="sref">data), &p5t_usef">Ebreak6" class="5ine" 54" class="sref">3a9struct 3nt get}" class="5ine" 55me="L154"> 154<3a>   return     3if (copat_ioctl.c#L14cdrom_drsreaudio"L15((compat_alloc_ude=data" class="sref">data), &datFD5ETDRVPRM ceser:a href="+5ode=v55me="L154"> 15">3a>       3da5ETDRVPRM ceser:a href="+5ode=v55me="L154"> 154<3a>   return     3if (((compat_alloc_ude=data" class="sref">data), & 15/*54<3a>   * No hanaler required for the ones below, we just need to54<3a>   * convert  cl to a 64 bit polass=.54<3a>   */ 10">3a>       3p5 crawhred" c:2 class="li5e" na55me="L154"> 15/*54<3a>   * 0x03 -- HD/IDE ="blo's used by hdparm ana friends.54<3a>   *         Some need translatio+s, the3a>do not.da5erp_md" d" c:2 class="li5e" na56me="L54<3a>   */ 15">3a>       3bversrefL98" class="li5e" na56me="L154"> 15">3a>       3 15">3a>       3 15/* 0x330 is reserved -- it used to be HDIO_GETGEO_BIG */ 10">3a>0x330gned long)( 15/* 0x02 -- F>comp ="blos */p5ite_ id="e="a>6" class="5ine" 56" class="sref">3a9struct 3nt  15">3a>       36" class="5ine" 57me="L154"> 15">3a>       3SETEMSGTRESHclas3="sre351de=cSd"EMSGTRESH{nsigned long)da5d="_="+cmp="a>6" class="5ine" 57me="L148"> 14">3a>       3 15">3a>       3 15">3a>       3 15">3a>       3 15">3a>       3 10">3a>       3 10">3a>       3p5ef"_param/="a>c" class="5ine" 57" class="sref">3a9struct 3nt c" class="5ine" 58me="L154"> 15">3a>       3 15">3a>       3RESET+code=get_u3er"">RESET{nsigned long)da5ef"_ class="a>c" class="5ine" 58me="L148"> 14">3a>       3 15">3a>       3 15">3a>       3 15/* CDROM stuff */ 15">3a>       36" class="5ine" 58me="L106"> 10">3a>       36" class="5ine" 588e="L106"> 10">3a>       3p5tablo"L15[] ==3a9struct 3nt da5FDSETPRMass="}7" class="5ine" 59me="L154"> 15">3a>       3 15">3a>       3da5FDGETPRMass="}7" class="5ine" 59me="L148"> 14">3a>       3 15">3a>       3 15">3a>       3 15">3a>       3 15">3a>       3 10">3a>       3 10">3a>       3p5299" i29f">er06" class="5ine" 59" class="sref">3a9struct 3nt  15">3a>       3 15">3a>       3 14">3a>       3 15">3a>       3 15">3a>       3 US+code=get_u3er"CDROM_DISC_/a> US{nsigned long) 15">3a>       3 15">3a>       3 15/* Ignore cdrom.h about the3a>next 5 ="blos, they absolutely do54<3a>   * not take a ut_usercdrom_drsr, instrsr they take a ut_usercdrom_msfer06" class="6ine" 60me="L54<3a>   * which is 54<3a>   */ 15">3a>       3)= 14">3a>       36" class="6ine" 613e="L154"> 15">3a>       3 15">3a>       3commmmmmmmm}" class="6ine" 61me="L154"> 15">3a>       3 15/* DVD ="blos */datcINVAL="a>6" class="6ine" 61me="L106"> 10">3a>       3 10">3a>       33a9struct 3nt da6FDSETPRM ceser:a href="+6ode=v62me="L154"> 154<3a>   uct 3if (copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class="sref">data), & 15/* The3a>lasspret  cl as anLunsignednlong, not as a polass=,da6FDGETPRM ceser:a href="+6ode=v62me="L54<3a>   * so we must not do l.c#L140"p() conversio+. */ 15">3a>       3 15">3a>       3 15">3a>       3 15">3a>       3 10">3a>       3 10">3a>       33a9struct 3nt  15">3a>       3datcNOMEM"L154" class="6ine" 6ame="L154"> 15">3a>       3da6FDGETPRM ceser8" class="6ine" 6ame="L148"> 14">3a>       3 15">3a>       3 E+code=get_u3er"HDIO_SET_BUS/a> Et_usgned long) 15">3a>       3 15">3a>       3 15">3a>       3 10">3a>       3 10">3a>       33a9struct 3nt 84" class="6ine" 64me="L154"> 15">3a>       3 15">3a>       3 US+code=get_u3er"CDROM_DRIVE_/a> USt_usgned long)da6refmt_ga="L1584" class="6ine" 64me="L148"> 14">3a>       3 15">3a>       3 1555555555uct 3f="block/compat_ioctl.c#3149" 34s6pat_ioctl6c#L16/co"L151s 15defaultgned long)datcFAULT"L154" class="6ine" 64me="L154"> 154<3a6    spanL140"pa"TDRment">/* unknown ="blo number */ 154<3a>   return  href="+code=compNOIOCTLCMD+code=get_u3er"pNOIOCTLCMDe="Lf="block/compat_ioctl.c#3149" 34s6p_ioctl.c6f">get_usef">E}" class="6ine" 6ame="L147"> 14    3p6t_usef">Ebreak6" class="6ine" 64" cla   3get}" class="6ine" 65me="L154"> 15return     3if (copat_ioct_"blkdev_class="="bloa"L15ass="sref">compbdev href="+codeat_edevoctl.cput_user(((compat_alloc_ude=data" class="sref">data), &datFD6ETDRVPRM ceser:a href="+6ode=v65me="L    3da6ETDRVPRM ceser:a href="+6ode=v65" claeeeeeeeeeeeegoto/* Most of the  eneric ="blos are hanaled in the .7rmap flilback hreh.5454copat_ioctl.c#L14blkdev_="bloa"L15ut_user(cswitchopy_in_user(&ae6m34ss="sr6"srref"eseL98" class="li6e" na658e="L106"> 10inint p6 crawhred" c:2 class="li6e" na65me="L154"> 15ut_user((((((put_usef">Ec il 15ut_user(compat_bflopbdev href="+codeat_edevoctl1ref">put_usef">Ecin>((datFD6onfigurid" c:1 class="li6e" na661e="L154"> 15ut_user(compat_bflopdis href="+codeat_idis oppy"ref">put_usef">Ecbdev href="+codeat_edevoctlved" code="a>t-&gbd_dis href="+codeat_ibd_dis e="Lf="block/compat_ioctl.c#3149" 34s6psref">da6erp_md" d" c:2 class="li6e" na66me="L148"> 14code="a>t-&g m>(<=co3pat_c32FAULT" m>(<=coppy"sref"_param/comm>((put_usef">Ec il( 15ut_user(copat_ioctmackin__dev_=nfooppy"ef">compat_bflopbdihref="+codeat_ibdie="Lf="block/compat_ioctl.c#3149" 34s6ppat_ioct6">bversrefL98" class="li6e" na66me="L154"> 15f">compat_bfloploff=co3pat_c32FAULT"loff=coppy"sref"_param/comid="o3pat_c32FAULT"id="e="Lf="block/compat_ioctl.c#3149" 34s6pat_ioctl6srtrack"L15[417" class="6ine" 66me="L="block/compat_ioctl.c#3149" 34s6pss="sref62er" c26d="L106" class="6ine" 66me="L154"> 15/*54<3a>   * O_NDELAY canLbe altered usin_ fcntl(.., F_SETFL, ..)efio we have(54<3a>   * to updated itLbefore everp ="blo.p6ite_ id="e="a>6" class="6ine" 66me="L54<3a>   */ 15    3               il 154<3a>   uct 3if (((put_usef">EcFMODE_NDELAY<2, 0x17ef clasFMODE_NDELAYe="Lf="block/compat_ioctl.c#3149" 34s68sref">da6d="_="+cmp="a>6" class="6ine" 67me="L148"> 14else="block/compat_ioctl.c#3149" 34s68ode=rese6ass="ahref="a>6" class="6ine" 67me="L106"> 106<3a>   uct 3if (((put_usef">EcFMODE_NDELAY<2, 0x17ef clasFMODE_NDELAYe="Lf="block/compat_ioctl.c#3149" 34s68pat_ioct6"srcadnese="a>6" class="6ine" 67me="L="block/compat_ioctl.c#3149" 34s68at_ioctl6275" i2="L17506" class="6ine" 67me="L154"> 158<3a8struct 3="block/compat_ioctl.c#L319" i31lass="sref">cswitchopy_in_user(&ae68ss="sref6__2lkdev27"L146" class="6ine" 67me="L154"> 15">3a>       3 154<3a>   return t copat_ioctl.c#L14hdio"getgeoa"L15ass="sref">compdis href="+codeat_idis oppy, ass="sref">compbdev href="+codeat_edevoctl.cput_user(copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class=""sref">data), & 10">3a>       3p6ef"_param/="a>c" class="6ine" 67me="L154"> 154<3a9strreturn t copat_ioctl.c#L140u="sinia"L15ass="sref">compat_alloc_ude=data" class=, ass="sref">compbdev_physical_eegot_id="o3pat_c32FAULT"bdev_physical_eegot_id="a"L15ass="sref">compbdev href="+codeat_edevoctl""sref">data), &c" class="6ine" 68me="L154"> 15">3a>       3 154<3a>   return t copat_ioctl.c#L140u="sinia"L15ass="sref">compat_alloc_ude=data" class=, ass="sref">compbdev_io"mi+code=buflen" clbdev_io"mi+a"L15ass="sref">compbdev href="+codeat_edevoctl""sref">data), &da6ef"_ class="a>c" class="6ine" 68me="L148"> 14">3a>       3 106<3a>   return t copat_ioctl.c#L140u="sinia"L15ass="sref">compat_alloc_ude=data" class=, ass="sref">compbdev_io"opiref">copat_ioctbdev_io"opia"L15ass="sref">compbdev href="+codeat_edevoctl""sref">data), & 15">3a>       3 156<3a>   return t copat_ioctl.c#L140u="inia"L15ass="sref">compat_alloc_ude=data" class=, ass="sref">compbdev_alignment_offsetalloc_ude=data"bdev_alignment_offseta"L15ass="sref">compbdev href="+codeat_edevoctl""sref">data), & 15">3a>       36" class="6ine" 68me="L154"> 154<3a>   return t copat_ioctl.c#L140u="sinia"L15ass="sref">compat_alloc_ude=data" class=, ass="sref">compbdev_discard_zeroes_dataalloc_ude=data"bdev_discard_zeroes_dataa"L15ass="sref">compbdev href="+codeat_edevoctl""sref">data), &6" class="6ine" 688e="L106"> 10">3a>       3p6tablo"L15[] ==3a9struct 3nt da6FDSETPRMass="}7" class="6ine" 69me="L154"> 15">3a>       3 15">3a>       3da6FDGETPRMass="}7" class="6ine" 69me="L148"> 14/*54<3a>   * the ones below are implemented in blkdev_egotedf="blo,54<3a>   * but we call blkdev_="blo, which gets the egot for us54<3a>   */ 15">3a>       3 154<3a>   return t copat_ioctblkdev_="bloa"L15ass="sref">compbdev href="+codeat_edevoctl.cput_user((( 147<3a8strrrrrrrrrrrrrrrrr(unsignednlong)="block/compat_TDRVPRM="sref">copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class=""sref">data), &p6299" i29f">er06" class="6ine" 69" class="sref">3a9struct 3nt  154<3a>   return     3if (copat_ioctblkdev_="bloa"L15ass="sref">compbdev href="+codeat_edevoctl.cput_user((( 154<3a>   rrrrrrrrrrrrrrrr(unsignednlong)="block/compat_TDRVPRM="sref">copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class=""sref">data), & 14">3a>       3 106<3a>   return t copat_ioctl.c#L14blkpg_="bloa"L15ass="sref">compbdev href="+codeat_edevoctl.cput_user((((copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class=""sref">data), & 15">3a>       3 15">3a>       3 154<3a6       !ass="sref">compat_alloc_ude=data" class="ned long) 154<3a>   6<3a>   return  href="+code=compINVAL="+cod2e=put2uspINVALe="Lf="block/compat_ioctl.c#3149" 34s7a8_ioctl.7#ERRORGETass="}" class="7ine" 70me="L147"> 147<3a8strf">compat_bflopbdihref="+codeat_ibdie="L"ref">put_usef">Ecblk"get_mackin__dev_=nforef">copat_ioctmlk"get_mackin__dev_=nfoa"L15ass="sref">compbdev href="+codeat_edevoctl"f="block/compat_ioctl.c#3149" 34s7a9_ioctl.7#99" i29f">er06" class="7ine" 70me="L154"> 154<3a9str    3              bdihref="+codeat_ibdie="L"rref">put_usef">EcNULL="+cod2e=put2usNULLass="ned long) 154<3a>   6<3a>   return  href="+code=compNOTTY+code=get_u3er"pNOTTYe="Lf="block/compat_ioctl.c#3149" 34s7co="+code7arg" cliode_++8" class="7ine" 71me="L154"> 154<3a>   return t copat_ioctl.c#L140u="longa"L15ass="sref">compat_alloc_ude=data" class=,="block/compat_ioctl.c#3149" 34s7c2ioctl.c7ss="md=r="a>)= 154<3a>                           3              bdihref="+codeat_ibdie="Lved" code="a>t-&gra_page <2, 0x17ef clasra_page e="L1* t 6" class="7ine" ="a>6" class="5ineS4>   retur4="Lf="block/compa4DROMVOLCTRL="+cod2a4="Lf="="}7" ="Lf="block/compa4DROMVOLCTRL="+cod2a4="L6et_uEf="="Lf="block/compa4DROMVOLCTR17>put_loppy"s5ef"_para/compa4DROMVOLCTR17>put_loppy"s5ef"_paraompa4DROMVOLCTRL="+cod2a4="Lf="="}7" ="67" class="53mpa4rrrrrrrrrrrr(unsignednlong)="block/compat_TDRVPRM="sref">copat_iocyeroes_dataalloc_ude=opat_iocy__dev_=nfoa"L15ass="sref">compbdev href="+codeat != 0lass=/ 512"f="block/compat_ioctl.c#3class="s7e5ioctl.c6f">commmmmmmmm7" cla7s="6ine" 61me="L154"> 15">3a>     =get_uGa hBLKBSZSET_32+code=get_uGer"BLKBSZS+cod2a4="Lf="="}7" ="Lf="bt_iwhich gg"bde ="blo cal_ (cf. =get_uGer)4DROMVOLCTRL="+cod2a4="L6et_uEf="="Lf="blockclass="s7e6ioctl.c6rg" clkass="sr7" cla71="7ine" 70me="L154"> t_loppy"s5ef"_paraompa4DROMVOLCTRL="+cod2a4="Lf="="}7" ="67" class="53mpa4rrrrrrrrrrrr(unsignednlong)="block/compat_TDRVPRM="srephysical_eegot_id="o3pat_physical_eegot_id="a"L15ass="sref">compbdev href="+codeat_edevoctl""sref">data), &<7="block/c7ass="sref6>datcINVAL="a>7" cla7s="6ine" 61me="L106"> 10">3a>     =get_uGerSECDISCARD+code=getu3er"BLKPB+cod2a4="Lf="="}7" ="Lf="bt_iw="blo eat_ee hardwnes sector cal_ DROMVOLCTRL="+cod2a4="L6et_uEf="="Lf="block149" 34s7e8_ioctl.6.c3L118"31"L177" cla71="5ine" 5ame="L147"> 147<3a8strreturn     3if (c gg"bdev_physical_eegot_id="o3pat_c32F gg"bdev_physical_eegot_id="a"L15ass="sref">compbdev href="+codeat_edevoctl""sref">data), &<7=149" 34s7e9_ioctl.6g" class="sr)=7a hre7="+6ode=v61" class="sref">3a9struc=get_u3GerSECDISCARD+code=get_u3Ger"BLKFRAGETt_usgned long)da6FDSETPRM ceser7a hre7="+6ode=v62me="L154"> 154<3a>   return t copat_ioctl.shorr140u="longa"L15ass="sref">compat_alloc_ude=data" class=,="block/compat_ioctl.c# href="+p7"o="+code6FDDEFPRM ceser7a hre72="7ine" 70me="L154"> 154<3a>   rrrrrrrrrrrrrrr"longa"L15ass="queue_max_sector-&gra_page <2, 0queue_max_sector-eegot_id="a"L15ass="srefat_ioqueueeegot_id="o3pat_c32Ft_ioqueueeegot_id="a"L15ass="sref">compbdev href="+codeat__edevoctl""sref">data), &<7="block/c7"sref">da6FDGETPRM ceser7a hre72="7ine" 70me="L148"> 14">3a>       3ROTAM_CLde=compINVAL="+co  3ROTAM_CLde"BLKFRAGETt_usgned long) 106<3a>   return t copat_ioctl.shorr140u="longa"L15ass="sref">compat_alloc_ude=data" class=,="block/compat_ioctl.c# /compa4DR=t_ioctl.6rved" code="a>7" cla72compa4DROMVOLCTR17>puuuuuuuuuuuuuuuuuuuuuuuuuu3a6       !ass="copaqueue_nonroment_offsetalloc_opaqueue_nonromeegot_id="a"L15ass="srefat_ioqueueeegot_id="o3pat_c32Ft_ioqueueeegot_id="a"L15ass="sref">compbdev href="+codeat__edevoctl""sref">data), &<7=class="s7=5_ioctl.6.c#L140"pa"L157" cla7s="6ine" 62me="L154"> 15">3a>     =get_  15">3a>     =get_u  154<3a6       !ass="capab         il 147<3a8s  6<3a>   return  href="ACCISCARDZEROES+code"ACCIS3er"pNOTTYe="Lf="block/compat_ioctl.c# class="s7t9_ioctl.6FP_KERNEL"L1487" cla72="7ine" 70me="L154"> 147<3a8strf">compat_bflopbdihref="+codeat_ibdie="L"ref">put_usef">Ecblk"get_mackin__dev_=nforef">copat_ioctmlk"get_mackin__dev_=nfoa"L15ass="sref">compbdev href="+codeat_edevoctl"f="block/compat_ioctl.c# class="s7t_ioctl.c6L148" k id="a>7" cla73"+6ode=v62me="L154"> 154<3a9str    3              bdihref="+codeat_ibdie="L"rref">put_usef">EcNULL="+cod2e=put2usNULLass="ned long)datcNOMEM"L157" cla73="7ine" 70me="L154"> 154<3a>   6<3a>   return  href="+code=compNOTTY+code=get_u3er"pNOTTYe="Lf="block/compat_ioctl.c# class="s7tsref">da6FDGETPRM ceser7" cla73"+7ode=v71me="L154">           3              bdihref="+codeat_ibdie="Lved" code="a>t-&gra_page <2, 0x17ef clasra_=4<3a9str    3    if ( 106<3a>0pNOTTYe="Lf="block/compat_ioctl.c# /compa4DRtt_ioctl.6l.c#Loa>)ode_87" cla7s="6ine" 6ame="L154"> 15">3a>     =geGerAGE_CACHE_SIZE+code=geGerAGE_TRL="RL="+cod2a4="L6et_uEf="="Lf="bloc class="s7t5_ioctl.6class="+c"L1187" cla73="6ine" 68me="L154"> "> 15">3a>     _param/comid="o3pat_c32FAULt_edevoctl1ref">putical_=opatam/comid="o3pattical_=opat__dev_=nfoa"L15ass="sref">compbdev href="+codeat_edevoctlved" code="a>t_usef">Ecin>(t_useodeat_edevoctl"f="block/compat_ioctl.c# class="s7t6ioctl.c6g" clheaf"L1187" cla73="7ine" 70me="L154"> 154 154<3a>   6<3a>   return  href="FBIa hrefBLKPGclas3"FBIaCACHpNOTTYe="Lf="block/compat_ioctl.c# 149" 34s7t_ioctl.c6ss=cletch"L1187" cla73="5ine" 5ame="L147"> 147<3a8strreturn     3if (copat_ioctlu.c#L140u="longa"L15ass="sref">compat_alloc_ude=dat "> 15">3a>     _param/comid="o3pat_c32FAULt_ede_ede 9)pNOTTYe="Lf="block/compat_ioctl.c# class="s7t9_ioctl.6s="srega="L1187" cla73="6ine" 64" cla   387" cla7s="6ine" 64me="L154"> 15">3a>     =geGerAGE_64hBLKBSZSET_32+code=geGerAGE_64hBLTRL="RL="+cod2a4="L6et_uEf="="Lf="bloc class="s7zo="+code6classpec1"L1587" cla74="6ine" 68me="L154"> 154<3a>   return t copat_ioctlu"li6e"="longa"L15ass="sref">compat_alloc_ude=dat "> 15">3a>     tical_=opatam/comid="o3pattical_=opat__dev_=nfoa"L15ass="sref">compbdev href="+codeat_edevoctlved" code="a>t_usef">Ecin>(t_useodeat)pNOTTYe="Lf="block/compat_ioctl.c# class="s7zsref">da6refmt_ga="L1587" cla74"+6ode=v65" claeeeeeeeeeeeegoto 15">3a>     =geTRAC3er"UPBLKBSZSET_32+code=geTRAC3er"UPBLTRL="RL="+cod2a4="L6et_uEf="="Lf="bloc /compa4DRzt_ioctl.6ved" code="a>87" cla74="6ine" 6ame="L154"> 15">3a>     =geTRAC3ehrefCDROMSTART+code=geTRAC3ehrefTRL="+cod2a4="Lf="="}7" ="Lf="block/compa4DROMVOLCTRL="+cod2a4="L6et_uEf="="Lf="bloc3149" 34s7pat_ioctl6c#L16/co"L151s7a hre74="6ine" 62me="L154"> 15">3a>     =geTRAC3ehrefCDROMSTOP="+co=geTRAC3ehreTRL="++cod2a4="Lf="="}7" ="Lf="block/compa4DROMVOLCTRL="+cod2a4="L6et_uEf="="Lf="bloc3class="s7ass="sref6>datcFAULT"L157" cla74="6ine" 62me="L154"> 15">3a>     =geTRAC3TEARDOWrefBLKIOMINode=err2TRAC3TEARDOWrTRL="+cod2a4="Lf="="}7" ="Lf="block/compa4DROMVOLCTRL="+cod2a4="L6et_uEf="="Lf="bloc3"block/c7compat_io6tl.c#L1id="L117" cla7s="6ine" 64me="L154"> ie="Lved" code="ref="+codretalloc_ude=data"bdie="L"ref">put_ustrace hreblkdev_="bloref">copstrace hrebllkpg_="bloa"L15ass="sref">compbdev href="+codeat_edevoctl.cput_uhref="+codepat_ioctl.c#L319" i31las,cput_user(copat_ioctl.c#L140"pa"L15ass="sref">compat_alloc_ude=data" class=""sref">data), &get_usef">E7" cla74="5ine" 5ame="L147"> 147<3a8strreturn     3"ref="+codretalloc_ude=da" class=""sref">data), &p6t_usef">Ebreak7" cla74="7ine" 70me="L154"> 15defaultgned long)get7" cla75"+6ode=v62me="L154"> 154<3a9str    3    sref">compdis href="+codeatT" ilcopat_ihrebllkpgusNULLass="ned long)datFD6ETDRVPRM ceser7a hre75="7ine" 70me="L154"> 154<3a> ie="Lved" code="ref="+codretalloc_ude=data"bdie="L"ref">pusref">compdis href="+codeatT" ilcopat_ihrebllkpg_="bloa"L15ass="sref">compbdev href="+codeat_edevoctl.cput_user(((compat_alloc_ude=data" class="sref">data), &<7at_in3_t"7=sref">da6ETDRVPRM ceser7a hre75"+7ode=v71me="L154"> 154<3a9str    3    "ref="+codretalloc_ude=dataa"retass= =  href="+code=compNOIOCTLCMD+code=get_u3er"pNOIOusNULLass="ned long) 154<3a> ie="Lved" code="ref="+codretalloc_ude=data"bdie="L"ref">pucopat_iocta hre_"blkdev_class="="bloref">copat_iocta hre_"blkdev_cllkpg_="bloa"L15ass="sref">compbdev href="+codeat_edevoctl.cput_user(((compat_alloc_ude=data" class="sref">data), &<7a/compa4DRmpat_ioct6.c#L140"pa"L157" cla75compa4DROMVOLCTR17>put_loppy"s5ef"_paraompa"ref="+codretalloc_ude=da" class=""sref">data), &


T<3a>riginal LXR softwnes bywhichv65me="L http://sourcdatege.net/projects/lxr">LXR "}7"unityc#L319tmentexperi" ="al 40"p() bywv65me="L mailto:lxr@c#Lux.no">lxr@c#Lux.noc#L3.
lxr.c#Lux.no kindly _udeed bywv65me="L http://www.redpill-c#Lpro.no">Redpill L#Lpro ASc#L319providert">/L#Luxc#L1s4">alteand oper/coL1s sert_ees since 1995.