summaryrefslogtreecommitdiffstats
path: root/include/asm-um
struct ci class='ls-blob h' href='/cgit/cgit.cgi/litmus-rt-budgetable-locks.char*full_path = NULL;char*tmp_path = NULL;char* tmpbuffer;unsigned char* referrals = NULL;int num_referrals =0;int len; __u16 fid; xid =GetXid(); cifs_sb =CIFS_SB(inode->i_sb); pTcon = cifs_sb->tcon;/* BB would it be safe against deadlock to grab this sem even though rename itself grabs the sem and calls lookup? *//* down(&inode->i_sb->s_vfs_rename_sem);*/ full_path =build_path_from_dentry(direntry);/* up(&inode->i_sb->s_vfs_rename_sem);*/if(full_path == NULL) {FreeXid(xid);return-ENOMEM;}cFYI(1,("Full path: %s inode = 0x%p pBuffer = 0x%p buflen = %d", full_path, inode, pBuffer, buflen));if(buflen > PATH_MAX) len = PATH_MAX;else len = buflen; tmpbuffer =kmalloc(len,GFP_KERNEL);if(tmpbuffer == NULL) {if(full_path)kfree(full_path);FreeXid(xid);return-ENOMEM;}/* BB add read reparse point symlink code and Unix extensions symlink code here BB */if(cifs_sb->tcon->ses->capabilities & CAP_UNIX) rc =CIFSSMBUnixQuerySymLink(xid, pTcon, full_path, tmpbuffer, len -1, cifs_sb->local_nls);else{ rc =CIFSSMBOpen(xid, pTcon, full_path, FILE_OPEN, GENERIC_READ, OPEN_REPARSE_POINT,&fid, &oplock, NULL, cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);if(!rc) { rc =CIFSSMBQueryReparseLinkInfo(xid, pTcon, full_path, tmpbuffer, len -1, fid, cifs_sb->local_nls);if(CIFSSMBClose(xid, pTcon, fid)) {cFYI(1,("Error closing junction point (open for ioctl)"));}if(rc == -EIO) {/* Query if DFS Junction */ tmp_path =kmalloc(MAX_TREE_SIZE + MAX_PATHCONF +1, GFP_KERNEL);if(tmp_path) {strncpy(tmp_path, pTcon->treeName, MAX_TREE_SIZE);strncat(tmp_path, full_path, MAX_PATHCONF); rc =get_dfs_path(xid, pTcon->ses, tmp_path, cifs_sb->local_nls,&num_referrals, &referrals, cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);cFYI(1,("Get DFS for %s rc = %d ",tmp_path, rc));if((num_referrals ==0) && (rc ==0)) rc = -EACCES;else{cFYI(1,("num referral: %d",num_referrals));if(referrals) {cFYI(1,("referral string: %s ",referrals));strncpy(tmpbuffer, referrals, len-1);}}if(referrals)kfree(referrals);kfree(tmp_path);}/* BB add code like else decode referrals then memcpy to tmpbuffer and free referrals string array BB */}}}/* BB Anything else to do to handle recursive links? *//* BB Should we be using page ops here? *//* BB null terminate returned string in pBuffer? BB */if(rc ==0) { rc =vfs_readlink(direntry, pBuffer, len, tmpbuffer);cFYI(1,("vfs_readlink called from cifs_readlink returned %d", rc));}if(tmpbuffer) {kfree(tmpbuffer);}if(full_path) {kfree(full_path);}FreeXid(xid);return rc;}voidcifs_put_link(struct dentry *direntry,struct nameidata *nd){char*p =nd_get_link(nd);if(!IS_ERR(p))kfree(p);}
ModeNameSize
-rw-r--r--a.out.h392logstatsplainblame
-rw-r--r--alternative-asm.i109logstatsplainblame
-rw-r--r--alternative.h97logstatsplainblame
-rw-r--r--apic.h48logstatsplainblame
-rw-r--r--archparam-i386.h686logstatsplainblame
-rw-r--r--archparam-ppc.h144logstatsplainblame
-rw-r--r--archparam-x86_64.h625logstatsplainblame
-rw-r--r--atomic.h204logstatsplainblame
-rw-r--r--auxvec.h52logstatsplainblame
-rw-r--r--bitops.h82logstatsplainblame
-rw-r--r--boot.h76logstatsplainblame
-rw-r--r--bug.h76logstatsplainblame
-rw-r--r--bugs.h72logstatsplainblame
-rw-r--r--byteorder.h91logstatsplainblame
-rw-r--r--cache.h444logstatsplainblame
-rw-r--r--cacheflush.h94logstatsplainblame
-rw-r--r--calling.h167logstatsplainblame
-rw-r--r--checksum.h86logstatsplainblame
-rw-r--r--plainblame
-rw-r--r--elf-ppc.h1099logstatsplainblame
-rw-r--r--elf-x86_64.h2725logstatsplainblame
mp;id=cec744fb2b78e9dcd377a6740f2de05227c7faef'>logstatsplainblame -rw-r--r--ioctl.h79logstatsplainblame -rw-r--r--ioctls.h82logstatsplainblame -rw-r--r--ipc.h29logstatsplainblame -rw-r--r--ipcbuf.h82logstatsplainblame -rw-r--r--irq.h429logstatsplainblame -rw-r--r--irq_regs.h34logstatsplainblame -rw-r--r--irq_vectors.h515logstatsplainblame -rw-r--r--irqflags.h77logstatsplainblame -rw-r--r--kdebug.h32logstatsplainblame -rw-r--r--keyboard.h88logstatsplainblame -rw-r--r--kmap_types.h490logstatsplainblame -rw-r--r--ldt.h901logstatsplainblame -rw-r--r--linkage.h202logstatsplainblame -rw-r--r--local.h79logstatsplainblame -rw-r--r--locks.h79logstatsplainblame -rw-r--r--mca_dma.h85logstatsplainblame -rw-r--r--mman.h76logstatsplainblame -rw-r--r--mmu.h514logstatsplainblame -rw-r--r--mmu_context.h2379logstatsplainblame -rw-r--r--module-generic.h98logstatsplainblame -rw-r--r--module-i386.h196logstatsplainblame -rw-r--r--module-x86_64.h638logstatsplainblame -rw-r--r--msgbuf.h82logstatsplainblame -rw-r--r--mtrr.h76logstatsplainblame -rw-r--r--mutex.h308logstatsplainblame -rw-r--r--namei.h79logstatsplainblame -rw-r--r--page.h3507logstatsplainblame -rw-r--r--page_offset.h38logstatsplainblame -rw-r--r--param.h376logstatsplainblame -rw-r--r--paravirt.h88logstatsplainblame -rw-r--r--pci.h120logstatsplainblame -rw-r--r--pda.h636logstatsplainblame -rw-r--r--percpu.h82logstatsplainblame -rw-r--r--pgalloc.h1660logstatsplainblame -rw-r--r--pgtable-2level.h1577logstatsplainblame -rw-r--r--pgtable-3level.h3471logstatsplainblame -rw-r--r--pgtable.h11516logstatsplainblame -rw-r--r--poll.h76logstatsplainblame -rw-r--r--posix_types.h97logstatsplainblame -rw-r--r--prctl.h79logstatsplainblame -rw-r--r--processor-generic.h3003logstatsplainblame -rw-r--r--processor-i386.h1901logstatsplainblame -rw-r--r--processor-ppc.h206logstatsplainblame -rw-r--r--processor-x86_64.h1258logstatsplainblame -rw-r--r--ptrace-generic.h1549logstatsplainblame -rw-r--r--ptrace-i386.h2396logstatsplainblame -rw-r--r--ptrace-x86_64.h2687logstatsplainblame -rw-r--r--required-features.h172logstatsplainblame -rw-r--r--resource.h88logstatsplainblame -rw-r--r--rwlock.h82logstatsplainblame -rw-r--r--rwsem.h83logstatsplainblame -rw-r--r--scatterlist.h97logstatsplainblame -rw-r--r--sections.h122logstatsplainblame -rw-r--r--segment.h246logstatsplainblame -rw-r--r--semaphore.h91logstatsplainblame -rw-r--r--sembuf.h82logstatsplainblame -rw-r--r--serial.h82logstatsplainblame -rw-r--r--setup.h234logstatsplainblame -rw-r--r--shmbuf.h82logstatsplainblame -rw-r--r--shmparam.h88logstatsplainblame -rw-r--r--sigcontext-generic.h110logstatsplainblame -rw-r--r--sigcontext-i386.h107logstatsplainblame -rw-r--r--sigcontext-ppc.h150logstatsplainblame -rw-r--r--sigcontext-x86_64.h546logstatsplainblame -rw-r--r--siginfo.h85logstatsplainblame -rw-r--r--signal.h746logstatsplainblame -rw-r--r--smp.h567logstatsplainblame -rw-r--r--socket.h82logstatsplainblame -rw-r--r--sockios.h85logstatsplainblame -rw-r--r--spinlock.h88logstatsplainblame -rw-r--r--spinlock_types.h106logstatsplainblame -rw-r--r--stat.h76logstatsplainblame -rw-r--r--statfs.h80logstatsplainblame -rw-r--r--string.h109logstatsplainblame -rw-r--r--suspend.h54logstatsplainblame -rw-r--r--system-generic.h1379logstatsplainblame -rw-r--r--system-i386.h99logstatsplainblame -rw-r--r--system-ppc.h178logstatsplainblame -rw-r--r--system-x86_64.h537logstatsplainblame -rw-r--r--termbits.h88logstatsplainblame -rw-r--r--termios.h85logstatsplainblame -rw-r--r--thread_info.h2658logstatsplainblame -rw-r--r--timex.h170logstatsplainblame -rw-r--r--tlb.h73logstatsplainblame -rw-r--r--tlbflush.h1484logstatsplainblame -rw-r--r--topology.h97logstatsplainblame -rw-r--r--types.h79logstatsplainblame -rw-r--r--uaccess.h2504logstatsplainblame -rw-r--r--ucontext.h94logstatsplainblame -rw-r--r--unaligned.h91logstatsplainblame -rw-r--r--unistd.h1159logstatsplainblame -rw-r--r--user.h76logstatsplainblame -rw-r--r--vga.h73logstatsplainblame -rw-r--r--vm-flags-i386.h311logstatsplainblame -rw-r--r--vm-flags-x86_64.h925logstatsplainblame -rw-r--r--vm86.h76logstatsplainblame -rw-r--r--xor.h76logstatsplainblame